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: Johan Hovold Message-Id: <20190502151459.GX26546@localhost> Date: Thu, 2 May 2019 17:14:59 +0200 To: Greg Kroah-Hartman Cc: "Gustavo A. R. Silva" , Johan Hovold , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Kees Cook List-ID: T24gVGh1LCBNYXkgMDIsIDIwMTkgYXQgMDQ6NDc6MjlQTSArMDIwMCwgR3JlZyBLcm9haC1IYXJ0 bWFuIHdyb3RlOgo+IE9uIFRodSwgTWF5IDAyLCAyMDE5IGF0IDA0OjQwOjQxUE0gKzAyMDAsIEdy ZWcgS3JvYWgtSGFydG1hbiB3cm90ZToKPiA+IE9uIFRodSwgTWF5IDAyLCAyMDE5IGF0IDA5OjI4 OjM3QU0gLTA1MDAsIEd1c3Rhdm8gQS4gUi4gU2lsdmEgd3JvdGU6Cj4gPiA+IAo+ID4gPiAKPiA+ ID4gT24gNS8yLzE5IDg6NTYgQU0sIEpvaGFuIEhvdm9sZCB3cm90ZToKPiA+ID4gPiBPbiBUaHUs IE1heSAwMiwgMjAxOSBhdCAwODoyMjozMEFNIC0wNTAwLCBHdXN0YXZvIEEuIFIuIFNpbHZhIHdy b3RlOgo+ID4gPiA+Pgo+ID4gPiA+Pgo+ID4gPiA+PiBPbiA1LzIvMTkgNToyNiBBTSwgSm9oYW4g SG92b2xkIHdyb3RlOgo+ID4gPiA+Pj4gT24gV2VkLCBNYXkgMDEsIDIwMTkgYXQgMDQ6MzM6MjlQ TSAtMDUwMCwgR3VzdGF2byBBLiBSLiBTaWx2YSB3cm90ZToKPiA+ID4gPj4+PiBJbiBwcmVwYXJh dGlvbiB0byBlbmFibGluZyAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoLCBtYXJrIHN3aXRjaAo+ID4g PiA+Pj4+IGNhc2VzIHdoZXJlIHdlIGFyZSBleHBlY3RpbmcgdG8gZmFsbCB0aHJvdWdoLgo+ID4g PiA+Pj4+Cj4gPiA+ID4+Pj4gVGhpcyBwYXRjaCBmaXhlcyB0aGUgZm9sbG93aW5nIHdhcm5pbmdz Ogo+ID4gPiA+Pj4+Cj4gPiA+ID4+Pj4gZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmM6 IEluIGZ1bmN0aW9uIOKAmHByb2Nlc3NfcmN2ZF9kYXRh4oCZOgo+ID4gPiA+Pj4+IGRyaXZlcnMv dXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jOjE3NTA6Nzogd2FybmluZzogdGhpcyBzdGF0ZW1lbnQg bWF5IGZhbGwgdGhyb3VnaCBbLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD1dCj4gPiA+ID4+Pj4gICAg IGlmIChidWZmZXJMZW5ndGggPT0gMCkgewo+ID4gPiA+Pj4+ICAgICAgICBeCj4gPiA+ID4+Pj4g ZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmM6MTc1NTozOiBub3RlOiBoZXJlCj4gPiA+ ID4+Pj4gICAgY2FzZSBFWFBFQ1RfSERSMjoKPiA+ID4gPj4+PiAgICBefn5+Cj4gPiA+ID4+Pj4g ZHJpdmVycy91c2Ivc2VyaWFsL2lvX2VkZ2Vwb3J0LmM6MTgxMDo4OiB3YXJuaW5nOiB0aGlzIHN0 YXRlbWVudCBtYXkgZmFsbCB0aHJvdWdoIFstV2ltcGxpY2l0LWZhbGx0aHJvdWdoPV0KPiA+ID4g Pj4+PiAgICAgIGlmIChidWZmZXJMZW5ndGggPT0gMCkgewo+ID4gPiA+Pj4+ICAgICAgICAgXgo+ ID4gPiA+Pj4+IGRyaXZlcnMvdXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jOjE4MTY6Mzogbm90ZTog aGVyZQo+ID4gPiA+Pj4+ICAgIGNhc2UgRVhQRUNUX0RBVEE6IC8qIEV4cGVjdCBkYXRhICovCj4g PiA+ID4+Pj4gICAgXn5+fgo+ID4gPiA+Pj4+Cj4gPiA+ID4+Pj4gV2FybmluZyBsZXZlbCAzIHdh cyB1c2VkOiAtV2ltcGxpY2l0LWZhbGx0aHJvdWdoPTMKPiA+ID4gPj4+Pgo+ID4gPiA+Pj4+IE5v dGljZSB0aGF0LCBpbiB0aGlzIHBhcnRpY3VsYXIgY2FzZSwgdGhlIGNvZGUgY29tbWVudHMgYXJl IG1vZGlmaWVkCj4gPiA+ID4+Pj4gaW4gYWNjb3JkYW5jZSB3aXRoIHdoYXQgR0NDIGlzIGV4cGVj dGluZyB0byBmaW5kLgo+ID4gPiA+Pj4+Cj4gPiA+ID4+Pj4gVGhpcyBwYXRjaCBpcyBwYXJ0IG9m IHRoZSBvbmdvaW5nIGVmZm9ydHMgdG8gZW5hYmxlCj4gPiA+ID4+Pj4gLVdpbXBsaWNpdC1mYWxs dGhyb3VnaC4KPiA+ID4gPj4+Pgo+ID4gPiA+Pj4+IFNpZ25lZC1vZmYtYnk6IEd1c3Rhdm8gQS4g Ui4gU2lsdmEgPGd1c3Rhdm9AZW1iZWRkZWRvci5jb20+Cj4gPiA+ID4+Pj4gLS0tCj4gPiA+ID4+ Pj4gQ2hhbmdlcyBpbiB2MjoKPiA+ID4gPj4+PiAgLSBXYXJuaW5nIGxldmVsIDMgaXMgbm93IHVz ZWQ6IC1XaW1wbGljaXQtZmFsbHRocm91Z2g9Mwo+ID4gPiA+Pj4+ICAgIGluc3RlYWQgb2Ygd2Fy bmluZyBsZXZlbCAyLgo+ID4gPiA+Pj4+ICAtIEFsbCB3YXJuaW5ncyBpbiB0aGUgc3dpdGNoIHN0 YXRlbWVudCBhcmUgYWRkcmVzc2VkIG5vdy4KPiA+ID4gPj4+Pgo+ID4gPiA+Pj4+IE5vdGljZSB0 aGF0IHRoZXNlIGFyZSB0aGUgbGFzdCByZW1haW5pbmcgZmFsbC10aHJvdWdoIHdhcm5pbmdzCj4g PiA+ID4+Pj4gaW4gdGhlIFVTQiBzdWJzeXN0ZW0uIDopCj4gPiA+ID4+Pgo+ID4gPiA+Pj4+ICBk cml2ZXJzL3VzYi9zZXJpYWwvaW9fZWRnZXBvcnQuYyB8IDMgKystCj4gPiA+ID4+Pj4gIDEgZmls ZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPiA+ID4gPj4+Pgo+ID4g PiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZWRnZXBvcnQuYyBiL2Ry aXZlcnMvdXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jCj4gPiA+ID4+Pj4gaW5kZXggNGNhMzFjMGU0 MTc0Li43YWQxMDMyOGY0ZTIgMTAwNjQ0Cj4gPiA+ID4+Pj4gLS0tIGEvZHJpdmVycy91c2Ivc2Vy aWFsL2lvX2VkZ2Vwb3J0LmMKPiA+ID4gPj4+PiArKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9f ZWRnZXBvcnQuYwo+ID4gPiA+Pj4+IEBAIC0xNzUxLDcgKzE3NTEsNyBAQCBzdGF0aWMgdm9pZCBw cm9jZXNzX3JjdmRfZGF0YShzdHJ1Y3QgZWRnZXBvcnRfc2VyaWFsICplZGdlX3NlcmlhbCwKPiA+ ID4gPj4+PiAgCQkJCWVkZ2Vfc2VyaWFsLT5yeFN0YXRlID0gRVhQRUNUX0hEUjI7Cj4gPiA+ID4+ Pj4gIAkJCQlicmVhazsKPiA+ID4gPj4+PiAgCQkJfQo+ID4gPiA+Pj4+IC0JCQkvKiBvdGhlcndp c2UsIGRyb3Agb24gdGhyb3VnaCAqLwo+ID4gPiA+Pj4+ICsJCQkvKiBGYWxsIHRocm91Z2ggLSBv dGhlcndpc2UsIGRyb3Agb24gdGhyb3VnaCAqLwo+ID4gPiA+Pj4+ICAJCWNhc2UgRVhQRUNUX0hE UjI6Cj4gPiA+ID4+Pj4gIAkJCWVkZ2Vfc2VyaWFsLT5yeEhlYWRlcjIgPSAqYnVmZmVyOwo+ID4g PiA+Pj4+ICAJCQkrK2J1ZmZlcjsKPiA+ID4gPj4+PiBAQCAtMTgxMyw2ICsxODEzLDcgQEAgc3Rh dGljIHZvaWQgcHJvY2Vzc19yY3ZkX2RhdGEoc3RydWN0IGVkZ2Vwb3J0X3NlcmlhbCAqZWRnZV9z ZXJpYWwsCj4gPiA+ID4+Pj4gIAkJCQl9Cj4gPiA+ID4+Pj4gIAkJCQkvKiBFbHNlLCBkcm9wIHRo cm91Z2ggKi8KPiA+ID4gPj4+PiAgCQkJfQo+ID4gPiA+Pj4+ICsJCQkvKiBGYWxsIHRocm91Z2gg Ki8KPiA+ID4gPj4+PiAgCQljYXNlIEVYUEVDVF9EQVRBOiAvKiBFeHBlY3QgZGF0YSAqLwo+ID4g PiA+Pj4KPiA+ID4gPj4+IExvb2tzIGxpa2UgeW91IGZvcmdvdCB0byB0YWtlIHRoZSBvcmlnaW5h bCByZXZpZXcgZmVlZGJhY2sgeW91IGdvdCBpbnRvCj4gPiA+ID4+PiBhY2NvdW50Ogo+ID4gPiA+ Pj4KPiA+ID4gPj4+IAlodHRwczovL2xrbWwua2VybmVsLm9yZy9yLzg3azF6ZjRrMjQuZnNmQG1p cmFjdWxpeC5tb3JrLm5vCj4gPiA+ID4+Pgo+ID4gPiA+Pgo+ID4gPiA+PiBPaCwgdGhlIHRoaW5n IGlzIHRoYXQgdGhlIGZhbGwtdGhyb3VnaCBjb21tZW50cyBoYXZlIHRvIGJlIHBsYWNlZCBhdAo+ ID4gPiA+PiB0aGUgdmVyeSBib3R0b20gb2YgdGhlIGNhc2UuIEFsc28sIGJhc2VkIG9uIHRoYXQg ZmVlZGJhY2ssIHRoaXMgdGltZQo+ID4gPiA+PiBJIGxlZnQgdGhlICJFbHNlLCBkcm9wIHRocm91 Z2giIGNvbW1lbnQgaW4gcGxhY2UsIHNvIHBlb3BsZSBjYW4gYmUKPiA+ID4gPj4gaW5mb3JtZWQg dGhhdCBzdWNoIGZhbGwtdGhyb3VnaCBpcyBjb25kaXRpb25hbC4KPiA+ID4gPj4KPiA+ID4gPj4g V2hhdCBkbyB5b3UgdGhpbmsgYWJvdXQgdGhpczoKPiA+ID4gPj4KPiA+ID4gPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jIGIvZHJpdmVycy91c2Ivc2VyaWFs L2lvX2VkZ2Vwb3J0LmMKPiA+ID4gPj4gaW5kZXggNGNhMzFjMGU0MTc0Li41MmYyN2ZjODI1NjMg MTAwNjQ0Cj4gPiA+ID4+IC0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jCj4g PiA+ID4+ICsrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jCj4gPiA+ID4+IEBA IC0xNzUxLDcgKzE3NTEsNyBAQCBzdGF0aWMgdm9pZCBwcm9jZXNzX3JjdmRfZGF0YShzdHJ1Y3Qg ZWRnZXBvcnRfc2VyaWFsICplZGdlX3NlcmlhbCwKPiA+ID4gPj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBlZGdlX3NlcmlhbC0+cnhTdGF0ZSA9IEVYUEVDVF9IRFIyOwo+ID4gPiA+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ID4gPiA+PiAgICAgICAg ICAgICAgICAgICAgICAgICB9Cj4gPiA+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgIC8qIG90 aGVyd2lzZSwgZHJvcCBvbiB0aHJvdWdoICovCj4gPiA+ID4+ICsgICAgICAgICAgICAgICAgICAg ICAgIC8qIEZhbGwgdGhyb3VnaCAtIG90aGVyd2lzZSwgZHJvcCBvbiB0aHJvdWdoICovCj4gPiA+ ID4+ICAgICAgICAgICAgICAgICBjYXNlIEVYUEVDVF9IRFIyOgo+ID4gPiA+PiAgICAgICAgICAg ICAgICAgICAgICAgICBlZGdlX3NlcmlhbC0+cnhIZWFkZXIyID0gKmJ1ZmZlcjsKPiA+ID4gPj4g ICAgICAgICAgICAgICAgICAgICAgICAgKytidWZmZXI7Cj4gPiA+ID4+IEBAIC0xODEzLDYgKzE4 MTMsMTEgQEAgc3RhdGljIHZvaWQgcHJvY2Vzc19yY3ZkX2RhdGEoc3RydWN0IGVkZ2Vwb3J0X3Nl cmlhbCAqZWRnZV9zZXJpYWwsCj4gPiA+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQo+ID4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVsc2UsIGRy b3AgdGhyb3VnaCAqLwo+ID4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICB9Cj4gPiA+ID4+ ICsgICAgICAgICAgICAgICAgICAgICAgIC8qIEJld2FyZSB0aGF0LCBjdXJyZW50bHksIHRoZXJl IGFyZSBhdCBsZWFzdCB0aHJlZQo+ID4gPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgKiBi cmVhayBzdGF0ZW1lbnRzIGluIHRoaXMgY2FzZSBibG9jaywgc28gdGhlCj4gPiA+ID4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAqIGZhbGwtdGhyb3VnaCBtYXJrZWQgYmVsb3cgaXMgTk9UIHVu Y29uZGl0aW9uYWwuCj4gPiA+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAqLwo+ID4gPiA+ PiArICAgICAgICAgICAgICAgICAgICAgICAvKiBGYWxsIHRocm91Z2ggKi8KPiA+ID4gPj4gICAg ICAgICAgICAgICAgIGNhc2UgRVhQRUNUX0RBVEE6IC8qIEV4cGVjdCBkYXRhICovCj4gPiA+ID4+ ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChidWZmZXJMZW5ndGggPCBlZGdlX3NlcmlhbC0+ cnhCeXRlc1JlbWFpbmluZykgewo+ID4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJ4TGVuID0gYnVmZmVyTGVuZ3RoOwo+ID4gPiA+IAo+ID4gPiA+IEl0J3MgYmV0dGVyIHRo YW4gdjIsIGJ1dCBJIHRob3VnaHQgeW91IHNhaWQgeW91IHdlcmUgZ29ubmEgbG9vayBpbnRvCj4g PiA+ID4gcmVzdHJ1Y3R1cmluZyB0aGUgY29kZSB0byBtYWludGFpbiAob3IgZXZlbiBpbXByb3Zl KSByZWFkYWJpbGl0eT8KPiA+ID4gPiAKPiA+ID4gCj4gPiA+IEF0IGZpcnN0LCBJIHRob3VnaHQg YWJvdXQgdGhhdCwgYnV0IG5vdyBJIGRvbid0IHRoaW5rIHRoYXQncyByZWFsaXN0aWMuCj4gPiA+ IEknZCB0dXJuIHRoZSBpZi1lbHNlIGludG8gYSBzd2l0Y2gsIGFuZCBiYXNlZCBvbiB0aGUgaGlz dG9yeSBvZiBmZWVkYmFjawo+ID4gPiBvbiB0aGlzIHBhdGNoLCB3ZSB3aWxsIGVuZCB1cCBoYXZp bmcgdGhlIHNhbWUgY29tcGxhaW5zIGFib3V0IHRoZSBicmVhawo+ID4gPiBzdGF0ZW1lbnRzIGlu IHRoYXQgbmV3IHN3aXRjaCBhbmQgdGhlIHBvc3NpYmlsaXR5IG9mIGEgZmFsbC10aHJvdWdoIHRv Cj4gPiA+IGNhc2UgRVhQRUNUX0RBVEEuIEF0IHRoZSBlbmQgSSB3b3VsZCBzdGlsbCBoYXZlIHRv IGFkZCBhIGNvbW1lbnQgZXhwbGFpbmluZwo+ID4gPiB0aGF0IHRoZSBsYXN0IGZhbGwtdGhyb3Vn aCBtYXJrIGluIHVuY29uZGl0aW9uYWwuCj4gPiAKPiA+IEkgbG92ZSBpdCBob3cgbm8gb25lIGlz IGJsYW1pbmcgdGhlIG9yaWdpbmFsIGF1dGhvciBvZiB0aGlzIGNvZGUgKGkuZS4KPiA+IG1lLi4u KQo+ID4gCj4gPiBMZXQgbWUgc2VlIGlmIEkgY2FuIGZpeCBpdCB1cCB0byBiZSBtb3JlICJzYW5l IiwgdGhpcyBpcyBteSBmYXVsdC4KPiAKPiBIb3cgYWJvdXQgdGhlIGZvbGxvd2luZyBwYXRjaD8g IEpvaGFuLCB0aGlzIGxvb2sgbmljZXIgdG8geW91PyAgSXQgbWFrZXMKPiBtb3JlIHNlbnNlIHRv IG1lLgoKSGFyZCB0byBzYXkuLi4gOikgTGVzcyBpbmRlbnRhdGlvbiBpcyBnb29kLCBidXQgdGhl IGN1cnJlbnQgZmxvdyBzZWVtcwptb3JlIGluIGxpbmUgd2l0aCB0aGUgY29tbWVudCBwcmVjZWRp bmcgdGhlIGlmLXN0YXRlbWVudAoKCQkvKiBQcm9jZXNzIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRo aXMgaGVhZGVyIGlzCgkJICogZGF0YSBvciBzdGF0dXMgKi8KCgkJaWYgKElTX0NNRF9TVEFUX0hE UihlZGdlX3NlcmlhbC0+cnhIZWFkZXIxKSkgewoJCQlhOwoJCQlicmVhazsKCQl9IGVsc2UgewoJ CQliOwoJCX0KCWNhc2UgRVhQRUNUX0RBVEE6IC8qIEV4cGVjdCBkYXRhICovCgp3aGljaCBzb3J0 IG9mIGdldHMgbG9zdCBpZiB5b3UganVzdCByZXBsYWNlIHRoZSBlbHNlIGNsYXVzZSB3aXRoIGIu CgpCdXQgaXQgc3RpbGwgYW4gaW1wcm92ZW1lbnQsIGxldCdzIGdvIHdpdGggaXQuCgo+IEFuZCBp biBsb29raW5nIGF0IHRoZSBoaXN0b3J5LCBJIGNhbid0IGNsYWltIHRvdGFsIGNyZWRpdCBmb3Ig dGhpcwo+IG1vbnN0cm9zaXR5LCBpdCB3YXMgb3JpZ2luYWxseSB3cml0dGVuIGJ5IHNvbWVvbmUg ZWxzZSwgSSBqdXN0ICJjbGVhbmVkCj4gaXQgdXAiIGJhY2sgaW4gMjAwMSwgdG8gZ2V0IGl0IGlu dG8gbWVyZ2FibGUgc2hhcGUuICBDbGVhcmx5ICJtZXJnYWJsZQo+IHNoYXBlIiB3YXMgbXVjaCBs b29zZXIgYmFjayB0aGVuIDopCgpIZWguCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJp YWwvaW9fZWRnZXBvcnQuYyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9pb19lZGdlcG9ydC5jCj4gaW5k ZXggNGNhMzFjMGU0MTc0Li43MzIwODFiMzcxOGYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91c2Iv c2VyaWFsL2lvX2VkZ2Vwb3J0LmMKPiArKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvaW9fZWRnZXBv cnQuYwo+IEBAIC0xNzUxLDcgKzE3NTEsOCBAQCBzdGF0aWMgdm9pZCBwcm9jZXNzX3JjdmRfZGF0 YShzdHJ1Y3QgZWRnZXBvcnRfc2VyaWFsICplZGdlX3NlcmlhbCwKPiAgCQkJCWVkZ2Vfc2VyaWFs LT5yeFN0YXRlID0gRVhQRUNUX0hEUjI7Cj4gIAkJCQlicmVhazsKPiAgCQkJfQo+IC0JCQkvKiBv dGhlcndpc2UsIGRyb3Agb24gdGhyb3VnaCAqLwo+ICsJCQkvKiBGYWxsIHRocm91Z2ggKi8KPiAr CgpJIHRoaW5rIHRoZSBjb21tZW50IHNob3VsZCBnbyBpbW1lZGlhdGVseSBiZWZvcmUgdGhlIGNh c2UgKG5vIG5ld2xpbmUpCmhlcmUgYW5kIGJlbG93IHRob3VnaC4KCj4gIAkJY2FzZSBFWFBFQ1Rf SERSMjoKClRoYW5rcywKSm9oYW4K 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=-8.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS, T_DKIMWL_WL_HIGH,URIBL_BLOCKED,USER_AGENT_MUTT 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 EC5C4C43219 for ; Thu, 2 May 2019 15:14:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B0CB320675 for ; Thu, 2 May 2019 15:14:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1556810099; bh=ohHqPwx74D17f2d+EWbp7g0NclPuykBXXLNLUrD6NJk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=mBYCYyW5SakPc4gX8zX8BKFtkOeiMfSY2d4WuSi9SfiIqgXPJMZpmn8PDaNJsb1Qo SRRFRS4Fys6R9HVWfapCxV9S54o+fa5Ip6j34LQ0tR651vKCzrU8A5w5xN312VZNqk B3JgBjBevkqH1TBowYUvOKcqvIREmac4W5LfFsiI= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726327AbfEBPOx (ORCPT ); Thu, 2 May 2019 11:14:53 -0400 Received: from mail-lj1-f196.google.com ([209.85.208.196]:42802 "EHLO mail-lj1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726203AbfEBPOx (ORCPT ); Thu, 2 May 2019 11:14:53 -0400 Received: by mail-lj1-f196.google.com with SMTP id r72so2508088ljb.9; Thu, 02 May 2019 08:14:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=5Hpg0RvkeeKrNdBmTzkGI8MH8deXoVOBZrG4ryDlr3k=; b=GTs+fjSkRPoq522KayleOqhVnDYv0MnmTEYbvo3o7vh1kSZbn40gaSx2iT0dwiu2TK oGDMNQljG6vawzpubr5sAtoyXM+qz2O6Gv4/WwAg1s0Z6G05qovc8oLxEKc0tdOsVlbD mpfygLnQzrAd4WG8v1B13A4YibTPsxh2vnkhKVxmP2HWKxpPmbbELC/5nT8AWmVv6iVz ldTu8qmf3XAih+TGogFvIWAj0q8Z3f8yy5GlH0irhalgl7zDVo67OOuIqAP9XOy1Zvdk HXjcxV7Wrutt3yoGMu9SORi3sx76wrUo4ZqSRKp5C9lM0jJN1p5a0zXnommEQ8F9DfpV Ba+Q== X-Gm-Message-State: APjAAAUd0J9qOfUEnlG9lX8s2xWEZ2I9d3bcO+nQOZndMLqBJJpYSVo4 Nw5CfpJD4zzpNGvGCLSv8+PGZD/5 X-Google-Smtp-Source: APXvYqy3QKjsCwzjpXQgrmvSpKWUPw5s667Bbm5+YuMIRZ9T2877oO8A8Tx7MSZrcrOKU1RqmBh5qQ== X-Received: by 2002:a2e:9d59:: with SMTP id y25mr2161176ljj.137.1556810090086; Thu, 02 May 2019 08:14:50 -0700 (PDT) Received: from xi.terra (c-74bee655.07-184-6d6c6d4.bbcust.telenor.se. [85.230.190.116]) by smtp.gmail.com with ESMTPSA id d80sm10433379lfd.90.2019.05.02.08.14.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 02 May 2019 08:14:48 -0700 (PDT) Received: from johan by xi.terra with local (Exim 4.91) (envelope-from ) id 1hMDQJ-0003fL-5K; Thu, 02 May 2019 17:14:59 +0200 Date: Thu, 2 May 2019 17:14:59 +0200 From: Johan Hovold To: Greg Kroah-Hartman Cc: "Gustavo A. R. Silva" , Johan Hovold , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Kees Cook Subject: Re: [PATCH v2] USB: serial: io_edgeport: mark expected switch fall-throughs Message-ID: <20190502151459.GX26546@localhost> References: <20190501213329.GA26972@embeddedor> <20190502102608.GS26546@localhost> <20190502135636.GT26546@localhost> <20190502144041.GA17960@kroah.com> <20190502144729.GB17960@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20190502144729.GB17960@kroah.com> User-Agent: Mutt/1.11.4 (2019-03-13) Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org Message-ID: <20190502151459.F7pGB5sjKXRrNRCRXAlMSoNjYpf9YbY-iAch5u6Nfes@z> On Thu, May 02, 2019 at 04:47:29PM +0200, Greg Kroah-Hartman wrote: > On Thu, May 02, 2019 at 04:40:41PM +0200, Greg Kroah-Hartman wrote: > > On Thu, May 02, 2019 at 09:28:37AM -0500, Gustavo A. R. Silva wrote: > > > > > > > > > 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. > > > > I love it how no one is blaming the original author of this code (i.e. > > me...) > > > > Let me see if I can fix it up to be more "sane", this is my fault. > > How about the following patch? Johan, this look nicer to you? It makes > more sense to me. Hard to say... :) Less indentation is good, but the current flow seems more in line with the comment preceding the if-statement /* Process depending on whether this header is * data or status */ if (IS_CMD_STAT_HDR(edge_serial->rxHeader1)) { a; break; } else { b; } case EXPECT_DATA: /* Expect data */ which sort of gets lost if you just replace the else clause with b. But it still an improvement, let's go with it. > And in looking at the history, I can't claim total credit for this > monstrosity, it was originally written by someone else, I just "cleaned > it up" back in 2001, to get it into mergable shape. Clearly "mergable > shape" was much looser back then :) Heh. > diff --git a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c > index 4ca31c0e4174..732081b3718f 100644 > --- a/drivers/usb/serial/io_edgeport.c > +++ b/drivers/usb/serial/io_edgeport.c > @@ -1751,7 +1751,8 @@ static void process_rcvd_data(struct edgeport_serial *edge_serial, > edge_serial->rxState = EXPECT_HDR2; > break; > } > - /* otherwise, drop on through */ > + /* Fall through */ > + I think the comment should go immediately before the case (no newline) here and below though. > case EXPECT_HDR2: Thanks, Johan