Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp5757526pxb; Tue, 16 Feb 2021 06:58:58 -0800 (PST) X-Google-Smtp-Source: ABdhPJy/LKRkgx7i8pfwTgKAmCrvNWTbLxV7tUGmnrIJ4HZMU2qrcUVfXt+YRmyee3F/TU8bof7c X-Received: by 2002:a17:907:20a8:: with SMTP id pw8mr21260961ejb.9.1613487538130; Tue, 16 Feb 2021 06:58:58 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613487538; cv=none; d=google.com; s=arc-20160816; b=z+XFrtTv05JgLsX9IimIY3neSg/BTHG8mX+McI13o8KJdRpCqdfxWN0GS3Dmn6DJNw 6rlAaoOqrBueIAdv07p2kkcJit17FEjZAEan6p1g/FWvsVfD99zY49o+w6xs6plIasDs o4pVm5IZnV7yg+TLIRJiYeyivlX5v7lbkZ9MgWhZJLrrUVEeAedPwF8kNmXDz7UDIcMq +w8l0iMj2tgv1aVqwIfuUAgryaEVZmmziJtq6ftOarTcjhq+WawanjunsILlxm4+uOtU P3eXInW3Kn6TsbHHzp8L4+mYCOBYdpHKaXoD/EvF0i7CsGUO1KqkzqA0dxg5u09uD9C2 yiOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=0L3LUUd4CN2tocODr+9FJOieK/FWdEsnDt1BTgQNXTw=; b=wNGoL5kYwXkpHdFQj5NUUqvROk23lS981w7/DXq7SqTuLJbl4G1B2u/lVC2DK0XtAe yM0Pn/kOozn9jZmgNX+sfVAO6E/J+5M80qBNx8TlGACawuW/8z3m+WtIFvjkof9HkV4E Dd+QM194h7ug/Rznq+Ln81YDolURaj/UooohxESKTOat1vW3P+fVeEmn9B95k19WVcyJ fNz5+N2/pGfYnBG19CQPRgZ9fSelQhqWwcJfJYEpnxdjkOQD141h741iPx1xdaKcb09R kifIlkwUgT77hg+pBYzZPEXJ/L64Q65neEl5wB2EUErbmyx5g81+aQ8YmvBM3M/K7i64 OWTg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ieee.org header.s=google header.b=Iufza7OC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ieee.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id jr13si14925474ejb.269.2021.02.16.06.58.33; Tue, 16 Feb 2021 06:58:58 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@ieee.org header.s=google header.b=Iufza7OC; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ieee.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229827AbhBPOzo (ORCPT + 99 others); Tue, 16 Feb 2021 09:55:44 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57350 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230019AbhBPOzm (ORCPT ); Tue, 16 Feb 2021 09:55:42 -0500 Received: from mail-il1-x12b.google.com (mail-il1-x12b.google.com [IPv6:2607:f8b0:4864:20::12b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 22B7DC061756 for ; Tue, 16 Feb 2021 06:55:03 -0800 (PST) Received: by mail-il1-x12b.google.com with SMTP id a16so8493648ilq.5 for ; Tue, 16 Feb 2021 06:55:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ieee.org; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=0L3LUUd4CN2tocODr+9FJOieK/FWdEsnDt1BTgQNXTw=; b=Iufza7OCXAe9UVW0oYI17XE7VpPSXowcoZafTUF02MMumA7XJp0ZoetVtQ3PsYCWWe Zr1G4+kCX4mc8LI6YmNgY+RUQAYwnFVmOC0dHr8pxlcpfqr64GyKSfiERsxQoLqNyDJD WTZe+0OcPC4dsMztfh+85nt4N6c0nmgcFfPbs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=0L3LUUd4CN2tocODr+9FJOieK/FWdEsnDt1BTgQNXTw=; b=TBgkWEqpQXPLjBy8q2BYpeJz0Mlc6KAhHBFWCzUvp9DSY7jZX0wpO3vmbfZyJjEYLk hcbzcZa/KP/GeIKmSBAM/QKHD1iGSccayXhPMUgyEyOdImRkzKCAXemR01/L114JyUNT tk6uYM2vBw1Q6v9SyaAgPZWFSTu3EzS1TLlsqkCazPOmjQfaErqRPkXDzdvLXzXW61wg SHsegqaXYUUYJ7VWb8w1td1qE7SPQ+90bziaJSwZMyMA8+YfF9qrcpLoYAGMguNdYGvf dPlJrPdOftLLSNaHK2E2bBVQttdpr3csLwC9ynwcjbUoQwblbNrKjVTsSrTraEyYgnqU NiqA== X-Gm-Message-State: AOAM531oNmQhb/vIiX1V3LTU2GazSpIxKc1ywtO5dIaRfSjYidrmVEkl cqgHc1NBtOg1AQJcHqzAb+/tTw== X-Received: by 2002:a05:6e02:164c:: with SMTP id v12mr16847550ilu.49.1613487301947; Tue, 16 Feb 2021 06:55:01 -0800 (PST) Received: from [172.22.22.4] (c-73-185-129-58.hsd1.mn.comcast.net. [73.185.129.58]) by smtp.googlemail.com with ESMTPSA id g11sm874048iom.23.2021.02.16.06.55.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 16 Feb 2021 06:55:01 -0800 (PST) Subject: Re: [PATCH 02/13] staging: greybus: Switch from strlcpy to strscpy To: Kumar Kartikeya Dwivedi , devel@driverdev.osuosl.org, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org Cc: Ian Abbott , H Hartley Sweeten , Ioana Radulescu , Ioana Ciornei , Johan Hovold , Alex Elder , Vaibhav Agarwal , Mark Greer , Rui Miguel Silva , Viresh Kumar , Marc Dietrich , Jens Frederich , Daniel Drake , Jon Nettleton , Larry Finger , Florian Schilhabel , Sudip Mukherjee , Teddy Wang , Stephen Rothwell , Andrew Morton , Florian Fainelli , Al Viro , William Cohen , Mike Rapoport , Thomas Gleixner , Robert Richter , greybus-dev@lists.linaro.org, ac100@lists.launchpad.net, linux-tegra@vger.kernel.org, linux-fbdev@vger.kernel.org References: <20210131172838.146706-1-memxor@gmail.com> <20210131172838.146706-3-memxor@gmail.com> From: Alex Elder Message-ID: Date: Tue, 16 Feb 2021 08:54:59 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 MIME-Version: 1.0 In-Reply-To: <20210131172838.146706-3-memxor@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/31/21 11:28 AM, Kumar Kartikeya Dwivedi wrote: > strlcpy is marked as deprecated in Documentation/process/deprecated.rst, > and there is no functional difference when the caller expects truncation > (when not checking the return value). strscpy is relatively better as it > also avoids scanning the whole source string. > > This silences the related checkpatch warnings from: > 5dbdb2d87c29 ("checkpatch: prefer strscpy to strlcpy") > > Signed-off-by: Kumar Kartikeya Dwivedi This is a good change. But while you're at it, I would appreciate if you would convert a few spots to use sizeof(dest) rather than a fixed constant. I will point them out below. If this is the *only* request for a change on your series, please tell me that and I can sign off on this without you implementing my suggestion. But if you post a version 2, please do what I describe. Thanks. -Alex > --- > drivers/staging/greybus/audio_helper.c | 2 +- > drivers/staging/greybus/audio_module.c | 2 +- > drivers/staging/greybus/audio_topology.c | 6 +++--- > drivers/staging/greybus/power_supply.c | 2 +- > drivers/staging/greybus/spilib.c | 4 ++-- > 5 files changed, 8 insertions(+), 8 deletions(-) . . . > diff --git a/drivers/staging/greybus/audio_module.c b/drivers/staging/greybus/audio_module.c > index a243d60f0..0f9fdc077 100644 > --- a/drivers/staging/greybus/audio_module.c > +++ b/drivers/staging/greybus/audio_module.c > @@ -342,7 +342,7 @@ static int gb_audio_probe(struct gb_bundle *bundle, > /* inform above layer for uevent */ > dev_dbg(dev, "Inform set_event:%d to above layer\n", 1); > /* prepare for the audio manager */ > - strlcpy(desc.name, gbmodule->name, GB_AUDIO_MANAGER_MODULE_NAME_LEN); > + strscpy(desc.name, gbmodule->name, GB_AUDIO_MANAGER_MODULE_NAME_LEN); Please use this here instead: strscpy(desc.name, gbmodule->name, sizeof(desc.name)); > desc.vid = 2; /* todo */ > desc.pid = 3; /* todo */ > desc.intf_id = gbmodule->dev_id; > diff --git a/drivers/staging/greybus/audio_topology.c b/drivers/staging/greybus/audio_topology.c > index 662e3e8b4..e816e4db5 100644 > --- a/drivers/staging/greybus/audio_topology.c > +++ b/drivers/staging/greybus/audio_topology.c > @@ -200,7 +200,7 @@ static int gbcodec_mixer_ctl_info(struct snd_kcontrol *kcontrol, > return -EINVAL; > name = gbaudio_map_controlid(module, data->ctl_id, > uinfo->value.enumerated.item); > - strlcpy(uinfo->value.enumerated.name, name, NAME_SIZE); > + strscpy(uinfo->value.enumerated.name, name, NAME_SIZE); Please use this here instead: strscpy(uinfo->value.enumerated.name, name, sizeof(uinfo->valiue.enumerated.name)); (I know NAME_SIZE is used throughout this file, and could also be converted in this way, but we can save that for another patch.) > break; > default: > dev_err(comp->dev, "Invalid type: %d for %s:kcontrol\n", > @@ -1047,7 +1047,7 @@ static int gbaudio_tplg_create_widget(struct gbaudio_module_info *module, > } > > /* Prefix dev_id to widget control_name */ > - strlcpy(temp_name, w->name, NAME_SIZE); > + strscpy(temp_name, w->name, NAME_SIZE); Please use this here instead: strscpy(temp_name, w->name, sizeof(temp_name)); > snprintf(w->name, NAME_SIZE, "GB %d %s", module->dev_id, temp_name); > > switch (w->type) { > @@ -1169,7 +1169,7 @@ static int gbaudio_tplg_process_kcontrols(struct gbaudio_module_info *module, > } > control->id = curr->id; > /* Prefix dev_id to widget_name */ > - strlcpy(temp_name, curr->name, NAME_SIZE); > + strscpy(temp_name, curr->name, NAME_SIZE); Please use this here instead: strscpy(temp_name, curr->name, sizeof(temp_name)); > snprintf(curr->name, NAME_SIZE, "GB %d %s", module->dev_id, > temp_name); > control->name = curr->name; . . .