lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <f984c9e0-e0b6-b6b9-0491-92c64363ad47@linux.intel.com> Date: Tue, 12 Dec 2017 12:47:34 +0200 From: Mathias Nyman <mathias.nyman@...ux.intel.com> To: Arnd Bergmann <arnd@...db.de>, Greg Kroah-Hartman <gregkh@...uxfoundation.org> Cc: Mathias Nyman <mathias.nyman@...el.com>, Lu Baolu <baolu.lu@...ux.intel.com>, linux-usb@...r.kernel.org, Linux Kernel Mailing List <linux-kernel@...r.kernel.org> Subject: Re: [PATCH] usb: xhci: fix incorrect memset() On 11.12.2017 19:05, Arnd Bergmann wrote: > On Mon, Dec 11, 2017 at 6:01 PM, Greg Kroah-Hartman > <gregkh@...uxfoundation.org> 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@...db.de> >>>> --- >>> >>> 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. > Just to test and confirm boyh work I added a couple printk messages after memset() showing bytes zeroed and method used: # echo enabled > dbc # cat dbc enabled # [ 219.050277] xhci_hcd 0000:00:14.0: DbC connected [ 219.307250] xhci_hcd 0000:00:14.0: DbC configured [ 219.313601] xhci_hcd 0000:00:14.0: DbC now attached to /dev/ttyDBC0 # echo disabled > dbc [ 255.745590] xhci_hcd 0000:00:14.0: set 80 bytes to zero sizeof(struct dbc_ep) * ARRAY_SIZE(dbc->eps) [ 255.755970] xhci_hcd 0000:00:14.0: set 80 bytes to zero sizeof(dbc->eps) -Mathias
Powered by blists - more mailing lists