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: [v2] USB: serial: io_edgeport: mark expected switch fall-throughs From: "Gustavo A. R. Silva" Message-Id: Date: Thu, 2 May 2019 09:28:37 -0500 To: Johan Hovold Cc: Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Kees Cook List-ID: T24gNS8yLzE5IDg6NTYgQU0sIEpvaGFuIEhvdm9sZCB3cm90ZToKPiBPbiBUaHUsIE1heSAwMiwg MjAxOSBhdCAwODoyMjozMEFNIC0wNTAwLCBHdXN0YXZvIEEuIFIuIFNpbHZhIHdyb3RlOgo+Pgo+ Pgo+PiBPbiA1LzIvMTkgNToyNiBBTSwgSm9oYW4gSG92b2xkIHdyb3RlOgo+Pj4gT24gV2VkLCBN YXkgMDEsIDIwMTkgYXQgMDQ6MzM6MjlQTSAtMDUwMCwgR3VzdGF2byBBLiBSLiBTaWx2YSB3cm90 ZToKPj4+PiBJbiBwcmVwYXJhdGlvbiB0byBlbmFibGluZyAtV2ltcGxpY2l0LWZhbGx0aHJvdWdo LCBtYXJrIHN3aXRjaAo+Pj4+IGNhc2VzIHdoZXJlIHdlIGFyZSBleHBlY3RpbmcgdG8gZmFsbCB0 aHJvdWdoLgo+Pj4+Cj4+Pj4gVGhpcyBwYXRjaCBmaXhlcyB0aGUgZm9sbG93aW5nIHdhcm5pbmdz Ogo+Pj4+Cj4+Pj4gZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmM6IEluIGZ1bmN0aW9u IOKAmHByb2Nlc3NfcmN2ZF9kYXRh4oCZOgo+Pj4+IGRyaXZlcnMvdXNiL3NlcmlhbC9pb19lZGdl cG9ydC5jOjE3NTA6Nzogd2FybmluZzogdGhpcyBzdGF0ZW1lbnQgbWF5IGZhbGwgdGhyb3VnaCBb LVdpbXBsaWNpdC1mYWxsdGhyb3VnaD1dCj4+Pj4gICAgIGlmIChidWZmZXJMZW5ndGggPT0gMCkg ewo+Pj4+ICAgICAgICBeCj4+Pj4gZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmM6MTc1 NTozOiBub3RlOiBoZXJlCj4+Pj4gICAgY2FzZSBFWFBFQ1RfSERSMjoKPj4+PiAgICBefn5+Cj4+ Pj4gZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmM6MTgxMDo4OiB3YXJuaW5nOiB0aGlz IHN0YXRlbWVudCBtYXkgZmFsbCB0aHJvdWdoIFstV2ltcGxpY2l0LWZhbGx0aHJvdWdoPV0KPj4+ PiAgICAgIGlmIChidWZmZXJMZW5ndGggPT0gMCkgewo+Pj4+ICAgICAgICAgXgo+Pj4+IGRyaXZl cnMvdXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jOjE4MTY6Mzogbm90ZTogaGVyZQo+Pj4+ICAgIGNh c2UgRVhQRUNUX0RBVEE6IC8qIEV4cGVjdCBkYXRhICovCj4+Pj4gICAgXn5+fgo+Pj4+Cj4+Pj4g V2FybmluZyBsZXZlbCAzIHdhcyB1c2VkOiAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoPTMKPj4+Pgo+ Pj4+IE5vdGljZSB0aGF0LCBpbiB0aGlzIHBhcnRpY3VsYXIgY2FzZSwgdGhlIGNvZGUgY29tbWVu dHMgYXJlIG1vZGlmaWVkCj4+Pj4gaW4gYWNjb3JkYW5jZSB3aXRoIHdoYXQgR0NDIGlzIGV4cGVj dGluZyB0byBmaW5kLgo+Pj4+Cj4+Pj4gVGhpcyBwYXRjaCBpcyBwYXJ0IG9mIHRoZSBvbmdvaW5n IGVmZm9ydHMgdG8gZW5hYmxlCj4+Pj4gLVdpbXBsaWNpdC1mYWxsdGhyb3VnaC4KPj4+Pgo+Pj4+ IFNpZ25lZC1vZmYtYnk6IEd1c3Rhdm8gQS4gUi4gU2lsdmEgPGd1c3Rhdm9AZW1iZWRkZWRvci5j b20+Cj4+Pj4gLS0tCj4+Pj4gQ2hhbmdlcyBpbiB2MjoKPj4+PiAgLSBXYXJuaW5nIGxldmVsIDMg aXMgbm93IHVzZWQ6IC1XaW1wbGljaXQtZmFsbHRocm91Z2g9Mwo+Pj4+ICAgIGluc3RlYWQgb2Yg d2FybmluZyBsZXZlbCAyLgo+Pj4+ICAtIEFsbCB3YXJuaW5ncyBpbiB0aGUgc3dpdGNoIHN0YXRl bWVudCBhcmUgYWRkcmVzc2VkIG5vdy4KPj4+Pgo+Pj4+IE5vdGljZSB0aGF0IHRoZXNlIGFyZSB0 aGUgbGFzdCByZW1haW5pbmcgZmFsbC10aHJvdWdoIHdhcm5pbmdzCj4+Pj4gaW4gdGhlIFVTQiBz dWJzeXN0ZW0uIDopCj4+Pgo+Pj4+ICBkcml2ZXJzL3VzYi9zZXJpYWwvaW9fZWRnZXBvcnQuYyB8 IDMgKystCj4+Pj4gIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKPj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZWRnZXBvcnQu YyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jCj4+Pj4gaW5kZXggNGNhMzFjMGU0 MTc0Li43YWQxMDMyOGY0ZTIgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2lv X2VkZ2Vwb3J0LmMKPj4+PiArKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZWRnZXBvcnQuYwo+ Pj4+IEBAIC0xNzUxLDcgKzE3NTEsNyBAQCBzdGF0aWMgdm9pZCBwcm9jZXNzX3JjdmRfZGF0YShz dHJ1Y3QgZWRnZXBvcnRfc2VyaWFsICplZGdlX3NlcmlhbCwKPj4+PiAgCQkJCWVkZ2Vfc2VyaWFs LT5yeFN0YXRlID0gRVhQRUNUX0hEUjI7Cj4+Pj4gIAkJCQlicmVhazsKPj4+PiAgCQkJfQo+Pj4+ IC0JCQkvKiBvdGhlcndpc2UsIGRyb3Agb24gdGhyb3VnaCAqLwo+Pj4+ICsJCQkvKiBGYWxsIHRo cm91Z2ggLSBvdGhlcndpc2UsIGRyb3Agb24gdGhyb3VnaCAqLwo+Pj4+ICAJCWNhc2UgRVhQRUNU X0hEUjI6Cj4+Pj4gIAkJCWVkZ2Vfc2VyaWFsLT5yeEhlYWRlcjIgPSAqYnVmZmVyOwo+Pj4+ICAJ CQkrK2J1ZmZlcjsKPj4+PiBAQCAtMTgxMyw2ICsxODEzLDcgQEAgc3RhdGljIHZvaWQgcHJvY2Vz c19yY3ZkX2RhdGEoc3RydWN0IGVkZ2Vwb3J0X3NlcmlhbCAqZWRnZV9zZXJpYWwsCj4+Pj4gIAkJ CQl9Cj4+Pj4gIAkJCQkvKiBFbHNlLCBkcm9wIHRocm91Z2ggKi8KPj4+PiAgCQkJfQo+Pj4+ICsJ CQkvKiBGYWxsIHRocm91Z2ggKi8KPj4+PiAgCQljYXNlIEVYUEVDVF9EQVRBOiAvKiBFeHBlY3Qg ZGF0YSAqLwo+Pj4KPj4+IExvb2tzIGxpa2UgeW91IGZvcmdvdCB0byB0YWtlIHRoZSBvcmlnaW5h bCByZXZpZXcgZmVlZGJhY2sgeW91IGdvdCBpbnRvCj4+PiBhY2NvdW50Ogo+Pj4KPj4+IAlodHRw czovL2xrbWwua2VybmVsLm9yZy9yLzg3azF6ZjRrMjQuZnNmQG1pcmFjdWxpeC5tb3JrLm5vCj4+ Pgo+Pgo+PiBPaCwgdGhlIHRoaW5nIGlzIHRoYXQgdGhlIGZhbGwtdGhyb3VnaCBjb21tZW50cyBo YXZlIHRvIGJlIHBsYWNlZCBhdAo+PiB0aGUgdmVyeSBib3R0b20gb2YgdGhlIGNhc2UuIEFsc28s IGJhc2VkIG9uIHRoYXQgZmVlZGJhY2ssIHRoaXMgdGltZQo+PiBJIGxlZnQgdGhlICJFbHNlLCBk cm9wIHRocm91Z2giIGNvbW1lbnQgaW4gcGxhY2UsIHNvIHBlb3BsZSBjYW4gYmUKPj4gaW5mb3Jt ZWQgdGhhdCBzdWNoIGZhbGwtdGhyb3VnaCBpcyBjb25kaXRpb25hbC4KPj4KPj4gV2hhdCBkbyB5 b3UgdGhpbmsgYWJvdXQgdGhpczoKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3Nlcmlh bC9pb19lZGdlcG9ydC5jIGIvZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmMKPj4gaW5k ZXggNGNhMzFjMGU0MTc0Li41MmYyN2ZjODI1NjMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvdXNi L3NlcmlhbC9pb19lZGdlcG9ydC5jCj4+ICsrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19lZGdl cG9ydC5jCj4+IEBAIC0xNzUxLDcgKzE3NTEsNyBAQCBzdGF0aWMgdm9pZCBwcm9jZXNzX3JjdmRf ZGF0YShzdHJ1Y3QgZWRnZXBvcnRfc2VyaWFsICplZGdlX3NlcmlhbCwKPj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBlZGdlX3NlcmlhbC0+cnhTdGF0ZSA9IEVYUEVDVF9IRFIyOwo+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+PiAgICAgICAgICAgICAg ICAgICAgICAgICB9Cj4+IC0gICAgICAgICAgICAgICAgICAgICAgIC8qIG90aGVyd2lzZSwgZHJv cCBvbiB0aHJvdWdoICovCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIC8qIEZhbGwgdGhyb3Vn aCAtIG90aGVyd2lzZSwgZHJvcCBvbiB0aHJvdWdoICovCj4+ICAgICAgICAgICAgICAgICBjYXNl IEVYUEVDVF9IRFIyOgo+PiAgICAgICAgICAgICAgICAgICAgICAgICBlZGdlX3NlcmlhbC0+cnhI ZWFkZXIyID0gKmJ1ZmZlcjsKPj4gICAgICAgICAgICAgICAgICAgICAgICAgKytidWZmZXI7Cj4+ IEBAIC0xODEzLDYgKzE4MTMsMTEgQEAgc3RhdGljIHZvaWQgcHJvY2Vzc19yY3ZkX2RhdGEoc3Ry dWN0IGVkZ2Vwb3J0X3NlcmlhbCAqZWRnZV9zZXJpYWwsCj4+ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVsc2Us IGRyb3AgdGhyb3VnaCAqLwo+PiAgICAgICAgICAgICAgICAgICAgICAgICB9Cj4+ICsgICAgICAg ICAgICAgICAgICAgICAgIC8qIEJld2FyZSB0aGF0LCBjdXJyZW50bHksIHRoZXJlIGFyZSBhdCBs ZWFzdCB0aHJlZQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgKiBicmVhayBzdGF0ZW1lbnRz IGluIHRoaXMgY2FzZSBibG9jaywgc28gdGhlCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAq IGZhbGwtdGhyb3VnaCBtYXJrZWQgYmVsb3cgaXMgTk9UIHVuY29uZGl0aW9uYWwuCj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAqLwo+PiArICAgICAgICAgICAgICAgICAgICAgICAvKiBGYWxs IHRocm91Z2ggKi8KPj4gICAgICAgICAgICAgICAgIGNhc2UgRVhQRUNUX0RBVEE6IC8qIEV4cGVj dCBkYXRhICovCj4+ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChidWZmZXJMZW5ndGggPCBl ZGdlX3NlcmlhbC0+cnhCeXRlc1JlbWFpbmluZykgewo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJ4TGVuID0gYnVmZmVyTGVuZ3RoOwo+IAo+IEl0J3MgYmV0dGVyIHRoYW4gdjIs IGJ1dCBJIHRob3VnaHQgeW91IHNhaWQgeW91IHdlcmUgZ29ubmEgbG9vayBpbnRvCj4gcmVzdHJ1 Y3R1cmluZyB0aGUgY29kZSB0byBtYWludGFpbiAob3IgZXZlbiBpbXByb3ZlKSByZWFkYWJpbGl0 eT8KPiAKCkF0IGZpcnN0LCBJIHRob3VnaHQgYWJvdXQgdGhhdCwgYnV0IG5vdyBJIGRvbid0IHRo aW5rIHRoYXQncyByZWFsaXN0aWMuCkknZCB0dXJuIHRoZSBpZi1lbHNlIGludG8gYSBzd2l0Y2gs IGFuZCBiYXNlZCBvbiB0aGUgaGlzdG9yeSBvZiBmZWVkYmFjawpvbiB0aGlzIHBhdGNoLCB3ZSB3 aWxsIGVuZCB1cCBoYXZpbmcgdGhlIHNhbWUgY29tcGxhaW5zIGFib3V0IHRoZSBicmVhawpzdGF0 ZW1lbnRzIGluIHRoYXQgbmV3IHN3aXRjaCBhbmQgdGhlIHBvc3NpYmlsaXR5IG9mIGEgZmFsbC10 aHJvdWdoIHRvCmNhc2UgRVhQRUNUX0RBVEEuIEF0IHRoZSBlbmQgSSB3b3VsZCBzdGlsbCBoYXZl IHRvIGFkZCBhIGNvbW1lbnQgZXhwbGFpbmluZwp0aGF0IHRoZSBsYXN0IGZhbGwtdGhyb3VnaCBt YXJrIGluIHVuY29uZGl0aW9uYWwuCgpUaGFua3MKLS0tCkd1c3Rhdm8K From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AE128C43219 for ; Thu, 2 May 2019 14:50:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7C89420656 for ; Thu, 2 May 2019 14:50:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726341AbfEBOuk (ORCPT ); Thu, 2 May 2019 10:50:40 -0400 Received: from gateway20.websitewelcome.com ([192.185.46.107]:16535 "EHLO gateway20.websitewelcome.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726278AbfEBOuj (ORCPT ); Thu, 2 May 2019 10:50:39 -0400 X-Greylist: delayed 1315 seconds by postgrey-1.27 at vger.kernel.org; Thu, 02 May 2019 10:50:39 EDT Received: from cm14.websitewelcome.com (cm14.websitewelcome.com [100.42.49.7]) by gateway20.websitewelcome.com (Postfix) with ESMTP id 364FC400D8B08 for ; Thu, 2 May 2019 09:28:44 -0500 (CDT) Received: from gator4166.hostgator.com ([108.167.133.22]) by cmsmtp with SMTP id MChYhovSv2qH7MChYh7olM; Thu, 02 May 2019 09:28:44 -0500 X-Authority-Reason: nr=8 Received: from [189.250.119.203] (port=55820 helo=[192.168.1.76]) by gator4166.hostgator.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.91) (envelope-from ) id 1hMChX-000a4y-Fh; Thu, 02 May 2019 09:28:43 -0500 To: Johan Hovold Cc: Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Kees Cook References: <20190501213329.GA26972@embeddedor> <20190502102608.GS26546@localhost> <20190502135636.GT26546@localhost> From: "Gustavo A. R. Silva" Openpgp: preference=signencrypt Autocrypt: addr=gustavo@embeddedor.com; keydata= mQINBFssHAwBEADIy3ZoPq3z5UpsUknd2v+IQud4TMJnJLTeXgTf4biSDSrXn73JQgsISBwG 2Pm4wnOyEgYUyJd5tRWcIbsURAgei918mck3tugT7AQiTUN3/5aAzqe/4ApDUC+uWNkpNnSV tjOx1hBpla0ifywy4bvFobwSh5/I3qohxDx+c1obd8Bp/B/iaOtnq0inli/8rlvKO9hp6Z4e DXL3PlD0QsLSc27AkwzLEc/D3ZaqBq7ItvT9Pyg0z3Q+2dtLF00f9+663HVC2EUgP25J3xDd 496SIeYDTkEgbJ7WYR0HYm9uirSET3lDqOVh1xPqoy+U9zTtuA9NQHVGk+hPcoazSqEtLGBk YE2mm2wzX5q2uoyptseSNceJ+HE9L+z1KlWW63HhddgtRGhbP8pj42bKaUSrrfDUsicfeJf6 m1iJRu0SXYVlMruGUB1PvZQ3O7TsVfAGCv85pFipdgk8KQnlRFkYhUjLft0u7CL1rDGZWDDr NaNj54q2CX9zuSxBn9XDXvGKyzKEZ4NY1Jfw+TAMPCp4buawuOsjONi2X0DfivFY+ZsjAIcx qQMglPtKk/wBs7q2lvJ+pHpgvLhLZyGqzAvKM1sVtRJ5j+ARKA0w4pYs5a5ufqcfT7dN6TBk LXZeD9xlVic93Ju08JSUx2ozlcfxq+BVNyA+dtv7elXUZ2DrYwARAQABtCxHdXN0YXZvIEEu IFIuIFNpbHZhIDxndXN0YXZvQGVtYmVkZGVkb3IuY29tPokCPQQTAQgAJwUCWywcDAIbIwUJ CWYBgAULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAAKCRBHBbTLRwbbMZ6tEACk0hmmZ2FWL1Xi l/bPqDGFhzzexrdkXSfTTZjBV3a+4hIOe+jl6Rci/CvRicNW4H9yJHKBrqwwWm9fvKqOBAg9 obq753jydVmLwlXO7xjcfyfcMWyx9QdYLERTeQfDAfRqxir3xMeOiZwgQ6dzX3JjOXs6jHBP cgry90aWbaMpQRRhaAKeAS14EEe9TSIly5JepaHoVdASuxklvOC0VB0OwNblVSR2S5i5hSsh ewbOJtwSlonsYEj4EW1noQNSxnN/vKuvUNegMe+LTtnbbocFQ7dGMsT3kbYNIyIsp42B5eCu JXnyKLih7rSGBtPgJ540CjoPBkw2mCfhj2p5fElRJn1tcX2McsjzLFY5jK9RYFDavez5w3lx JFgFkla6sQHcrxH62gTkb9sUtNfXKucAfjjCMJ0iuQIHRbMYCa9v2YEymc0k0RvYr43GkA3N PJYd/vf9vU7VtZXaY4a/dz1d9dwIpyQARFQpSyvt++R74S78eY/+lX8wEznQdmRQ27kq7BJS R20KI/8knhUNUJR3epJu2YFT/JwHbRYC4BoIqWl+uNvDf+lUlI/D1wP+lCBSGr2LTkQRoU8U 64iK28BmjJh2K3WHmInC1hbUucWT7Swz/+6+FCuHzap/cjuzRN04Z3Fdj084oeUNpP6+b9yW e5YnLxF8ctRAp7K4yVlvA7kCDQRbLBwMARAAsHCE31Ffrm6uig1BQplxMV8WnRBiZqbbsVJB H1AAh8tq2ULl7udfQo1bsPLGGQboJSVN9rckQQNahvHAIK8ZGfU4Qj8+CER+fYPp/MDZj+t0 DbnWSOrG7z9HIZo6PR9z4JZza3Hn/35jFggaqBtuydHwwBANZ7A6DVY+W0COEU4of7CAahQo 5NwYiwS0lGisLTqks5R0Vh+QpvDVfuaF6I8LUgQR/cSgLkR//V1uCEQYzhsoiJ3zc1HSRyOP otJTApqGBq80X0aCVj1LOiOF4rrdvQnj6iIlXQssdb+WhSYHeuJj1wD0ZlC7ds5zovXh+FfF l5qH5RFY/qVn3mNIVxeO987WSF0jh+T5ZlvUNdhedGndRmwFTxq2Li6GNMaolgnpO/CPcFpD jKxY/HBUSmaE9rNdAa1fCd4RsKLlhXda+IWpJZMHlmIKY8dlUybP+2qDzP2lY7kdFgPZRU+e zS/pzC/YTzAvCWM3tDgwoSl17vnZCr8wn2/1rKkcLvTDgiJLPCevqpTb6KFtZosQ02EGMuHQ I6Zk91jbx96nrdsSdBLGH3hbvLvjZm3C+fNlVb9uvWbdznObqcJxSH3SGOZ7kCHuVmXUcqoz ol6ioMHMb+InrHPP16aVDTBTPEGwgxXI38f7SUEn+NpbizWdLNz2hc907DvoPm6HEGCanpcA EQEAAYkCJQQYAQgADwUCWywcDAIbDAUJCWYBgAAKCRBHBbTLRwbbMdsZEACUjmsJx2CAY+QS UMebQRFjKavwXB/xE7fTt2ahuhHT8qQ/lWuRQedg4baInw9nhoPE+VenOzhGeGlsJ0Ys52sd XvUjUocKgUQq6ekOHbcw919nO5L9J2ejMf/VC/quN3r3xijgRtmuuwZjmmi8ct24TpGeoBK4 WrZGh/1hAYw4ieARvKvgjXRstcEqM5thUNkOOIheud/VpY+48QcccPKbngy//zNJWKbRbeVn imua0OpqRXhCrEVm/xomeOvl1WK1BVO7z8DjSdEBGzbV76sPDJb/fw+y+VWrkEiddD/9CSfg fBNOb1p1jVnT2mFgGneIWbU0zdDGhleI9UoQTr0e0b/7TU+Jo6TqwosP9nbk5hXw6uR5k5PF 8ieyHVq3qatJ9K1jPkBr8YWtI5uNwJJjTKIA1jHlj8McROroxMdI6qZ/wZ1ImuylpJuJwCDC ORYf5kW61fcrHEDlIvGc371OOvw6ejF8ksX5+L2zwh43l/pKkSVGFpxtMV6d6J3eqwTafL86 YJWH93PN+ZUh6i6Rd2U/i8jH5WvzR57UeWxE4P8bQc0hNGrUsHQH6bpHV2lbuhDdqo+cM9eh GZEO3+gCDFmKrjspZjkJbB5Gadzvts5fcWGOXEvuT8uQSvl+vEL0g6vczsyPBtqoBLa9SNrS VtSixD1uOgytAP7RWS474w== Subject: Re: [PATCH v2] USB: serial: io_edgeport: mark expected switch fall-throughs Message-ID: Date: Thu, 2 May 2019 09:28:37 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <20190502135636.GT26546@localhost> Content-Type: text/plain; charset="UTF-8" Content-Language: en-US Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - gator4166.hostgator.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - embeddedor.com X-BWhitelist: no X-Source-IP: 189.250.119.203 X-Source-L: No X-Exim-ID: 1hMChX-000a4y-Fh X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: ([192.168.1.76]) [189.250.119.203]:55820 X-Source-Auth: gustavo@embeddedor.com X-Email-Count: 3 X-Source-Cap: Z3V6aWRpbmU7Z3V6aWRpbmU7Z2F0b3I0MTY2Lmhvc3RnYXRvci5jb20= X-Local-Domain: yes Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org Message-ID: <20190502142837.7k1xlAMRvjE9nGci3l2E_NKJF5O6l14yn7JQ2xvuW34@z> On 5/2/19 8:56 AM, Johan Hovold wrote: > On Thu, May 02, 2019 at 08:22:30AM -0500, Gustavo A. R. Silva wrote: >> >> >> On 5/2/19 5:26 AM, Johan Hovold wrote: >>> On Wed, May 01, 2019 at 04:33:29PM -0500, Gustavo A. R. Silva wrote: >>>> In preparation to enabling -Wimplicit-fallthrough, mark switch >>>> cases where we are expecting to fall through. >>>> >>>> This patch fixes the following warnings: >>>> >>>> drivers/usb/serial/io_edgeport.c: In function ‘process_rcvd_data’: >>>> drivers/usb/serial/io_edgeport.c:1750:7: warning: this statement may fall through [-Wimplicit-fallthrough=] >>>> if (bufferLength == 0) { >>>> ^ >>>> drivers/usb/serial/io_edgeport.c:1755:3: note: here >>>> case EXPECT_HDR2: >>>> ^~~~ >>>> drivers/usb/serial/io_edgeport.c:1810:8: warning: this statement may fall through [-Wimplicit-fallthrough=] >>>> if (bufferLength == 0) { >>>> ^ >>>> drivers/usb/serial/io_edgeport.c:1816:3: note: here >>>> case EXPECT_DATA: /* Expect data */ >>>> ^~~~ >>>> >>>> Warning level 3 was used: -Wimplicit-fallthrough=3 >>>> >>>> Notice that, in this particular case, the code comments are modified >>>> in accordance with what GCC is expecting to find. >>>> >>>> This patch is part of the ongoing efforts to enable >>>> -Wimplicit-fallthrough. >>>> >>>> Signed-off-by: Gustavo A. R. Silva >>>> --- >>>> Changes in v2: >>>> - Warning level 3 is now used: -Wimplicit-fallthrough=3 >>>> instead of warning level 2. >>>> - All warnings in the switch statement are addressed now. >>>> >>>> Notice that these are the last remaining fall-through warnings >>>> in the USB subsystem. :) >>> >>>> drivers/usb/serial/io_edgeport.c | 3 ++- >>>> 1 file changed, 2 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c >>>> index 4ca31c0e4174..7ad10328f4e2 100644 >>>> --- a/drivers/usb/serial/io_edgeport.c >>>> +++ b/drivers/usb/serial/io_edgeport.c >>>> @@ -1751,7 +1751,7 @@ static void process_rcvd_data(struct edgeport_serial *edge_serial, >>>> edge_serial->rxState = EXPECT_HDR2; >>>> break; >>>> } >>>> - /* otherwise, drop on through */ >>>> + /* Fall through - otherwise, drop on through */ >>>> case EXPECT_HDR2: >>>> edge_serial->rxHeader2 = *buffer; >>>> ++buffer; >>>> @@ -1813,6 +1813,7 @@ static void process_rcvd_data(struct edgeport_serial *edge_serial, >>>> } >>>> /* Else, drop through */ >>>> } >>>> + /* Fall through */ >>>> case EXPECT_DATA: /* Expect data */ >>> >>> Looks like you forgot to take the original review feedback you got into >>> account: >>> >>> https://lkml.kernel.org/r/87k1zf4k24.fsf@miraculix.mork.no >>> >> >> Oh, the thing is that the fall-through comments have to be placed at >> the very bottom of the case. Also, based on that feedback, this time >> I left the "Else, drop through" comment in place, so people can be >> informed that such fall-through is conditional. >> >> What do you think about this: >> >> diff --git a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c >> index 4ca31c0e4174..52f27fc82563 100644 >> --- a/drivers/usb/serial/io_edgeport.c >> +++ b/drivers/usb/serial/io_edgeport.c >> @@ -1751,7 +1751,7 @@ static void process_rcvd_data(struct edgeport_serial *edge_serial, >> edge_serial->rxState = EXPECT_HDR2; >> break; >> } >> - /* otherwise, drop on through */ >> + /* Fall through - otherwise, drop on through */ >> case EXPECT_HDR2: >> edge_serial->rxHeader2 = *buffer; >> ++buffer; >> @@ -1813,6 +1813,11 @@ static void process_rcvd_data(struct edgeport_serial *edge_serial, >> } >> /* Else, drop through */ >> } >> + /* Beware that, currently, there are at least three >> + * break statements in this case block, so the >> + * fall-through marked below is NOT unconditional. >> + */ >> + /* Fall through */ >> case EXPECT_DATA: /* Expect data */ >> if (bufferLength < edge_serial->rxBytesRemaining) { >> rxLen = bufferLength; > > It's better than v2, but I thought you said you were gonna look into > restructuring the code to maintain (or even improve) readability? > At first, I thought about that, but now I don't think that's realistic. I'd turn the if-else into a switch, and based on the history of feedback on this patch, we will end up having the same complains about the break statements in that new switch and the possibility of a fall-through to case EXPECT_DATA. At the end I would still have to add a comment explaining that the last fall-through mark in unconditional. Thanks -- Gustavo