|
Message-ID: <0323dcb2-726c-7ea2-8e8b-dba81090b571@linuxfoundation.org> Date: Mon, 22 Feb 2021 09:21:50 -0700 From: Shuah Khan <skhan@...uxfoundation.org> To: Romain Perier <romain.perier@...il.com>, Kees Cook <keescook@...omium.org>, kernel-hardening@...ts.openwall.com, Greg Kroah-Hartman <gregkh@...uxfoundation.org>, Valentina Manea <valentina.manea.m@...il.com>, Shuah Khan <shuah@...nel.org> Cc: linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org, Shuah Khan <skhan@...uxfoundation.org> Subject: Re: [PATCH 19/20] usbip: usbip_host: Manual replacement of the deprecated strlcpy() with return values On 2/22/21 8:12 AM, Romain Perier wrote: > The strlcpy() reads the entire source buffer first, it is dangerous if > the source buffer lenght is unbounded or possibility non NULL-terminated. > It can lead to linear read overflows, crashes, etc... > > As recommended in the deprecated interfaces [1], it should be replaced > by strscpy. > > This commit replaces all calls to strlcpy that handle the return values > by the corresponding strscpy calls with new handling of the return > values (as it is quite different between the two functions). > > [1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strlcpy > > Signed-off-by: Romain Perier <romain.perier@...il.com> > --- > drivers/usb/usbip/stub_main.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/usb/usbip/stub_main.c b/drivers/usb/usbip/stub_main.c > index 77a5b3f8736a..5bc2c09c0d10 100644 > --- a/drivers/usb/usbip/stub_main.c > +++ b/drivers/usb/usbip/stub_main.c > @@ -167,15 +167,15 @@ static ssize_t match_busid_show(struct device_driver *drv, char *buf) > static ssize_t match_busid_store(struct device_driver *dev, const char *buf, > size_t count) > { > - int len; > + ssize_t len; > char busid[BUSID_SIZE]; > > if (count < 5) > return -EINVAL; > > /* busid needs to include \0 termination */ > - len = strlcpy(busid, buf + 4, BUSID_SIZE); > - if (sizeof(busid) <= len) > + len = strscpy(busid, buf + 4, BUSID_SIZE); > + if (len == -E2BIG) > return -EINVAL; > > if (!strncmp(buf, "add ", 4)) { > Looks good to me. Thank you. Acked-by: Shuah Khan <skhan@...uxfoundation.org> thanks, -- Shuah
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.