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: [PATCH/RFC] usb: gadget: function: printer: avoid wrong list handling in printer_write() From: Felipe Balbi Message-Id: <87603h8mea.fsf@linux.intel.com> Date: Mon, 21 May 2018 11:04:45 +0300 To: Yoshihiro Shimoda Cc: "gregkh@linuxfoundation.org" , "linux-usb@vger.kernel.org" , "linux-renesas-soc@vger.kernel.org" List-ID: SGksCgpZb3NoaWhpcm8gU2hpbW9kYSA8eW9zaGloaXJvLnNoaW1vZGEudWhAcmVuZXNhcy5jb20+ IHdyaXRlczoKCj4gSGksCj4KPj4gRnJvbTogRmVsaXBlIEJhbGJpLCBTZW50OiBNb25kYXksIE1h eSAyMSwgMjAxOCAzOjU3IFBNCj4+IAo+PiBIaSwKPj4gCj4+IFlvc2hpaGlybyBTaGltb2RhIDx5 b3NoaWhpcm8uc2hpbW9kYS51aEByZW5lc2FzLmNvbT4gd3JpdGVzOgo+PiA+IFRoZSB1c2JfZXBf cXVldWUoKSBpbiBwcmludGVyX3dyaXRlKCkgaXMgcG9zc2libGUgdG8gY2FsbCByZXEtPmNvbXBs ZXRlKCkuCj4+ID4gSW4gdGhhdCBjYXNlLCBzaW5jZSB0eF9jb21wbGV0ZSgpIGNhbGxzIGxpc3Rf YWRkKCZyZXEtPmxpc3QsICZkZXYtPnR4X3JlcXMpLAo+PiA+IHByaW50ZXJfd3JpdGUoKSBzaG91 bGQgbm90IGNhbGwgbGlzdF9hZGQoJnJlcS0+bGlzdCwgJmRldi0+dHhfcmVxc19hY3RpdmUpCj4+ ID4gYmVjYXVzZSB0aGUgdHJhbnNmZXIgaGFzIGFscmVhZHkgZmluaXNoZWQuIFNvLCB0aGlzIHBh dGNoIGNoZWNrcwo+PiA+IHRoZSBjb25kaXRpb24gb2YgcmVxLT5saXN0IGJlZm9yZSBhZGRpbmcg dGhlIGxpc3QgaW4gcHJpbnRlcl93cml0ZSgpLgo+PiA+Cj4+ID4gU2lnbmVkLW9mZi1ieTogWW9z aGloaXJvIFNoaW1vZGEgPHlvc2hpaGlyby5zaGltb2RhLnVoQHJlbmVzYXMuY29tPgo+PiA+IC0t LQo+PiA+ICBUaGlzIGlzc3VlIGNhbiBiZSBjYXVzZWQgYnkgcmVuZXNhc191c2JocyB1ZGMgZHJp dmVyLiBJJ20gbm90IHN1cmUKPj4gPiAgdGhpcyBwYXRjaCBpcyBhY2NlcHRhYmxlIG9yIG5vdC4g U28sIEkgbWFya2VkIFJGQyBvbiB0aGlzIHBhdGNoLgo+PiAKPj4gY2FuIHlvdSBleHBsYWluIHRo aXMgYSBsaXR0bGUgbW9yZT8gSG93IGRvIHlvdSB0cmlnZ2VyIHRoZSBwcm9ibGVtPwo+Cj4gU3Vy ZS4gSWYgcHJpbnRlcl93cml0ZSgpIGNhbGxlZCB1c2JfZXBfcXVldWUoKSB3aXRoIDYzIGJ5dGVz IG9yIGxlc3MgZGF0YSwKPiB0aGUgcmVuZXNhc191c2JocyB1ZGMgZHJpdmVyIHRyYW5zZmVycyBk YXRhIGFzIFBJTy4gSW4gdGhpcyBjYXNlLCB0aGUgdWRjCj4gZHJpdmVyIGNhbGxzIHVzYl9nYWRn ZXRfZ2l2ZWJhY2tfcmV1cWVzdCgpIGluIC5xdWV1ZSBvcHMgKHVzYmhzZ19lcF9xdWV1ZSgpKQo+ IGltbWVkaWF0ZWx5LiBUaGVuLCBwcmludGVyX3dyaXRlKCkgY2FsbHMgbGlzdF9hZGQoJnJlcS0+ bGlzdCwgJmRldi0+dHhfcmVxc19hY3RpdmUpOyB3cm9uZ2x5Lgo+IEFmdGVyIHRoYXQsIGlmIHdl IGRvIHJtbW9kIGdfcHJpbnRlciwgV0FSTl9PTighbGlzdF9lbXB0eSgmZGV2LT50eF9yZXFzX2Fj dGl2ZSk7IGhhcHBlbnMgaW4KPiBwcmludGVyX2Z1bmNfdW5iaW5kKCkgYmVjYXVzZSB0aGUgbGlz dCBlbnRyeSBpcyBub3QgcmVtb3ZlZC4KPgo+IDwgUmVmZXJlbmNlOiBjYWxsdHJhY2UgKHZlcnkg bG9uZyB0aG91Z2guLi4pID4KPiAJdXNiX2VwX3F1ZXVlKC4uLik7CQlhdCBmX3ByaW50ZXIuYyAv IHByaW50ZXJfd3JpdGUoKQo+IAkxLT4gdXNiaHNnX2VwX3F1ZXVlKCk7CQlhdCByZW5lc2FzX3Vz YmhzL21vZF9nYWRnZXQuYwo+IAkgMi0+IHVzYmhzZ19xdWV1ZV9wdXNoKCk7Cj4gCSAgMy0+IHVz YmhzX3BrdF9zdGFydCgpOwkJYXQgcmVuZXNhc191c2Jocy9maWZvLmMKPiAJICAgNC0+IHVzYmhz Zl9wa3RfaGFuZGxlcigpOwo+IAkgICAgNS0+IGZ1bmMoKSA9IHVzYmhzZl9kbWFfcHJlcGFyZV9w dXNoKCk7Cj4gCSAgICAgNi0+IGdvdG8gdXNiaHNmX3Bpb19wcmVwYXJlX3B1c2g7IC8vIEJlY2F1 c2UgbGVuIGlzIDYzCj4gCSAgICAgIDctPiB1c2Joc2ZfcGlvX3ByZXBhcmVfcHVzaCgpOwo+IAkg ICAgICAgOC0+IHVzYmhzZl9waW9fdHJ5X3B1c2goKTsKPiAgICAgICAgICAgICA1LT4gZG9uZSgp ID0gdXNiaHNnX3F1ZXVlX2RvbmUoKTsJYXQgcmVuZXNhc191c2Jocy9tb2RfZ2FkZ2V0LmMKPiAJ ICAgICA2LT4gX191c2JzZ19xdWV1ZV9wb3AoKTsKPiAJICAgICAgNy0+IHVzYl9nYWRnZXRfZ2l2 ZWJhY2tfcmV1cWVzdCgpOwo+IAkgICAgICAgOC0+IHR4X2NvbXBsZXRlKCk7CQlhdCBmX3ByaW50 ZXIuYwo+ICAgICAgICAgICAgICAgICA5LT4gbGlzdF9kZWxfaW5pdCgmcmVxLT5saXN0KTsKPiAg ICAgICAgICAgICAgICAgOS0+IGxpc3RfYWRkKCZyZXEtPmxpc3QsICZkZXYtPnR4X3JlcXMpOwo+ IAlsaXN0X2FkZCgmcmVxLT5saXN0LCAmZGV2LT50eF9yZXFzX2FjdGl2ZSk7CS8vIEV2ZW4gaWYg dGhlIHRyYW5zYWN0aW9uIGFscmVhZHkgZmluaXNoZWQsIHRoaXMgZHJpdmVyIGlzIHBvc3NpYmxl IHRvIGFkZCB0aGUgbGlzdCB0byAiYWN0aXZlIi4KCnNlZW1zIGxpa2UgaXQgd291bGQgYmUgYmV0 dGVyIHRvIGp1c3QgbW92ZSB0aGlzIGxpa2UgYmVmb3JlCnVzYl9lcF9xdWV1ZSgpOgoKbW9kaWZp ZWQgICBkcml2ZXJzL3VzYi9nYWRnZXQvZnVuY3Rpb24vZl9wcmludGVyLmMKQEAgLTYzMSwxOSAr NjMxLDE5IEBAIHByaW50ZXJfd3JpdGUoc3RydWN0IGZpbGUgKmZkLCBjb25zdCBjaGFyIF9fdXNl ciAqYnVmLCBzaXplX3QgbGVuLCBsb2ZmX3QgKnB0cikKIAkJCXJldHVybiAtRUFHQUlOOwogCQl9 CiAKKwkJbGlzdF9hZGQoJnJlcS0+bGlzdCwgJmRldi0+dHhfcmVxc19hY3RpdmUpOworCiAJCS8q IGhlcmUsIHdlIHVubG9jaywgYW5kIG9ubHkgdW5sb2NrLCB0byBhdm9pZCBkZWFkbG9jay4gKi8K IAkJc3Bpbl91bmxvY2soJmRldi0+bG9jayk7CiAJCXZhbHVlID0gdXNiX2VwX3F1ZXVlKGRldi0+ aW5fZXAsIHJlcSwgR0ZQX0FUT01JQyk7CiAJCXNwaW5fbG9jaygmZGV2LT5sb2NrKTsKIAkJaWYg KHZhbHVlKSB7CisJCQlsaXN0X2RlbCgmcmVxLT5saXN0KTsKIAkJCWxpc3RfYWRkKCZyZXEtPmxp c3QsICZkZXYtPnR4X3JlcXMpOwogCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT5sb2Nr LCBmbGFncyk7CiAJCQltdXRleF91bmxvY2soJmRldi0+bG9ja19wcmludGVyX2lvKTsKIAkJCXJl dHVybiAtRUFHQUlOOwogCQl9Ci0KLQkJbGlzdF9hZGQoJnJlcS0+bGlzdCwgJmRldi0+dHhfcmVx c19hY3RpdmUpOwotCiAJfQogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT5sb2NrLCBm bGFncyk7Cg==