Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752360AbdLLKpG (ORCPT ); Tue, 12 Dec 2017 05:45:06 -0500 Received: from mga18.intel.com ([134.134.136.126]:5581 "EHLO mga18.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750731AbdLLKpD (ORCPT ); Tue, 12 Dec 2017 05:45:03 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.45,394,1508828400"; d="scan'208";a="11187143" Subject: Re: [PATCH] usb: xhci: fix incorrect memset() To: Arnd Bergmann , Greg Kroah-Hartman Cc: Mathias Nyman , Lu Baolu , linux-usb@vger.kernel.org, Linux Kernel Mailing List References: <20171211112806.3415781-1-arnd@arndb.de> <70603a0e-15dd-8970-54c9-4f1ac1d005e2@linux.intel.com> <20171211170149.GD9454@kroah.com> From: Mathias Nyman Message-ID: Date: Tue, 12 Dec 2017 12:47:34 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1915 Lines: 49 On 11.12.2017 19:05, Arnd Bergmann wrote: > On Mon, Dec 11, 2017 at 6:01 PM, Greg Kroah-Hartman > 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 >>>> --- >>> >>> 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