Re: [PATCH -next] USB: core: Switch to use kmemdup_nul() helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2023/8/8 16:22, Greg KH wrote:
> On Mon, Aug 07, 2023 at 08:46:10PM +0800, Ruan Jinjie wrote:
>> Use kmemdup_nul() helper instead of open-coding it to simplify the code.
>>
>> Signed-off-by: Ruan Jinjie <ruanjinjie@xxxxxxxxxx>
>> ---
>>  drivers/usb/core/message.c | 3 +--
>>  1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c
>> index 0d2bfc909019..5762fd04f0d5 100644
>> --- a/drivers/usb/core/message.c
>> +++ b/drivers/usb/core/message.c
>> @@ -1029,10 +1029,9 @@ char *usb_cache_string(struct usb_device *udev, int index)
>>  	if (buf) {
>>  		len = usb_string(udev, index, buf, MAX_USB_STRING_SIZE);
>>  		if (len > 0) {
>> -			smallbuf = kmalloc(++len, GFP_NOIO);
>> +			smallbuf = kmemdup_nul(buf, len, GFP_NOIO);
>>  			if (!smallbuf)
>>  				return buf;
>> -			memcpy(smallbuf, buf, len);
> 
> But you changed the logic here, you now added an extra \0 where the
> existing code did not.  Are you sure you mean to do this?  If so, why,
> and it needs to be documented in the changelog text.

Right! There is a problem because of the ++len, and the logic has been
changed. Sorry, I'll carefully check the patches issued in the future.

> 
> What this could be is a call to kmemdup() if you really want it, but be
> careful about the ++len usage...
> 
> Also, does this need to be changed at all?  How was it tested?

It's best to keep it as it is. Sorry, just walk through the code.

> 
> thanks,
> 
> greg k-h



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux