Re: [PATCH] usb: xhci: fix incorrect memset()

From: Arnd Bergmann
Date: Mon Dec 11 2017 - 12:05:40 EST


On Mon, Dec 11, 2017 at 6:01 PM, Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> On Mon, Dec 11, 2017 at 02:59:13PM +0200, Mathias Nyman wrote:
>> On 11.12.2017 13:27, Arnd Bergmann wrote:
>> > gcc-8 warnings about the new driver using a memset with a bogus length:
>> >
>> > drivers/usb/host/xhci-dbgcap.c: In function 'xhci_dbc_eps_exit':
>> > drivers/usb/host/xhci-dbgcap.c:369:2: error: 'memset' used with length equal to number of elements without multiplication by element size [-Werror=memset-elt-size]
>> >
>> > It looks like the author meant to use sizeof() rather than ARRAY_SIZE()
>> > here, so use that.
>> >
>> > Fixes: dfba2174dc42 ("usb: xhci: Add DbC support in xHCI driver")
>> > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>> > ---
>>
>> Another patch to fix the same thing was sent earlier as a follow up to the original series.
>> https://marc.info/?l=linux-usb&m=151298133524873&w=2
>>
>> But your patch includes the Fixes line with the commit id, which is nice.
>>
>> Both fix the problem, It doesn't matter for me which one gets applied
>
> They fix it in different ways, which is correct?

Both are correct, 'sizeof(dbc->eps)' is the same as 'sizeof(struct
dbc_ep) * ARRAY_SIZE(dbc->eps)'.

> And Arnd probably doesn't have the hardware to do so?

Right.

Arnd