From mboxrd@z Thu Jan 1 00:00:00 1970 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 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 From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: usb: xhci: fix incorrect memset() From: Mathias Nyman Message-Id: Date: Tue, 12 Dec 2017 12:47:34 +0200 To: Arnd Bergmann , Greg Kroah-Hartman Cc: Mathias Nyman , Lu Baolu , linux-usb@vger.kernel.org, Linux Kernel Mailing List List-ID: T24gMTEuMTIuMjAxNyAxOTowNSwgQXJuZCBCZXJnbWFubiB3cm90ZToKPiBPbiBNb24sIERlYyAx MSwgMjAxNyBhdCA2OjAxIFBNLCBHcmVnIEtyb2FoLUhhcnRtYW4KPiA8Z3JlZ2toQGxpbnV4Zm91 bmRhdGlvbi5vcmc+IHdyb3RlOgo+PiBPbiBNb24sIERlYyAxMSwgMjAxNyBhdCAwMjo1OToxM1BN ICswMjAwLCBNYXRoaWFzIE55bWFuIHdyb3RlOgo+Pj4gT24gMTEuMTIuMjAxNyAxMzoyNywgQXJu ZCBCZXJnbWFubiB3cm90ZToKPj4+PiBnY2MtOCB3YXJuaW5ncyBhYm91dCB0aGUgbmV3IGRyaXZl ciB1c2luZyBhIG1lbXNldCB3aXRoIGEgYm9ndXMgbGVuZ3RoOgo+Pj4+Cj4+Pj4gZHJpdmVycy91 c2IvaG9zdC94aGNpLWRiZ2NhcC5jOiBJbiBmdW5jdGlvbiAneGhjaV9kYmNfZXBzX2V4aXQnOgo+ Pj4+IGRyaXZlcnMvdXNiL2hvc3QveGhjaS1kYmdjYXAuYzozNjk6MjogZXJyb3I6ICdtZW1zZXQn IHVzZWQgd2l0aCBsZW5ndGggZXF1YWwgdG8gbnVtYmVyIG9mIGVsZW1lbnRzIHdpdGhvdXQgbXVs dGlwbGljYXRpb24gYnkgZWxlbWVudCBzaXplIFstV2Vycm9yPW1lbXNldC1lbHQtc2l6ZV0KPj4+ Pgo+Pj4+IEl0IGxvb2tzIGxpa2UgdGhlIGF1dGhvciBtZWFudCB0byB1c2Ugc2l6ZW9mKCkgcmF0 aGVyIHRoYW4gQVJSQVlfU0laRSgpCj4+Pj4gaGVyZSwgc28gdXNlIHRoYXQuCj4+Pj4KPj4+PiBG aXhlczogZGZiYTIxNzRkYzQyICgidXNiOiB4aGNpOiBBZGQgRGJDIHN1cHBvcnQgaW4geEhDSSBk cml2ZXIiKQo+Pj4+IFNpZ25lZC1vZmYtYnk6IEFybmQgQmVyZ21hbm4gPGFybmRAYXJuZGIuZGU+ Cj4+Pj4gLS0tCj4+Pgo+Pj4gQW5vdGhlciBwYXRjaCB0byBmaXggdGhlIHNhbWUgdGhpbmcgd2Fz IHNlbnQgZWFybGllciBhcyBhIGZvbGxvdyB1cCB0byB0aGUgb3JpZ2luYWwgc2VyaWVzLgo+Pj4g aHR0cHM6Ly9tYXJjLmluZm8vP2w9bGludXgtdXNiJm09MTUxMjk4MTMzNTI0ODczJnc9Mgo+Pj4K Pj4+IEJ1dCB5b3VyIHBhdGNoIGluY2x1ZGVzIHRoZSBGaXhlcyBsaW5lIHdpdGggdGhlIGNvbW1p dCBpZCwgd2hpY2ggaXMgbmljZS4KPj4+Cj4+PiBCb3RoIGZpeCB0aGUgcHJvYmxlbSwgSXQgZG9l c24ndCBtYXR0ZXIgZm9yIG1lIHdoaWNoIG9uZSBnZXRzIGFwcGxpZWQKPj4KPj4gVGhleSBmaXgg aXQgaW4gZGlmZmVyZW50IHdheXMsIHdoaWNoIGlzIGNvcnJlY3Q/Cj4gCj4gQm90aCBhcmUgY29y cmVjdCwgJ3NpemVvZihkYmMtPmVwcyknIGlzIHRoZSBzYW1lIGFzICdzaXplb2Yoc3RydWN0Cj4g ZGJjX2VwKSAqIEFSUkFZX1NJWkUoZGJjLT5lcHMpJy4KPiAKPj4gQW5kIEFybmQgcHJvYmFibHkg ZG9lc24ndCBoYXZlIHRoZSBoYXJkd2FyZSB0byBkbyBzbz8KPiAKPiBSaWdodC4KPiAKCkp1c3Qg dG8gdGVzdCBhbmQgY29uZmlybSBib3loIHdvcmsgSSBhZGRlZCBhIGNvdXBsZSBwcmludGsgbWVz c2FnZXMgYWZ0ZXIgbWVtc2V0KCkKc2hvd2luZyBieXRlcyB6ZXJvZWQgYW5kIG1ldGhvZCB1c2Vk OgoKIyBlY2hvIGVuYWJsZWQgPiBkYmMKIyBjYXQgZGJjCmVuYWJsZWQKIyBbICAyMTkuMDUwMjc3 XSB4aGNpX2hjZCAwMDAwOjAwOjE0LjA6IERiQyBjb25uZWN0ZWQKWyAgMjE5LjMwNzI1MF0geGhj aV9oY2QgMDAwMDowMDoxNC4wOiBEYkMgY29uZmlndXJlZApbICAyMTkuMzEzNjAxXSB4aGNpX2hj ZCAwMDAwOjAwOjE0LjA6IERiQyBub3cgYXR0YWNoZWQgdG8gL2Rldi90dHlEQkMwCgojIGVjaG8g ZGlzYWJsZWQgPiBkYmMKWyAgMjU1Ljc0NTU5MF0geGhjaV9oY2QgMDAwMDowMDoxNC4wOiBzZXQg ODAgYnl0ZXMgdG8gemVybyBzaXplb2Yoc3RydWN0IGRiY19lcCkgKiBBUlJBWV9TSVpFKGRiYy0+ ZXBzKQpbICAyNTUuNzU1OTcwXSB4aGNpX2hjZCAwMDAwOjAwOjE0LjA6IHNldCA4MCBieXRlcyB0 byB6ZXJvIHNpemVvZihkYmMtPmVwcykKCi1NYXRoaWFzCi0tLQpUbyB1bnN1YnNjcmliZSBmcm9t IHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUgbGludXgtdXNiIiBpbgp0aGUg Ym9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZnZXIua2VybmVsLm9yZwpNb3JlIG1ham9y ZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwK