From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jon Rosen (jrosen)" Subject: RE: [RFC PATCH] packet: mark ring entry as in-use inside spin_lock to prevent RX ring overrun Date: Wed, 4 Apr 2018 14:59:48 +0000 Message-ID: <057239cdf1c34bc69636009c9e099214@XCH-RTP-016.cisco.com> References: <20180403215526.15934-1-jrosen@cisco.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: "David S. Miller" , Willem de Bruijn , Eric Dumazet , Kees Cook , David Windsor , "Rosen, Rami" , "Reshetova, Elena" , "Mike Maloney" , Benjamin Poirier , "open list:NETWORKING [GENERAL]" , open list To: Willem de Bruijn Return-path: In-Reply-To: Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org T24gV2VkbmVzZGF5LCBBcHJpbCAwNCwgMjAxOCA5OjQ5IEFNLCBXaWxsZW0gZGUgQnJ1aWpuIDx3 aWxsZW1iQGdvb2dsZS5jb20+IHdyb3RlOg0KPiANCj4gT24gVHVlLCBBcHIgMywgMjAxOCBhdCAx MTo1NSBQTSwgSm9uIFJvc2VuIDxqcm9zZW5AY2lzY28uY29tPiB3cm90ZToNCj4gPiBGaXggUEFD S0VUX1JYX1JJTkcgYnVnIGZvciB2ZXJzaW9ucyBUUEFDS0VUX1YxIGFuZCBUUEFDS0VUX1YyIHdo aWNoDQo+ID4gY2FzdWVzIHRoZSByaW5nIHRvIGdldCBjb3JydXB0ZWQgYnkgYWxsb3dpbmcgbXVs dGlwbGUga2VybmVsIHRocmVhZHMNCj4gPiB0byBjbGFpbSBvd25lcnNoaXAgb2YgdGhlIHNhbWUg cmluZyBlbnRyeSwgTWFyayB0aGUgcmluZyBlbnRyeSBhcw0KPiA+IGFscmVhZHkgYmVpbmcgdXNl ZCB3aXRoaW4gdGhlIHNwaW5fbG9jayB0byBwcmV2ZW50IG90aGVyIGtlcm5lbA0KPiA+IHRocmVh ZHMgZnJvbSByZXVzaW5nIHRoZSBzYW1lIGVudHJ5IGJlZm9yZSBpdCdzIGZ1bGx5IGZpbGxlZCBp biwNCj4gPiBwYXNzZWQgdG8gdXNlciBzcGFjZSwgYW5kIHRoZW4gZXZlbnR1YWxseSBwYXNzZWQg YmFjayB0byB0aGUga2VybmVsDQo+ID4gZm9yIHVzZSB3aXRoIGEgbmV3IHBhY2tldC4NCj4gPg0K PiA+IE5vdGUgdGhhdCB0aGUgcHJvcG9zZWQgY2hhbmdlIG1heSBtb2RpZnkgdGhlIHNlbWFudGlj cyBvZiB0aGUNCj4gPiBpbnRlcmZhY2UgYmV0d2VlbiBrZXJuZWwgc3BhY2UgYW5kIHVzZXIgc3Bh Y2UgaW4gYSB3YXkgd2hpY2ggbWF5IGNhdXNlDQo+ID4gc29tZSBhcHBsaWNhdGlvbnMgdG8gbm8g bG9uZ2VyIHdvcmsgcHJvcGVybHkuDQo+IA0KPiBBcyBsb25nIGFzIFRQX1NUQVRVU19VU0VSICgx KSBpcyBub3Qgc2V0LCB1c2Vyc3BhY2Ugc2hvdWxkIGlnbm9yZQ0KPiB0aGUgc2xvdC4uDQo+IA0K PiA+ICAgIE9uZSBpc3N1ZSB3aXRoIHRoZSBhYm92ZSBwcm9wb3NlZCBjaGFuZ2UgdG8gdXNlIFRQ X1NUQVRVU19JTl9QUk9HUkVTUw0KPiA+ICAgIGlzIHRoYXQgdGhlIGRvY3VtZW50YXRpb24gb2Yg dGhlIHRwX3N0YXR1cyBmaWVsZCBpcyBzb21ld2hhdA0KPiA+ICAgIGluY29uc2lzdGVudC4gIElu IHNvbWUgcGxhY2VzIGl0J3MgZGVzY3JpYmVkIGFzIFRQX1NUQVRVU19LRVJORUwoMCkNCj4gPiAg ICBtZWFuaW5nIHRoZSBlbnRyeSBpcyBvd25lZCBieSB0aGUga2VybmVsIGFuZCAhVFBfU1RBVFVT X0tFUk5FTCgwKQ0KPiA+ICAgIG1lYW5pbmcgdGhlIGVudHJ5IGlzIG93bmVkIGJ5IHVzZXIgc3Bh Y2UuICBJbiBvdGhlciBwbGFjZXMgb3duZXJzaGlwDQo+ID4gICAgYnkgdXNlciBzcGFjZSBpcyBk ZWZpbmVkIGJ5IHRoZSBUUF9TVEFUVVNfVVNFUigxKSBiaXQgYmVpbmcgc2V0Lg0KPiANCj4gQnV0 IGluZGVlZCB0aGlzIGV4YW1wbGUgaW4gcGFja2V0X21tYXAudHh0IGlzIHByb2JsZW1hdGljDQo+ IA0KPiAgICAgaWYgKHN0YXR1cyA9PSBUUF9TVEFUVVNfS0VSTkVMKQ0KPiAgICAgICAgIHJldHZh bCA9IHBvbGwoJnBmZCwgMSwgdGltZW91dCk7DQo+IA0KPiBJdCBkb2VzIG5vdCByZWFsbHkgbWF0 dGVyIHdoZXRoZXIgdGhlIGRvY3MgYXJlIHBvc3NpYmx5IGluY29uc2lzdGVudCBhbmQNCj4gd2hp Y2ggb25lIGlzIGF1dGhvcml0YXRpdmUuIEV4YW1wbGVzIGxpa2UgdGhlIGFib3ZlIG1ha2UgaXQg bGlrZWx5IHRoYXQNCj4gc29tZSB1c2VyIGNvZGUgZXhwZWN0cyBzdWNoIGNvZGUgdG8gd29yay4N Cg0KWWVzLCB0aGF0J3MgZXhhY3RseSBteSBjb25jZXJuLiAgWWV0IGFub3RoZXIgdHJvdWJsaW5n IGV4YW1wbGUgc2VlbXMgdG8gYmUNCmxpcGJjYXAgd2hpY2ggYWxzbyBpcyBsb29raW5nIHNwZWNp ZmljYWxseSBmb3Igc3RhdHVzIHRvIGJlIGFueXRoaW5nIG90aGVyIHRoYW4NClRQX1NUQVRVU19L RVJORUwoMCkgdG8gaW5kaWNhdGUgYSBmcmFtZSBpcyBhdmFpbGFibGUgaW4gdXNlciBzcGFjZS4N Cg0KRWl0aGVyIHdheSB0aGluZ3MgYXJlIGJyb2tlbi4gVGhleSBhcmUgYnJva2VuIGFzIHRoZXkg c3RhbmQgbm93IGJlY2F1c2UgdGhlDQpyaW5nIGNhbiBnZXQgb3ZlcnJ1biBhbmQgdGhlIGtlcm5l bCBhbmQgdXNlciBzcGFjZSB0cmFja2luZyBvZiB0aGUgcmluZyBjYW4NCmdldCBvdXQgb2Ygc3lu Yy4gIEFuZCB0aGV5IGFyZSBicm9rZW4gd2l0aCB0aGUgYmVsb3cgY2hhbmdlIGJlY2F1c2Ugc29t ZSB1c2VyDQpzcGFjZSBhcHBsaWNhdGlvbnMgd2lsbCBiZSBsb29raW5nIGZvciBhbnl0aGluZyBv dGhlciB0aGFuIFRQX1NUQVRVU19LRVJORUwsDQpzbyBhZ2FpbiB0aGUgcmluZyB3aWxsIGdldCBv dXQgb2Ygc3luYy4NCg0KVGhlIGRpZmZlcmVuY2UgaGVyZSBiZWluZyB0aGF0IHRoZSB3YXkgaXQg aXMgdG9kYXkgaXMgb24gYXZlcmFnZSAoYWNyb3NzIGFsbCBlbnZpcm9ubWVudHMNCmFuZCBhY3Jv c3MgYWxsIHVzZXIgc3BhY2UgYXBwcykgbGVzcyBsaWtlbHkgdG8gb2NjdXIgd2hpbGUgd2l0aCB0 aGUgY2hhbmdlIGJlbG93IGl0IGlzDQptdWNoIG1vcmUgbGlrZWx5IHRvIG9jY3VyLg0KDQpNYXli ZSB0aGUgcmlnaHQgYW5zd2VyIGhlcmUgaXMgdG8gaW1wbGVtZW50IGEgZml4IHRoYXQgaXMgY29t cGF0aWJsZSBmb3IgZXhpc3RpbmcNCmFwcGxpY2F0aW9ucyBhbmQgYWNjZXB0IGFueSBwb3RlbnRp YWwgcGVyZm9ybWFuY2UgaW1wYWN0cyBhbmQgdGhlbiBhZGQgeWV0IGFub3RoZXINCnZlcnNpb24g KFRQQUNLRVRfVjQ/KSB3aGljaCBtb3JlIHN0cmljdGx5IHJlcXVpcmVzIHRoZSBUUF9TVEFUVVNf VVNFUiBiaXQgZm9yDQpwYXNzaW5nIG93bmVyc2hpcC4NCg0KPiANCj4gPiArKysgYi9uZXQvcGFj a2V0L2FmX3BhY2tldC5jDQo+ID4gQEAgLTIyODcsNiArMjI4NywxNSBAQCBzdGF0aWMgaW50IHRw YWNrZXRfcmN2KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsDQo+ ID4gICAgICAgICAgICAgICAgIGlmIChwby0+c3RhdHMuc3RhdHMxLnRwX2Ryb3BzKQ0KPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cyB8PSBUUF9TVEFUVVNfTE9TSU5HOw0KPiA+ICAg ICAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAgICAvKg0KPiA+ICsgICAgICAgICAqIE1hcmsgdGhp cyBlbnRyeSBhcyBUUF9TVEFUVVNfSU5fUFJPR1JFU1MgdG8gcHJldmVudCBvdGhlcg0KPiA+ICsg ICAgICAgICAqIGtlcm5lbCB0aHJlYWRzIGZyb20gcmUtdXNpbmcgdGhpcyBzYW1lIGVudHJ5Lg0K PiA+ICsgICAgICAgICAqLw0KPiA+ICsjZGVmaW5lIFRQX1NUQVRVU19JTl9QUk9HUkVTUyBUUF9T VEFUVVNfTE9TSU5HDQo+IA0KPiBObyBuZWVkIHRvIHJlaW50ZXJwcmV0IGV4aXN0aW5nIGZsYWdz LiB0cF9zdGF0dXMgaXMgYSB1MzIgd2l0aA0KPiBzdWZmaWNpZW50IHVuZGVmaW5lZCBiaXRzLg0K DQpBZ3JlZWQuDQoNCj4gDQo+ID4gKyAgICAgICBpZiAocG8tPnRwX3ZlcnNpb24gPD0gVFBBQ0tF VF9WMikNCj4gPiArICAgICAgICAgICAgX19wYWNrZXRfc2V0X3N0YXR1cyhwbywgaC5yYXcsIFRQ X1NUQVRVU19JTl9QUk9HUkVTUyk7DQo+ID4gKw0KPiA+ICAgICAgICAgcG8tPnN0YXRzLnN0YXRz MS50cF9wYWNrZXRzKys7DQo+ID4gICAgICAgICBpZiAoY29weV9za2IpIHsNCj4gPiAgICAgICAg ICAgICAgICAgc3RhdHVzIHw9IFRQX1NUQVRVU19DT1BZOw0KPiA+IC0tDQo+ID4gMi4xMC4zLmRp cnR5DQo+ID4NCg0KVGhhbmtzIGZvciB0aGUgZmVlZGJhY2shDQpKb24uDQo=