From: Kees Cook <keescook@chromium.org>
To: "Thomas Weißschuh" <thomas@t-8ch.de>
Cc: Justin Stitt <justinstitt@google.com>,
Jean Delvare <jdelvare@suse.com>,
Guenter Roeck <linux@roeck-us.net>,
linux-hwmon@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-hardening@vger.kernel.org
Subject: Re: [PATCH v2] hwmon: refactor deprecated strncpy
Date: Wed, 20 Sep 2023 08:35:31 -0700 [thread overview]
Message-ID: <202309200834.2D2F0777@keescook> (raw)
In-Reply-To: <987d843b-d451-4f85-85b2-00ec18c75cca@t-8ch.de>
On Tue, Sep 19, 2023 at 09:02:49AM +0200, Thomas Weißschuh wrote:
> On 2023-09-19 05:07:55+0000, Justin Stitt wrote:
> > `strncpy` is deprecated for use on NUL-terminated destination strings [1].
> >
> > A trailing zero is already handled by the kcalloc
> > | *str = kcalloc(element->string.length + 1, sizeof(u8), GFP_KERNEL);
> > ... which makes memcpy() a suitable replacement to strncpy.
> >
> > Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings [1]
> > Link: https://github.com/KSPP/linux/issues/90
> > Cc: linux-hardening@vger.kernel.org
> > Signed-off-by: Justin Stitt <justinstitt@google.com>
> > ---
> > Changes in v2:
> > - use memcpy over strscpy (thanks Kees)
> > - Link to v1: https://lore.kernel.org/r/20230914-strncpy-drivers-hwmon-acpi_power_meter-c-v1-1-905297479fe8@google.com
> > ---
> > drivers/hwmon/acpi_power_meter.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/hwmon/acpi_power_meter.c b/drivers/hwmon/acpi_power_meter.c
> > index fa28d447f0df..82e99aec4a33 100644
> > --- a/drivers/hwmon/acpi_power_meter.c
> > +++ b/drivers/hwmon/acpi_power_meter.c
> > @@ -803,7 +803,7 @@ static int read_capabilities(struct acpi_power_meter_resource *resource)
> > goto error;
> > }
> >
> > - strncpy(*str, element->string.pointer, element->string.length);
> > + memcpy(*str, element->string.pointer, element->string.length);
>
> Isn't this now essentially the same as kmemdup_nul()?
Ah, yeah, good catch. I should add a note that the reverse of strtomem()
is kmemdup_nul() :)
Justin, can you refactor this to use kmemdup_nul() instead?
-Kees
--
Kees Cook
prev parent reply other threads:[~2023-09-20 15:35 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-19 5:07 [PATCH v2] hwmon: refactor deprecated strncpy Justin Stitt
2023-09-19 7:02 ` Thomas Weißschuh
2023-09-20 15:35 ` Kees Cook [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202309200834.2D2F0777@keescook \
--to=keescook@chromium.org \
--cc=jdelvare@suse.com \
--cc=justinstitt@google.com \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=thomas@t-8ch.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.