From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id CB01CA0540; Tue, 14 Jul 2020 10:57:38 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 883CA1D546; Tue, 14 Jul 2020 10:57:37 +0200 (CEST) Received: from smtp4.jd.com (smtp4.jd.com [59.151.64.77]) by dpdk.org (Postfix) with ESMTP id D71651D162 for ; Tue, 14 Jul 2020 10:57:34 +0200 (CEST) Received: from JDCLOUDMAIL49.360buyAD.local (172.31.68.151) by JDCLOUDMAIL50.360buyAD.local (172.31.68.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1847.3; Tue, 14 Jul 2020 16:57:23 +0800 Received: from JDCLOUDMAIL49.360buyAD.local ([fe80::9151:9d0d:6f72:e7a4]) by JDCLOUDMAIL49.360buyAD.local ([fe80::9151:9d0d:6f72:e7a4%6]) with mapi id 15.01.1847.007; Tue, 14 Jul 2020 16:57:23 +0800 From: =?utf-8?B?546L5b+X5YWL?= To: Ferruh Yigit , "dev@dpdk.org" CC: "reshma.pattan@intel.com" Thread-Topic: [PATCH v2] net/pcap: support snaplen option to truncate packet Thread-Index: AQHWUQXUCIonFobgIUG8kg80ECInkKkBJKwAgAWyyvA= Date: Tue, 14 Jul 2020 08:57:23 +0000 Message-ID: <1536f63a5a3c4ae9af537583525b4a22@jd.com> References: <1593758842-6306-1-git-send-email-wangzhike@jd.com> <832ea60a-3721-9262-19ea-5ae0fb42e185@intel.com> In-Reply-To: <832ea60a-3721-9262-19ea-5ae0fb42e185@intel.com> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.31.12.238] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v2] net/pcap: support snaplen option to truncate packet X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" VGhhbmtzIGZvciByZXZpZXcuDQoNClNlbnQgdjQuDQoNCkJyLA0KWmhpa2UgV2FuZyANCkpEQ2xv dWQsIFByb2R1Y3QgRGV2ZWxvcG1lbnQsIElhYVPCoMKgIA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQpNb2JpbGXvvI8rODYgMTM0NjY3MTk1NjYNCkUtIG1haWzvvI93 YW5nemhpa2VAamQuY29tDQpBZGRyZXNz77yPNUYgQnVpbGRpbmcgQSxOb3J0aC1TdGFyIENlbnR1 cnkgQ2VudGVyLDggQmVpY2hlbiBXZXN0IFN0cmVldCxDaGFveWFuZyBEaXN0cmljdCBCZWlqaW5n DQpIdHRwczovL0pEQ2xvdWQuY29tDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCg0KDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBGZXJydWggWWln aXQgW21haWx0bzpmZXJydWgueWlnaXRAaW50ZWwuY29tXSANClNlbnQ6IFNhdHVyZGF5LCBKdWx5 IDExLCAyMDIwIDk6NTYgQU0NClRvOiDnjovlv5flhYs7IGRldkBkcGRrLm9yZw0KQ2M6IHJlc2ht YS5wYXR0YW5AaW50ZWwuY29tDQpTdWJqZWN0OiBSZTogW1BBVENIIHYyXSBuZXQvcGNhcDogc3Vw cG9ydCBzbmFwbGVuIG9wdGlvbiB0byB0cnVuY2F0ZSBwYWNrZXQNCg0KT24gNy8zLzIwMjAgNzo0 NyBBTSwgWmhpa2UgV2FuZyB3cm90ZToNCj4gSW50cm9kdWNlZCAic25hcGxlbj08bGVuZ3RoPiIg b3B0aW9uLiBJdCBpcyBjb252ZW5pZW50IHRvIHRydW5jYXRlDQo+IGxhcmdlIHBhY2tldHMgdG8g b25seSBjYXB0dXJlIG5lY2Vzc2FyeSBoZWFkZXJzLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogWmhp a2UgV2FuZyA8d2FuZ3poaWtlQGpkLmNvbT4NCj4gLS0tDQo+ICBhcHAvcGR1bXAvbWFpbi5jICAg ICAgICAgICAgICAgIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0NCj4gIGRy aXZlcnMvbmV0L3BjYXAvcnRlX2V0aF9wY2FwLmMgfCAzNSArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLQ0KPiAgMiBmaWxlcyBjaGFuZ2VkLCA2NSBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2FwcC9wZHVtcC9tYWluLmMgYi9hcHAvcGR1 bXAvbWFpbi5jDQo+IGluZGV4IGMzOGM1MzcuLjI0MTM0NmIgMTAwNjQ0DQo+IC0tLSBhL2FwcC9w ZHVtcC9tYWluLmMNCj4gKysrIGIvYXBwL3BkdW1wL21haW4uYw0KPiBAQCAtNDEsMTAgKzQxLDEy IEBADQo+ICAjZGVmaW5lIFBEVU1QX1JJTkdfU0laRV9BUkcgInJpbmctc2l6ZSINCj4gICNkZWZp bmUgUERVTVBfTVNJWkVfQVJHICJtYnVmLXNpemUiDQo+ICAjZGVmaW5lIFBEVU1QX05VTV9NQlVG U19BUkcgInRvdGFsLW51bS1tYnVmcyINCj4gKyNkZWZpbmUgUERVTVBfU05BUExFTl9BUkcgInNu YXBsZW4iDQo+ICANCj4gICNkZWZpbmUgVkRFVl9OQU1FX0ZNVCAibmV0X3BjYXBfJXNfJWQiDQo+ ICAjZGVmaW5lIFZERVZfUENBUF9BUkdTX0ZNVCAidHhfcGNhcD0lcyINCj4gICNkZWZpbmUgVkRF Vl9JRkFDRV9BUkdTX0ZNVCAidHhfaWZhY2U9JXMiDQo+ICsjZGVmaW5lIFZERVZfU05BUExFTl9B UkdTX0ZNVCAic25hcGxlbj0lZCINCj4gICNkZWZpbmUgVFhfU1RSRUFNX1NJWkUgNjQNCj4gIA0K PiAgI2RlZmluZSBNUF9OQU1FICJwZHVtcF9wb29sXyVkIg0KPiBAQCAtOTcsNiArOTksNyBAQCBl bnVtIHBkdW1wX2J5IHsNCj4gIAlQRFVNUF9SSU5HX1NJWkVfQVJHLA0KPiAgCVBEVU1QX01TSVpF X0FSRywNCj4gIAlQRFVNUF9OVU1fTUJVRlNfQVJHLA0KPiArCVBEVU1QX1NOQVBMRU5fQVJHLA0K PiAgCU5VTEwNCj4gIH07DQo+ICANCj4gQEAgLTExNiw2ICsxMTksNyBAQCBzdHJ1Y3QgcGR1bXBf dHVwbGVzIHsNCj4gIAl1aW50MzJfdCByaW5nX3NpemU7DQo+ICAJdWludDE2X3QgbWJ1Zl9kYXRh X3NpemU7DQo+ICAJdWludDMyX3QgdG90YWxfbnVtX21idWZzOw0KPiArCXVpbnQxNl90IHNuYXBs ZW47DQo+ICANCj4gIAkvKiBwYXJhbXMgZm9yIGxpYnJhcnkgQVBJIGNhbGwgKi8NCj4gIAl1aW50 MzJfdCBkaXI7DQo+IEBAIC0xNjAsNyArMTY0LDggQEAgc3RydWN0IHBhcnNlX3ZhbCB7DQo+ICAJ CQkiIHR4LWRldj08aWZhY2Ugb3IgcGNhcCBmaWxlPiwiDQo+ICAJCQkiW3Jpbmctc2l6ZT08cmlu ZyBzaXplPmRlZmF1bHQ6MTYzODRdLCINCj4gIAkJCSJbbWJ1Zi1zaXplPTxtYnVmIGRhdGEgc2l6 ZT5kZWZhdWx0OjIxNzZdLCINCj4gLQkJCSJbdG90YWwtbnVtLW1idWZzPTxudW1iZXIgb2YgbWJ1 ZnM+ZGVmYXVsdDo2NTUzNV0nXG4iLA0KPiArCQkJIlt0b3RhbC1udW0tbWJ1ZnM9PG51bWJlciBv ZiBtYnVmcz5kZWZhdWx0OjY1NTM1XSwiLA0KPiArCQkJIltzbmFwbGVuPTxzbmFwIGxlbmd0aD5k ZWZhdWx0OjAsIG1lYW5pbmcgbm8gdHJ1bmNhdGlvbl0nXG4iLA0KPiAgCQkJcHJnbmFtZSk7DQo+ ICB9DQo+ICANCj4gQEAgLTM3MCw2ICszNzUsMTkgQEAgc3RydWN0IHBhcnNlX3ZhbCB7DQo+ICAJ fSBlbHNlDQo+ICAJCXB0LT50b3RhbF9udW1fbWJ1ZnMgPSBNQlVGU19QRVJfUE9PTDsNCj4gIA0K PiArCS8qIHNuYXBsZW4gcGFyc2luZyBhbmQgdmFsaWRhdGlvbiAqLw0KPiArCWNudDEgPSBydGVf a3ZhcmdzX2NvdW50KGt2bGlzdCwgUERVTVBfU05BUExFTl9BUkcpOw0KPiArCWlmIChjbnQxID09 IDEpIHsNCj4gKwkJdi5taW4gPSAxOw0KPiArCQl2Lm1heCA9IFVJTlQxNl9NQVg7DQo+ICsJCXJl dCA9IHJ0ZV9rdmFyZ3NfcHJvY2Vzcyhrdmxpc3QsIFBEVU1QX1NOQVBMRU5fQVJHLA0KPiArCQkJ CQkJJnBhcnNlX3VpbnRfdmFsdWUsICZ2KTsNCj4gKwkJaWYgKHJldCA8IDApDQo+ICsJCQlnb3Rv IGZyZWVfa3ZsaXN0Ow0KPiArCQlwdC0+c25hcGxlbiA9ICh1aW50MTZfdCkgdi52YWw7DQo+ICsJ fSBlbHNlDQo+ICsJCXB0LT5zbmFwbGVuID0gMDsNCj4gKw0KPiAgCW51bV90dXBsZXMrKzsNCj4g IA0KPiAgZnJlZV9rdmxpc3Q6DQo+IEBAIC02OTIsNiArNzEwLDkgQEAgc3RydWN0IHBhcnNlX3Zh bCB7DQo+ICAJCQkJIFZERVZfSUZBQ0VfQVJHU19GTVQsIHB0LT5yeF9kZXYpIDoNCj4gIAkJCXNu cHJpbnRmKHZkZXZfYXJncywgc2l6ZW9mKHZkZXZfYXJncyksDQo+ICAJCQkJIFZERVZfUENBUF9B UkdTX0ZNVCwgcHQtPnJ4X2Rldik7DQo+ICsJCQlzbnByaW50Zih2ZGV2X2FyZ3MgKyBzdHJsZW4o dmRldl9hcmdzKSwNCj4gKwkJCQkgc2l6ZW9mKHZkZXZfYXJncykgLSBzdHJsZW4odmRldl9hcmdz KSwNCj4gKwkJCQkgIiwiVkRFVl9TTkFQTEVOX0FSR1NfRk1ULCBwdC0+c25hcGxlbik7DQo+ICAJ CQlpZiAocnRlX2VhbF9ob3RwbHVnX2FkZCgidmRldiIsIHZkZXZfbmFtZSwNCj4gIAkJCQkJCXZk ZXZfYXJncykgPCAwKSB7DQo+ICAJCQkJY2xlYW51cF9yaW5ncygpOw0KPiBAQCAtNzIyLDYgKzc0 Myw5IEBAIHN0cnVjdCBwYXJzZV92YWwgew0KPiAgCQkJCQkgVkRFVl9JRkFDRV9BUkdTX0ZNVCwg cHQtPnR4X2RldikgOg0KPiAgCQkJCXNucHJpbnRmKHZkZXZfYXJncywgc2l6ZW9mKHZkZXZfYXJn cyksDQo+ICAJCQkJCSBWREVWX1BDQVBfQVJHU19GTVQsIHB0LT50eF9kZXYpOw0KPiArCQkJCXNu cHJpbnRmKHZkZXZfYXJncyArIHN0cmxlbih2ZGV2X2FyZ3MpLA0KPiArCQkJCQkgc2l6ZW9mKHZk ZXZfYXJncykgLSBzdHJsZW4odmRldl9hcmdzKSwNCj4gKwkJCQkJICIsIlZERVZfU05BUExFTl9B UkdTX0ZNVCwgcHQtPnNuYXBsZW4pOw0KPiAgCQkJCWlmIChydGVfZWFsX2hvdHBsdWdfYWRkKCJ2 ZGV2IiwgdmRldl9uYW1lLA0KPiAgCQkJCQkJCXZkZXZfYXJncykgPCAwKSB7DQo+ICAJCQkJCWNs ZWFudXBfcmluZ3MoKTsNCj4gQEAgLTc2Miw2ICs3ODYsOSBAQCBzdHJ1Y3QgcGFyc2VfdmFsIHsN Cj4gIAkJCQkgVkRFVl9JRkFDRV9BUkdTX0ZNVCwgcHQtPnJ4X2RldikgOg0KPiAgCQkJc25wcmlu dGYodmRldl9hcmdzLCBzaXplb2YodmRldl9hcmdzKSwNCj4gIAkJCQkgVkRFVl9QQ0FQX0FSR1Nf Rk1ULCBwdC0+cnhfZGV2KTsNCj4gKwkJCXNucHJpbnRmKHZkZXZfYXJncyArIHN0cmxlbih2ZGV2 X2FyZ3MpLA0KPiArCQkJCSBzaXplb2YodmRldl9hcmdzKSAtIHN0cmxlbih2ZGV2X2FyZ3MpLA0K PiArCQkJCSAiLCJWREVWX1NOQVBMRU5fQVJHU19GTVQsIHB0LT5zbmFwbGVuKTsNCj4gIAkJCWlm IChydGVfZWFsX2hvdHBsdWdfYWRkKCJ2ZGV2IiwgdmRldl9uYW1lLA0KPiAgCQkJCQkJdmRldl9h cmdzKSA8IDApIHsNCj4gIAkJCQljbGVhbnVwX3JpbmdzKCk7DQo+IEBAIC03OTksNiArODI2LDkg QEAgc3RydWN0IHBhcnNlX3ZhbCB7DQo+ICAJCQkJIFZERVZfSUZBQ0VfQVJHU19GTVQsIHB0LT50 eF9kZXYpIDoNCj4gIAkJCXNucHJpbnRmKHZkZXZfYXJncywgc2l6ZW9mKHZkZXZfYXJncyksDQo+ ICAJCQkJIFZERVZfUENBUF9BUkdTX0ZNVCwgcHQtPnR4X2Rldik7DQo+ICsJCQlzbnByaW50Zih2 ZGV2X2FyZ3MgKyBzdHJsZW4odmRldl9hcmdzKSwNCj4gKwkJCQkgc2l6ZW9mKHZkZXZfYXJncykg LSBzdHJsZW4odmRldl9hcmdzKSwNCj4gKwkJCQkgIiwiVkRFVl9TTkFQTEVOX0FSR1NfRk1ULCBw dC0+c25hcGxlbik7DQo+ICAJCQlpZiAocnRlX2VhbF9ob3RwbHVnX2FkZCgidmRldiIsIHZkZXZf bmFtZSwNCj4gIAkJCQkJCXZkZXZfYXJncykgPCAwKSB7DQo+ICAJCQkJY2xlYW51cF9yaW5ncygp Ow0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcGNhcC9ydGVfZXRoX3BjYXAuYyBiL2RyaXZl cnMvbmV0L3BjYXAvcnRlX2V0aF9wY2FwLmMNCj4gaW5kZXggMTNhM2QwYS4uZDUxZWE0OCAxMDA2 NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvcGNhcC9ydGVfZXRoX3BjYXAuYw0KPiArKysgYi9kcml2 ZXJzL25ldC9wY2FwL3J0ZV9ldGhfcGNhcC5jDQo+IEBAIC00MCw2ICs0MCw3IEBADQo+ICAjZGVm aW5lIEVUSF9QQ0FQX0lGQUNFX0FSRyAgICAiaWZhY2UiDQo+ICAjZGVmaW5lIEVUSF9QQ0FQX1BI WV9NQUNfQVJHICAicGh5X21hYyINCj4gICNkZWZpbmUgRVRIX1BDQVBfSU5GSU5JVEVfUlhfQVJH ICAiaW5maW5pdGVfcngiDQo+ICsjZGVmaW5lIEVUSF9QQ0FQX1NOQVBMRU5fQVJHICAic25hcGxl biINCj4gIA0KPiAgI2RlZmluZSBFVEhfUENBUF9BUkdfTUFYTEVOCTY0DQo+ICANCj4gQEAgLTky LDYgKzkzLDcgQEAgc3RydWN0IHBtZF9wcm9jZXNzX3ByaXZhdGUgew0KPiAgCXBjYXBfdCAqcnhf cGNhcFtSVEVfUE1EX1BDQVBfTUFYX1FVRVVFU107DQo+ICAJcGNhcF90ICp0eF9wY2FwW1JURV9Q TURfUENBUF9NQVhfUVVFVUVTXTsNCj4gIAlwY2FwX2R1bXBlcl90ICp0eF9kdW1wZXJbUlRFX1BN RF9QQ0FQX01BWF9RVUVVRVNdOw0KPiArCWludCBzbmFwbGVuOw0KDQpBcyBpdCBzaG91bGRuJ3Qg YmUgbmVnYXRpdmUsIGNob29zaW5nICJ1bnNpZ25lZCBpbnQiIG9yICJzaXplX3QiIHR5cGUgY2Fu IGJlIGJldHRlci4NCg0KQWxzbyBpcyB0aGUgdmFyaWFibGUgYWRkZWQgdG8gJ3Byb2Nlc3NfcHJp dmF0ZScgbWVtbW9yeSBpbnRlbnRpb25hbGx5PyBXaHkgbm90DQppbiB0aGUgc2hhcmVkIGRldmlj ZSBkYXRhICgncG1kX2ludGVybmFscycpIG1lbW9yeT8NCg0KPiAgfTsNCj4gIA0KPiAgc3RydWN0 IHBtZF9kZXZhcmdzIHsNCj4gQEAgLTExNCw2ICsxMTYsNyBAQCBzdHJ1Y3QgcG1kX2RldmFyZ3Nf YWxsIHsNCj4gIAl1bnNpZ25lZCBpbnQgaXNfcnhfcGNhcDsNCj4gIAl1bnNpZ25lZCBpbnQgaXNf cnhfaWZhY2U7DQo+ICAJdW5zaWduZWQgaW50IGluZmluaXRlX3J4Ow0KPiArCWludCBzbmFwbGVu Ow0KPiAgfTsNCj4gIA0KPiAgc3RhdGljIGNvbnN0IGNoYXIgKnZhbGlkX2FyZ3VtZW50c1tdID0g ew0KPiBAQCAtMTI1LDYgKzEyOCw3IEBAIHN0cnVjdCBwbWRfZGV2YXJnc19hbGwgew0KPiAgCUVU SF9QQ0FQX0lGQUNFX0FSRywNCj4gIAlFVEhfUENBUF9QSFlfTUFDX0FSRywNCj4gIAlFVEhfUENB UF9JTkZJTklURV9SWF9BUkcsDQo+ICsJRVRIX1BDQVBfU05BUExFTl9BUkcsDQo+ICAJTlVMTA0K PiAgfTsNCj4gIA0KPiBAQCAtMzM5LDYgKzM0Myw5IEBAIHN0cnVjdCBwbWRfZGV2YXJnc19hbGwg ew0KPiAgCQkJY2FwbGVuID0gc2l6ZW9mKHRlbXBfZGF0YSk7DQo+ICAJCX0NCj4gIA0KPiArCQlp ZiAoKHBwLT5zbmFwbGVuID4gMCkgJiYgKGNhcGxlbiA+IHBwLT5zbmFwbGVuKSkNCj4gKwkJCWNh cGxlbiA9IHBwLT5zbmFwbGVuOw0KDQpUaGlzICJpcyAnc25hcGxlbicgc2V0IiBjaGVjayBkb25l IHBlciBwYWNrZXQsIGFuZCBpdCB3aWxsIGhpdCBib3RoICdzbmFwbGVuJw0Kc2V0IG9yIG5vdCwg SSB3b25kZXIgaWYgdGhlcmUgaXMgYSB3YXkgdG8gZ2V0IHJpZCBvZiBwZXIgcGFja2V0IGNoZWNr Pw0KDQo+ICAJCWNhbGN1bGF0ZV90aW1lc3RhbXAoJmhlYWRlci50cyk7DQo+ICAJCWhlYWRlci5s ZW4gPSBsZW47DQo+ICAJCWhlYWRlci5jYXBsZW4gPSBjYXBsZW47DQo+IEBAIC05NDksNiArOTU2 LDcgQEAgc3RydWN0IHBtZF9kZXZhcmdzX2FsbCB7DQo+ICB7DQo+ICAJY29uc3QgY2hhciAqcGNh cF9maWxlbmFtZSA9IHZhbHVlOw0KPiAgCXN0cnVjdCBwbWRfZGV2YXJncyAqZHVtcGVycyA9IGV4 dHJhX2FyZ3M7DQo+ICsJaW50IHNuYXBsZW47DQoNClRoaXMgaXMgbm90IHVzZWQgYXQgYWxsLCBJ IGd1ZXNzIGFkZGVkIGJ5IG1pc3Rha2UuDQoNCj4gIAlwY2FwX2R1bXBlcl90ICpkdW1wZXI7DQo+ ICANCj4gIAlpZiAob3Blbl9zaW5nbGVfdHhfcGNhcChwY2FwX2ZpbGVuYW1lLCAmZHVtcGVyKSA8 IDApDQo+IEBAIC0xMDgzLDYgKzEwOTEsMTkgQEAgc3RydWN0IHBtZF9kZXZhcmdzX2FsbCB7DQo+ ICB9DQo+ICANCj4gIHN0YXRpYyBpbnQNCj4gK2dldF9zbmFwbGVuX2FyZyhjb25zdCBjaGFyICpr ZXkgX19ydGVfdW51c2VkLA0KPiArCQljb25zdCBjaGFyICp2YWx1ZSwgdm9pZCAqZXh0cmFfYXJn cykNCj4gK3sNCj4gKwlpZiAoZXh0cmFfYXJncykgew0KPiArCQljb25zdCBpbnQgc25hcGxlbiA9 IGF0b2kodmFsdWUpOw0KDQonY29uc3QnIHF1YWxpZmllciBpcyBub3QgbmVlZGVkLg0KDQpBbmQg c29tZSBlcnJvciBjaGVja3MgY2FuIGJlIGJldHRlci4NCg0KPiArCQlpbnQgKnNuYXBsZW5fcCA9 IGV4dHJhX2FyZ3M7DQo+ICsNCj4gKwkJKnNuYXBsZW5fcCA9IHNuYXBsZW47DQo+ICsJfQ0KPiAr CXJldHVybiAwOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgaW50DQo+ICBwbWRfaW5pdF9pbnRlcm5h bHMoc3RydWN0IHJ0ZV92ZGV2X2RldmljZSAqdmRldiwNCj4gIAkJY29uc3QgdW5zaWduZWQgaW50 IG5iX3J4X3F1ZXVlcywNCj4gIAkJY29uc3QgdW5zaWduZWQgaW50IG5iX3R4X3F1ZXVlcywNCj4g QEAgLTEzMzUsNiArMTM1Niw3IEBAIHN0cnVjdCBwbWRfZGV2YXJnc19hbGwgew0KPiAgCXN0cnVj dCBydGVfZXRoX2RldiAqZXRoX2RldiA9ICBOVUxMOw0KPiAgCXN0cnVjdCBwbWRfaW50ZXJuYWxz ICppbnRlcm5hbDsNCj4gIAlpbnQgcmV0ID0gMDsNCj4gKwl1bnNpZ25lZCBpbnQgc25hcGxlbl9j bnQ7DQo+ICANCj4gIAlzdHJ1Y3QgcG1kX2RldmFyZ3NfYWxsIGRldmFyZ3NfYWxsID0gew0KPiAg CQkuc2luZ2xlX2lmYWNlID0gMCwNCj4gQEAgLTE0MTIsNiArMTQzNCwxNSBAQCBzdHJ1Y3QgcG1k X2RldmFyZ3NfYWxsIHsNCj4gIAkJcnRlX2t2YXJnc19jb3VudChrdmxpc3QsIEVUSF9QQ0FQX1RY X0lGQUNFX0FSRykgPyAxIDogMDsNCj4gIAlkdW1wZXJzLm51bV9vZl9xdWV1ZSA9IDA7DQo+ICAN Cj4gKwlzbmFwbGVuX2NudCA9IHJ0ZV9rdmFyZ3NfY291bnQoa3ZsaXN0LA0KPiArCQkJCUVUSF9Q Q0FQX1NOQVBMRU5fQVJHKTsNCj4gKwlpZiAoc25hcGxlbl9jbnQgPT0gMSkgew0KDQpObyBuZWVk IHRvIGdldCB0aGUgY291bnQgb2YgdGhlIGRldmFyZ3MuIEp1c3QgY2FsbGluZyAncnRlX2t2YXJn c19wcm9jZXNzKCknDQpzaG91bGQgYmUgZW5vdWdoLg0KDQo+ICsJCXJldCA9IHJ0ZV9rdmFyZ3Nf cHJvY2Vzcyhrdmxpc3QsIEVUSF9QQ0FQX1NOQVBMRU5fQVJHLA0KPiArCQkJCSZnZXRfc25hcGxl bl9hcmcsICZkZXZhcmdzX2FsbC5zbmFwbGVuKTsNCg0KJ3NuYXBsZW4nIG1ha2Ugc2Vuc2Ugb25s eSBmb3IgJ2lzX3R4X3BjYXAnIGNhc2UsIHNvIHlvdSBjYW4gcHJvY2VzcyB0aGUNCidFVEhfUENB UF9TTkFQTEVOX0FSRycgYXJnIG9ubHkgZm9yICdpc190eF9wY2FwJyBjYXNlLg0KDQo+ICsJCWlm IChyZXQgPCAwKQ0KPiArCQkJZ290byBmcmVlX2t2bGlzdDsNCj4gKwl9DQo+ICsNCj4gIAlpZiAo ZGV2YXJnc19hbGwuaXNfcnhfcGNhcCkgew0KPiAgCQkvKg0KPiAgCQkgKiBXZSBjaGVjayB3aGV0 aGVyIHdlIHdhbnQgdG8gaW5maW5pdGVseSByeCB0aGUgcGNhcCBmaWxlLg0KPiBAQCAtMTUxOCw2 ICsxNTQ5LDcgQEAgc3RydWN0IHBtZF9kZXZhcmdzX2FsbCB7DQo+ICAJCQlwcC0+dHhfcGNhcFtp XSA9IGR1bXBlcnMucXVldWVbaV0ucGNhcDsNCj4gIAkJfQ0KPiAgDQo+ICsJCXBwLT5zbmFwbGVu ID0gZGV2YXJnc19hbGwuc25hcGxlbjsNCg0KVGhpcyBpcyBpbnNpZGUgdGhlICJydGVfZWFsX3By b2Nlc3NfdHlwZSgpID09IFJURV9QUk9DX1NFQ09OREFSWSIgYmxvY2ssIHdoeQ0KJ3NuYXBsZW4n IG9ubHkgdXNlZCBmb3Igc2Vjb25kYXJ5IHByb2Nlc3M/DQoNCj4gIAkJZXRoX2Rldi0+cHJvY2Vz c19wcml2YXRlID0gcHA7DQo+ICAJCWV0aF9kZXYtPnJ4X3BrdF9idXJzdCA9IGV0aF9wY2FwX3J4 Ow0KPiAgCQlpZiAoZGV2YXJnc19hbGwuaXNfdHhfcGNhcCkNCj4gQEAgLTE1ODcsNyArMTYxOSw4 IEBAIHN0cnVjdCBwbWRfZGV2YXJnc19hbGwgew0KPiAgCUVUSF9QQ0FQX1RYX0lGQUNFX0FSRyAi PTxpZmM+ICINCj4gIAlFVEhfUENBUF9JRkFDRV9BUkcgIj08aWZjPiAiDQo+ICAJRVRIX1BDQVBf UEhZX01BQ19BUkcgIj08aW50PiINCj4gLQlFVEhfUENBUF9JTkZJTklURV9SWF9BUkcgIj08MHwx PiIpOw0KPiArCUVUSF9QQ0FQX0lORklOSVRFX1JYX0FSRyAiPTwwfDE+Ig0KPiArCUVUSF9QQ0FQ X1NOQVBMRU5fQVJHICI9PGludD4iKTsNCj4gIA0KPiAgUlRFX0lOSVQoZXRoX3BjYXBfaW5pdF9s b2cpDQo+ICB7DQo+IA0KDQo=