Re: [PATCH 1/1] usb: dwc3: gadget: fix IRQ storm on invalid event buffer count
Thinh Nguyen <[email protected]> Tue, 4 Aug 2026 23:04:52 +0000
| Newsgroups | org.kernel.vger.linux-usb,org.kernel.vger.linux-kernel,org.kernel.vger.stable |
|---|---|
| Message-ID | <anJqxCgXNF4WN1Qe@vbox> |
T24gTW9uLCBKdWwgMjcsIDIwMjYsIEppYXppIExpdSB3cm90ZToNCj4gV2hlbiBkd2MzX2NoZWNr X2V2ZW50X2J1ZigpIHJlYWRzIGEgR0VWTlRDT1VOVCB2YWx1ZSBleGNlZWRpbmcgdGhlDQo+IGV2 ZW50IGJ1ZmZlciBsZW5ndGgsIGNvbW1pdCA2M2NjZDI2Y2QxZjYgKCJ1c2I6IGR3YzM6IGdhZGdl dDogY2hlY2sNCj4gdGhhdCBldmVudCBjb3VudCBkb2VzIG5vdCBleGNlZWQgZXZlbnQgYnVmZmVy IGxlbmd0aCIpIHJldHVybnMgSVJRX05PTkUNCj4gd2l0aG91dCB3cml0aW5nIGJhY2sgR0VWTlRD T1VOVC4gU2luY2UgdGhlIERXQzMgaW50ZXJydXB0IGlzDQo+IGxldmVsLXRyaWdnZXJlZCwgdGhl IHVuY2xlYXJlZCBJUlEgc291cmNlIGtlZXBzIHRoZSBsaW5lIGFzc2VydGVkLA0KPiBjYXVzaW5n IGEgdGlnaHQgSVJRIHN0b3JtIHRoYXQgYWNjdW11bGF0ZXMgOTksOTAwIHVuaGFuZGxlZCBpbnRl cnJ1cHRzDQo+IGFuZCB0cmlnZ2VycyBzcHVyaW91cy5jOjE4NCBCVUcgLT4ga2VybmVsIHBhbmlj Lg0KPiANCj4gVGhlIHJlc3VsdGluZyBjYWxsIHN0YWNrOg0KPiAgIF9fcmVwb3J0X2JhZF9pcnEr MHhhYy8weGM4DQo+ICAgbm90ZV9pbnRlcnJ1cHQrMHgzNDAvMHg0NjgNCj4gICBoYW5kbGVfaXJx X2V2ZW50KzB4YWMvMHhjMA0KPiAgIGhhbmRsZV9mYXN0ZW9pX2lycSsweDEyMC8weDIyOA0KPiAg IGdpY19oYW5kbGVfaXJxKzB4NjgvMHgxMDgNCj4gICAuLi4NCj4gICBrZXJuZWwgQlVHIGF0IGtl cm5lbC9pcnEvc3B1cmlvdXMuYzoxODQNCj4gDQo+IFRvIHJlcHJvZHVjZSwgd3JpdGUgYSBib2d1 cyB2YWx1ZSBleGNlZWRpbmcgdGhlIGV2ZW50IGJ1ZmZlciBsZW5ndGgNCj4gZGlyZWN0bHkgdG8g dGhlIEdFVk5UQ09VTlQgcmVnaXN0ZXI6DQo+IA0KPiAgIGRldm1lbSA8RFdDM19CQVNFICsgMHhj NDBjPiA0IDB4MTAwNA0KPiANCj4gV3JpdGUgdGhlIGJvZ3VzIGNvdW50IGJhY2sgdG8gR0VWTlRD T1VOVCB0byBjbGVhciB0aGUgSVJRIHNvdXJjZSwNCj4gY29uc2lzdGVudCB3aXRoIHRoZSBzdGFs ZSBldmVudCBjbGVhcmluZyBwYXR0ZXJuIGluDQo+IGR3YzNfZXZlbnRfYnVmZmVyc19zZXR1cCgp LCBhbmQgc2NoZWR1bGUgYSBzb2Z0IGRpc2Nvbm5lY3QgdmlhDQo+IHNvZnRjb25fd29yayB0byBy ZWNvdmVyIHRoZSBjb250cm9sbGVyIHN0YXRlLg0KPiANCj4gRml4ZXM6IDYzY2NkMjZjZDFmNiAo InVzYjogZHdjMzogZ2FkZ2V0OiBjaGVjayB0aGF0IGV2ZW50IGNvdW50IGRvZXMgbm90IGV4Y2Vl ZCBldmVudCBidWZmZXIgbGVuZ3RoIikNCj4gQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcNCj4g U2lnbmVkLW9mZi1ieTogSmlhemkgTGl1IDxsaXVqaWF6aUBhbWF6b24uY29tPg0KPiAtLS0NCj4g IGRyaXZlcnMvdXNiL2R3YzMvY29yZS5oICAgfCAgMiArKw0KPiAgZHJpdmVycy91c2IvZHdjMy9n YWRnZXQuYyB8IDIzICsrKysrKysrKysrKysrKysrKysrKystDQo+ICAyIGZpbGVzIGNoYW5nZWQs IDI0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL3VzYi9kd2MzL2NvcmUuaCBiL2RyaXZlcnMvdXNiL2R3YzMvY29yZS5oDQo+IGluZGV4IDYw OGRhZWI3ZWYxMC4uMDg4MWVkN2U5NTZlIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3VzYi9kd2Mz L2NvcmUuaA0KPiArKysgYi9kcml2ZXJzL3VzYi9kd2MzL2NvcmUuaA0KPiBAQCAtMTAwNCw2ICsx MDA0LDcgQEAgc3RydWN0IGR3YzNfZ2x1ZV9vcHMgew0KPiAgLyoqDQo+ICAgKiBzdHJ1Y3QgZHdj MyAtIHJlcHJlc2VudGF0aW9uIG9mIG91ciBjb250cm9sbGVyDQo+ICAgKiBAZHJkX3dvcms6IHdv cmtxdWV1ZSB1c2VkIGZvciByb2xlIHN3YXBwaW5nDQo+ICsgKiBAc29mdGNvbl93b3JrOiB3b3Jr cXVldWUgdXNlZCBmb3Igc29mdCBjb25uZWN0L2Rpc2Nvbm5lY3QgcmVjb3ZlcnkNCg0KUmVuYW1l IHRoaXMgdG8gZXJyX3JlY292ZXJ5X3dvcmsgYW5kIHVwZGF0ZSB0aGUgZGVzY3JpcHRpb24uDQoN Cj4gICAqIEBlcDBfdHJiOiB0cmIgd2hpY2ggaXMgdXNlZCBmb3IgdGhlIGN0cmxfcmVxDQo+ICAg KiBAYm91bmNlOiBhZGRyZXNzIG9mIGJvdW5jZSBidWZmZXINCj4gICAqIEBzZXR1cF9idWY6IHVz ZWQgd2hpbGUgcHJlY2Vzc2luZyBTVEQgVVNCIHJlcXVlc3RzDQo+IEBAIC0xMTg5LDYgKzExOTAs NyBAQCBzdHJ1Y3QgZHdjM19nbHVlX29wcyB7DQo+ICAgKi8NCj4gIHN0cnVjdCBkd2MzIHsNCj4g IAlzdHJ1Y3Qgd29ya19zdHJ1Y3QJZHJkX3dvcms7DQo+ICsJc3RydWN0IHdvcmtfc3RydWN0CXNv ZnRjb25fd29yazsNCj4gIAlzdHJ1Y3QgZHdjM190cmIJCSplcDBfdHJiOw0KPiAgCXZvaWQJCQkq Ym91bmNlOw0KPiAgCXU4CQkJKnNldHVwX2J1ZjsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNi L2R3YzMvZ2FkZ2V0LmMgYi9kcml2ZXJzL3VzYi9kd2MzL2dhZGdldC5jDQo+IGluZGV4IGZhMGYx NmZmYWZlZi4uOWIyNDI1OTI3MmE0IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3VzYi9kd2MzL2dh ZGdldC5jDQo+ICsrKyBiL2RyaXZlcnMvdXNiL2R3YzMvZ2FkZ2V0LmMNCj4gQEAgLTQ2NjksNyAr NDY2OSwxOCBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgZHdjM19jaGVja19ldmVudF9idWYoc3RydWN0 IGR3YzNfZXZlbnRfYnVmZmVyICpldnQpDQo+ICAJaWYgKGNvdW50ID4gZXZ0LT5sZW5ndGgpIHsN Cj4gIAkJZGV2X2Vycl9yYXRlbGltaXRlZChkd2MtPmRldiwgImludmFsaWQgY291bnQoJXUpID4g ZXZ0LT5sZW5ndGgoJXUpXG4iLA0KPiAgCQkJY291bnQsIGV2dC0+bGVuZ3RoKTsNCg0KV2UgcHJv YmFibHkgbm8gbG9uZ2VyIG5lZWQgdGhlIGRldl9lcnIgdG8gYmUgcmF0ZWxpbWl0ZWQuDQoNCj4g LQkJcmV0dXJuIElSUV9OT05FOw0KPiArCQkvKg0KPiArCQkgKiBUaGUgRFdDMyBpbnRlcnJ1cHQg aXMgbGV2ZWwtdHJpZ2dlcmVkLiBSZXR1cm5pbmcgSVJRX05PTkUNCg0KVGhpcyBjb21tZW50IGlz IG91dCBvZiBjb250ZXh0IG5vdyB0aGF0IGl0J3Mgbm8gbG9uZ2VyIElSUV9OT05FLiBNb3N0IG9m DQp0aGUgZGV0YWlscyBoZXJlIGFyZSBvbmx5IHJlbGV2YW50IGlmIHdlIHJldHVybiBJUlFfTk9O RS4gV2hhdCB3ZSBuZWVkDQp0byBkb2N1bWVudCBoZXJlIHdoeSB0aGlzIGlzIGEgZmF0YWwgZXJy b3IgYW5kIHJlcXVpcmUgcmVpbml0aWFsaXppbmcNCnRoZSBjb250cm9sbGVyLiBEb2N1bWVudCB0 aGF0IHRoZSBkcml2ZXIgYW5kIHRoZSBjb250cm9sbGVyIGFyZSBvdXQgb2YNCnN5bmMgdG8gd2hp Y2ggZXZlbnQgaXMgY29uc3VtZWQuDQoNCj4gKwkJICogd2l0aG91dCBjbGVhcmluZyB0aGUgSVJR IHNvdXJjZSBsZWF2ZXMgdGhlIGxpbmUgYXNzZXJ0ZWQsDQo+ICsJCSAqIGNhdXNpbmcgYSB0aWdo dCBJUlEgc3Rvcm0gdGhhdCB0cmlnZ2VycyBzcHVyaW91cy5jOjE4NCBCVUcuDQo+ICsJCSAqIFdy aXRlIHRoZSBib2d1cyBjb3VudCBiYWNrIHRvIEdFVk5UQ09VTlQgdG8gY2xlYXIgdGhlIHNvdXJj ZSwNCj4gKwkJICogY29uc2lzdGVudCB3aXRoIHRoZSBzdGFsZSBldmVudCBjbGVhcmluZyBpbg0K PiArCQkgKiBkd2MzX2V2ZW50X2J1ZmZlcnNfc2V0dXAoKSwgdGhlbiBzY2hlZHVsZSBhIHNvZnQg ZGlzY29ubmVjdA0KPiArCQkgKiB0byByZWNvdmVyIHRoZSBjb250cm9sbGVyIHN0YXRlLg0KPiAr CQkgKi8NCj4gKwkJZHdjM193cml0ZWwoZHdjLT5yZWdzLCBEV0MzX0dFVk5UQ09VTlQoMCksIGNv dW50KTsNCj4gKwkJc2NoZWR1bGVfd29yaygmZHdjLT5zb2Z0Y29uX3dvcmspOw0KPiArCQlyZXR1 cm4gSVJRX0hBTkRMRUQ7DQo+ICAJfQ0KPiAgDQo+ICAJZXZ0LT5jb3VudCA9IGNvdW50Ow0KPiBA QCAtNDcyOSw2ICs0NzQwLDE0IEBAIHN0YXRpYyB2b2lkIGR3Y19nYWRnZXRfcmVsZWFzZShzdHJ1 Y3QgZGV2aWNlICpkZXYpDQo+ICAJa2ZyZWUoZ2FkZ2V0KTsNCj4gIH0NCj4gIA0KPiArc3RhdGlj IHZvaWQgZHdjM19zb2Z0Y29uX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQ0KPiArew0K PiArCXN0cnVjdCBkd2MzICpkd2MgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGR3YzMsIHNv ZnRjb25fd29yayk7DQo+ICsNCj4gKwlkZXZfZXJyKGR3Yy0+ZGV2LCAiZXZlbnQgYnVmZmVyIGVy cm9yOiBwZXJmb3JtaW5nIHNvZnQgZGlzY29ubmVjdFxuIik7DQoNClJlbW92ZSB0aGlzIGRldl9l cnIoKS4gVGhlIGVycm9yIG1lc3NhZ2Ugc2hvdWxkIGJlIGF0IHRoZSBjYWxsZXIgd2hlcmUNCnRo ZSBzcGVjaWZpYyBmYWlsdXJlIGNvbmRpdGlvbiBpcyBrbm93biwgbm90IHRoZSBnZW5lcmljIHdv cmsgaGFuZGxlci4NCg0KPiArCWR3YzNfZ2FkZ2V0X3NvZnRfZGlzY29ubmVjdChkd2MpOw0KDQpD aGVjayBhbmQgZm9sbG93IHRoZSBkd2MzX2dhZGdldF9zdXNwZW5kKCkgYW5kIGR3YzNfZ2FkZ2V0 X3Jlc3VtZSgpDQpsb2dpYyBmb3Igc29mdC1kaXNjb25uZWN0IGFuZCBzb2Z0LWNvbm5lY3QgdG8g bWFrZSBzdXJlIHRoZSBpbnRlcm5hbA0Kc3RhdGVzIGFyZSB1cGRhdGVkIGFuZCBub3RpZnkgdGhl IGdhZGdldCBkcml2ZXJzIGNvcnJlY3RseS4NCg0KUGVyaGFwcyB5b3UgY2FuIGFsc28gcmVjb3Zl ciB3aXRoIHNvZnQtY29ubmVjdCBhZnRlciBzb2Z0LWRpc2Nvbm5lY3QuDQoNCj4gK30NCj4gKw0K PiAgLyoqDQo+ICAgKiBkd2MzX2dhZGdldF9pbml0IC0gaW5pdGlhbGl6ZXMgZ2FkZ2V0IHJlbGF0 ZWQgcmVnaXN0ZXJzDQo+ICAgKiBAZHdjOiBwb2ludGVyIHRvIG91ciBjb250cm9sbGVyIGNvbnRl eHQgc3RydWN0dXJlDQo+IEBAIC00NzcyLDYgKzQ3OTEsNyBAQCBpbnQgZHdjM19nYWRnZXRfaW5p dChzdHJ1Y3QgZHdjMyAqZHdjKQ0KPiAgCX0NCj4gIA0KPiAgCWluaXRfY29tcGxldGlvbigmZHdj LT5lcDBfaW5fc2V0dXApOw0KPiArCUlOSVRfV09SSygmZHdjLT5zb2Z0Y29uX3dvcmssIGR3YzNf c29mdGNvbl93b3JrKTsNCj4gIAlkd2MtPmdhZGdldCA9IGt6YWxsb2Nfb2JqKHN0cnVjdCB1c2Jf Z2FkZ2V0KTsNCj4gIAlpZiAoIWR3Yy0+Z2FkZ2V0KSB7DQo+ICAJCXJldCA9IC1FTk9NRU07DQo+ IEBAIC00ODY4LDYgKzQ4ODgsNyBAQCB2b2lkIGR3YzNfZ2FkZ2V0X2V4aXQoc3RydWN0IGR3YzMg KmR3YykNCj4gIAlpZiAoIWR3Yy0+Z2FkZ2V0KQ0KPiAgCQlyZXR1cm47DQo+ICANCj4gKwljYW5j ZWxfd29ya19zeW5jKCZkd2MtPnNvZnRjb25fd29yayk7DQo+ICAJZHdjM19lbmFibGVfc3VzcGh5 KGR3YywgdHJ1ZSk7DQo+ICAJdXNiX2RlbF9nYWRnZXQoZHdjLT5nYWRnZXQpOw0KPiAgCWR3YzNf Z2FkZ2V0X2ZyZWVfZW5kcG9pbnRzKGR3Yyk7DQo+IC0tIA0KPiAyLjUwLjEgKEFwcGxlIEdpdC0x NTUpDQo+IA0KDQpUaGFua3MsDQpUaGluaA==