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=-5.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_PASS autolearn=ham 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 F1C1CC1B0FD for ; Fri, 18 Jan 2019 22:40:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id ABCF52054F for ; Fri, 18 Jan 2019 22:40:03 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=fb.com header.i=@fb.com header.b="TEt3BAH0"; dkim=pass (1024-bit key) header.d=fb.onmicrosoft.com header.i=@fb.onmicrosoft.com header.b="XHHoNkxq" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730051AbfARWkC (ORCPT ); Fri, 18 Jan 2019 17:40:02 -0500 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:54236 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729983AbfARWkB (ORCPT ); Fri, 18 Jan 2019 17:40:01 -0500 Received: from pps.filterd (m0044008.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x0IMTQeF014375; Fri, 18 Jan 2019 14:39:33 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=facebook; bh=kcLhOfut6RWfCcr8p3ghVxhIzGf6TnVM8GGeTkT+/dE=; b=TEt3BAH0tLKpGqmWQz8pZBhv/7gw1ASGTpYw90bjCWAP7OUTq6V8nw+AFPr1jId12I9p SKqx8L3cTqJTyIJ0XiuUTCDtznZNO7Hmf9qSaAL29T143MuIJdrz7n+SJ/FH91iKcPnw I26s6TcTXoyOP6oq1P//QTg1qCJG8tEespI= Received: from mail.thefacebook.com ([199.201.64.23]) by mx0a-00082601.pphosted.com with ESMTP id 2q3nqn0dac-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 18 Jan 2019 14:39:33 -0800 Received: from prn-hub03.TheFacebook.com (2620:10d:c081:35::127) by prn-hub04.TheFacebook.com (2620:10d:c081:35::128) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.1.1531.3; Fri, 18 Jan 2019 14:39:32 -0800 Received: from NAM01-SN1-obe.outbound.protection.outlook.com (192.168.54.28) by o365-in.thefacebook.com (192.168.16.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.1.1531.3 via Frontend Transport; Fri, 18 Jan 2019 14:39:31 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.onmicrosoft.com; s=selector1-fb-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kcLhOfut6RWfCcr8p3ghVxhIzGf6TnVM8GGeTkT+/dE=; b=XHHoNkxqYHpiEHNqrxX9+Xu63KcTnLhibpg7d7ogNtEBS9rl7+dy81fHeRKyTHFzX4pFnmfb0YnrOomm532CQGBVuvquhIzBfwHxLvdxICMhab0Jv0wApEQsdBR2eFuIZ6F+D154sGLG+7vrJZ51IYkKx0jj/fXB89rrIJ0FbFk= Received: from CY4PR15MB1366.namprd15.prod.outlook.com (10.172.159.22) by CY4PR15MB1702.namprd15.prod.outlook.com (10.174.53.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1516.18; Fri, 18 Jan 2019 22:39:30 +0000 Received: from CY4PR15MB1366.namprd15.prod.outlook.com ([fe80::590:36f9:2618:6e4b]) by CY4PR15MB1366.namprd15.prod.outlook.com ([fe80::590:36f9:2618:6e4b%10]) with mapi id 15.20.1516.019; Fri, 18 Jan 2019 22:39:30 +0000 From: Andrey Ignatov To: Stanislav Fomichev CC: Stanislav Fomichev , "netdev@vger.kernel.org" , "davem@davemloft.net" , "ast@kernel.org" , "daniel@iogearbox.net" , "edumazet@google.com" Subject: Re: [PATCH bpf-next 0/5] add bpf cgroup hooks that trigger on socket close Thread-Topic: [PATCH bpf-next 0/5] add bpf cgroup hooks that trigger on socket close Thread-Index: AQHUrsaMT+26x4RVLUmQMcRszASSvKW0T8sAgADugoCAAGF9AA== Date: Fri, 18 Jan 2019 22:39:30 +0000 Message-ID: <20190118223926.GA15896@rdna-mbp.dhcp.thefacebook.com> References: <20190118004106.163825-1-sdf@google.com> <20190118023654.GB8342@rdna-mbp.dhcp.thefacebook.com> <20190118165033.GA26773@mini-arch> In-Reply-To: <20190118165033.GA26773@mini-arch> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: MWHPR01CA0045.prod.exchangelabs.com (2603:10b6:300:101::31) To CY4PR15MB1366.namprd15.prod.outlook.com (2603:10b6:903:fa::22) x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [2620:10d:c090:180::1:ddbc] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;CY4PR15MB1702;20:t+H0kK5ItYDnWTqK9TmJBbN21qSZCFEtGmwrpm5iX46uAm81kSk/290fyGjC2Sa3rNya4kNTesazDJArIwPdvbO2N3SmxU5YoqoZBRVlCr5bf6c6VBmLBGHPvgXd4CZDnaoBgKm+dFXv3gxpeUF5E2VW9wmCgW2BTmjH73FqpvA= x-ms-office365-filtering-correlation-id: f2ad4619-984b-4715-92d1-08d67d95cf3b x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600109)(711020)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020);SRVR:CY4PR15MB1702; x-ms-traffictypediagnostic: CY4PR15MB1702: x-microsoft-antispam-prvs: x-forefront-prvs: 0921D55E4F x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(376002)(346002)(366004)(396003)(136003)(39860400002)(189003)(199004)(68736007)(6246003)(14454004)(476003)(5024004)(97736004)(25786009)(14444005)(53936002)(5660300001)(11346002)(2906002)(8936002)(81156014)(6116002)(46003)(6916009)(316002)(486006)(81166006)(8676002)(4326008)(54906003)(256004)(446003)(86362001)(71200400001)(102836004)(71190400001)(9686003)(478600001)(6346003)(1076003)(52116002)(33896004)(99286004)(186003)(6486002)(33656002)(386003)(6512007)(229853002)(6506007)(76176011)(105586002)(106356001)(6436002)(7736002)(305945005);DIR:OUT;SFP:1102;SCL:1;SRVR:CY4PR15MB1702;H:CY4PR15MB1366.namprd15.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: fb.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: EyWZO5xmCCpAqdQ/P3lDIh/XXw5m92/V//VHpo3NkA/e54pFG8HdXjFS014u0sb/sar91k/9ijiF6Co7v+lxOX/ivG3fKAXRBcbJgXg2wEa2z970VdJQHnkc/Y8elX1gmsrFV7zWFLmS9+NUSxcCDEFk6TFjTp9cdwczJBmrj7YuVOEqwk2dozoULaGH6Huc+tPy78HWXwm30F4Kf/YF3xSrzduPmuDZMM8o0uRarpHfX7my46q9xahjRn3YC+UVMBsj13U9f6NOg+R/2EOnnOuSg/oWBs3MfkW5GznXNDbv1EehLBsjTj4lxKf/BSbyqUA3LKtmvmIMrtVc/xeuzQ7okVwl/ZcuV2tFNkp9CtGoyAnqBLf3NxvkicoOxOTn0eNkHSa3L63799R3PdWutt35BXvn+9Tnllk9ZA3M4GE= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: f2ad4619-984b-4715-92d1-08d67d95cf3b X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jan 2019 22:39:29.8484 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR15MB1702 X-OriginatorOrg: fb.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-01-18_13:,, signatures=0 X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org U3RhbmlzbGF2IEZvbWljaGV2IDxzZGZAZm9taWNoZXYubWU+IFtGcmksIDIwMTktMDEtMTggMDg6 NTAgLTA4MDBdOg0KPiBPbiAwMS8xOCwgQW5kcmV5IElnbmF0b3Ygd3JvdGU6DQo+ID4gU3Rhbmlz bGF2IEZvbWljaGV2IDxzZGZAZ29vZ2xlLmNvbT4gW1RodSwgMjAxOS0wMS0xNyAxNjo0MSAtMDgw MF06DQo+ID4gPiBDdXJyZW50bHksIHdlIGhhdmUgQlBGX0NHUk9VUF9JTkVUX1NPQ0tfQ1JFQVRF IGhvb2sgdGhhdCB0cmlnZ2VycyBvbg0KPiA+ID4gc29ja2V0IGNyZWF0aW9uIGFuZCB0aGVyZSBp cyBubyB3YXkgdG8ga25vdyB3aGVuIHRoZSBzb2NrZXQgaXMgYmVpbmcNCj4gPiA+IGNsb3NlZC4g QWRkIG5ldyBzZXQgb2YgaG9va3MgQlBGX0NHUk9VUF9JTkVUezQsNn1fU09DS19SRUxFQVNFDQo+ ID4gPiB0aGF0IHRyaWdnZXIgd2hlbiB0aGUgc29ja2V0IGlzIGNsb3NlZC4NCj4gPiA+IA0KPiA+ ID4gSW5pdGlhbCBpbnRlbmRlZCB1c2VjYXNlIGlzIHRvIGNsZWFudXAgc3RhdGlzdGljcyBhZnRl ciBQT1NUezQsNn1fQklORC4NCj4gPiA+IEhvb2tzIGhhdmUgcmVhZC1vbmx5IGFjY2VzcyB0byBh bGwgZmllbGRzIG9mIHN0cnVjdCBicGZfc29jay4NCj4gPiANCj4gPiBEbyB5b3UgbmVlZCBpdCBm b3IgYm90aCBUQ1AgYW5kIFVEUD8NCj4gWWVzLCB3ZSBuZWVkIGJvdGggVENQIGFuZCBVRFAuIEFs dGhvdWdoLCBVRFAgaXMgdHJpY2t5IGluIGdlbmVyYWwgd2l0aA0KPiB0aGUgY29ubmVjdGVkL3Vu Y29ubmVjdGVkIGNhc2VzLg0KPiANCj4gPiBJIHdhcyB0aGlua2luZyBhYm91dCB0aGlzIGhvb2sg ZWFybGllciBidXQgc2luY2UgaW4gbXkgY2FzZSBvbmx5IFRDUCB3YXMNCj4gPiBuZWVkZWQgSSBl bmRlZCB1cCB1c2luZyBUQ1AtQlBGLiBFLmcuIGJlIEJQRl9TT0NLX09QU19UQ1BfTElTVEVOX0NC IG9yDQo+ID4gQlBGX1NPQ0tfT1BTX1RDUF9DT05ORUNUX0NCIGNhbiBiZSB1c2VkIGluc3RlYWQg b2YgUE9TVHs0LDZ9X0JJTkQgdG8NCj4gPiBlbmFibGUgc29tZXRoaW5nLCBhbmQgdGhlbiBCUEZf U09DS19PUFNfU1RBVEVfQ0IgY2FuIGJlIHVzZWQgaW5zdGVhZCBvZg0KPiA+IFNPQ0tfUkVMRUFT RSB0byBkaXNhYmxlIHRoYXQgc29tZXRoaW5nIHdoZW4gc29ja2V0IHRyYW5zaXNpb25zIHRvDQo+ ID4gQlBGX1RDUF9DTE9TRSAoZS5nLiBCUEZfVENQX0xJU1RFTiAtPiBCUEZfVENQX0NMT1NFKS4N Cj4gPiANCj4gPiBUaGF0IHR1cm5lZCBvdXQgdG8gYmUgbXVjaCBjbGVhbmVyIHRoYW4gUE9TVHs0 LDZ9X0JJTkQgYW5kIGFsc28gd29ya3MNCj4gPiBmaW5lIHdoZW4gc29ja2V0IGlzIGRpc2Nvbm5l Y3RlZCB3aXRoIEFGX1VOU1BFQyBhbmQgdGhlbiBjb25uZWN0ZWQgYWdhaW4NCj4gPiAod2hhdCBF cmljIG1lbnRpb25lZCkuDQo+IA0KPiBXaGF0IGlmIHdlIGRvIHNvbWV0aGluZyBsaWtlIHRoZSBw YXRjaCBiZWxvdz8gQWRkIHByZV9yZWxlYXNlIGhvb2sgKGxpa2Ugd2UNCj4gY3VycmVudGx5IGhh dmUgZm9yIHByZV9jb25uZWN0KSBhbmQgY2FsbCBpdCBmcm9tIGNvbm5lY3QoQUZfVU5TUEVDKSBh bmQNCj4gZnJvbSBpbmV0X3JlbGVhc2U/IEFueSBjb25jZXJucyBoZXJlPw0KDQpUaGF0J3MgaGFy ZCB0byBzYXkgdy9vIGZ1bGx5IHVuZGVyc3RhbmRpbmcgdGhlIHVzZS1jYXNlLiBDb3VsZCB5b3UN CnByb3ZpZGUgbW9yZSBkZXRhaWxzIG9uIGl0IHBsZWFzZT8NCg0KSXMgbXkgdW5kZXJzdGFuZGlu ZyBjb3JyZWN0IHRoYXQgc29tZSBzdGF0aXN0aWNzIGlzIG5lZWRlZCBvbmx5IGZvcg0KX2NsaWVu dF8gc29ja2V0cyAoc2luY2Ugd2UncmUgdGFsa2luZyBhYm91dCBjb25uZWN0KSBhbmQgdGhlc2Ug Y2xpZW50DQpzb2NrZXRzIGFyZSBhbHdheXMgYm91bmQgdG8gbG9jYWwgSVA6cG9ydCAob3IgbWF5 YmUgSVAgb25seSB3aXRoDQpJUF9CSU5EX0FERFJFU1NfTk9fUE9SVD8pIGJlZm9yZSBzZW5kaW5n IGRhdGEgYW5kIHRoYXQncyB3aHkNClBPU1R7NCw2fV9CSU5EIGlzIHVzZWQgdG8gc3RhcnQgZ2F0 aGVyaW5nIHN0YXRpc3RpY3M/DQoNCkFuZCB0aGVuIGxhdGVyLCB0aGVyZSBzaG91bGQgYmUgc29t ZSBldmVudCB0byBjbGVhbnVwIHN0YXRpc3RpY3MgYW5kIHlvdQ0KY2hvc2Ugb3BzLT5yZWxlYXNl IGZvciB0aGlzPyBJZiBzbyB3aGF0J3Mga2luZCBvZiBzdGF0aXN0aWNzIGlzIG5lZWRlZD8NCklz IGl0IHBlci1kZXN0aW5hdGlvbiBzdGF0aXN0aWNzIChzaW5jZSBBRl9VTlNQRUMgbWF0dGVycz8p PyBJZiBzbyB0aGVuDQppdCBzaG91bGQgYmUgY2xlYW5lZCB1cCB3aGVuZXZlciBkZXN0aW5hdGlv biBpcyBjaGFuZ2VkIG9yIHdoZW4gc29ja2V0DQppcyBkaXNjb25uZWN0ZWQgdGhlIGxhc3QgdGlt ZS4NCg0KRm9yIFVEUCBzb2NrZXQgY29ubmVjdCgyKSBjYW4gYmUgY2FsbGVkIG1hbnkgdGltZXMg d2l0aCBkaWZmZXJlbnQNCmRlc3RpbmF0aW9ucyBldmVuIHcvbyBBRl9VTlNQRUMgaW4gYmV0d2Vl biAoaW4gY29udHJhc3QgdG8gVENQKS4gU28geW91cg0KcGF0Y2ggd2l0aCBwcmVfcmVsZWFzZSBi ZWxvdyB3b24ndCBoYW5kbGUgaXQuIEZ1cnRoZXJtb3JlIGV2ZW4gaWYNCmNvbm5lY3QoMikgd2Fz IHVzZWQgdG8gc2V0IGRlc3RpbmF0aW9uLCBzZW5kbXNnKDIpIGNhbiBvdmVycmlkZSBpdCBmb3IN CmluZGl2aWR1YWwgZGF0YWdyYW0uIA0KDQpJZiBwZXItZGVzdGluYXRpb24gc3RhdGlzdGljcyBp cyBuZWVkZWQgZm9yIFVEUCBjbGllbnQgc29ja2V0IHRoZW4gSU1PDQpib3RoICJzdGFydCBldmVu dHMiIHNob3VsZCBiZSBoYW5kbGVkOiBCUEZfQ0dST1VQX0lORVR7NCw2fV9DT05ORUNUDQooY29u bmVjdGVkIFVEUCkgYW5kIEJQRl9DR1JPVVBfVURQezQsNn1fU0VORE1TRyAodW5jb25uZWN0ZWQg VURQKS4gVGhlDQpmb3JtZXIgY2FuIGJlIHVzZWQgdG8gImNsb3NlIiBwcmV2aW91cyBzdGF0aXN0 aWNzICJ3aW5kb3ciIChpZiBpdCdzIG5vdA0KdGhlIGZpcnN0IGNvbm5lY3QpIGFzIHdlbGwuIFRo ZSBsYXR0ZXIgY2FuIGJlIHVzZWQgdG8gY3JlYXRlZCAic2VwYXJhdGUiDQpzdGF0aXN0aWNzICJ3 aW5kb3ciIGZvciBkZXN0aW5hdGlvbiBvZiBjdXJyZW50IGRhdGFncmFtIG9ubHkuICBBbmQgdGhl DQpvbmx5IGNhc2UgbGVmdCwgZnJvbSB3aGF0IEkgc2VlLCBpcyB3aGVuIHNvY2tldCBpcyBzdG9w cGVkIGJlaW5nIHVzZWQNCmNvbXBsZXRlbHkuIFRoYXQncywgYWdhaW4sIGhhcmQgdG8gc2F5IGhv dyB0byBoYW5kbGUgaXQgYmV0dGVyIHcvbw0KdW5kZXJzdGFuZGluZyB1c2UtY2FzZSAoZS5nLiBz aW5jZSBpdCdzIG9ubHkgVURQIHByb2JsZW0gaXQgbWF5IG1ha2UNCnNlbnNlIHRvIGltcGxlbWVu dCBpbiBVRFAgc3RhY2spLg0KDQo+IChJIGFncmVlIHRoYXQgVENQIGlzIHByb2JhYmx5IGJldHRl ciBoYW5kbGVkIHZpYSBCUEZfU09DS19PUFNfVENQX1hZWiBob29rcywNCj4gYnV0IHdlIG5lZWQg c29tZXRoaW5nIGZvciBVRFAgYXMgd2VsbCkNCg0KRG8geW91IHRoaW5rIHlvdSBtYXkgaGFuZGxl IFRDUCB3aXRoIFRDUC1CUEYgYW5kIHRoaXMgcGF0Y2ggc2V0IG1heQ0KZm9jdXMgb24gVURQIG9u bHkgaWYgdGhlcmUgaXMgbm8gZ29vZCBhdHRhY2ggcG9pbnQgdGhhdCBjb3ZlcnMgYm90aCBUQ1AN CmFuZCBVRFA/ICBUaGF0IG1heSBsZWFkIHRvIGRpZmZlcmVudCBCUEYgcHJvZ3JhbXMgZm9yIFRD UCBhbmQgVURQIGJ1dA0KdGhhdCBtYXkgYmUgaGFyZCB0byBhdm9pZCBhbnl3YXkgKEJQRl9DR1JP VVBfVURQezQsNn1fU0VORE1TRyBpcyBhIGdvb2QNCmV4YW1wbGUgaGVyZSkuDQoNCj4gDQo+IC0t IA0KPiANCj4gZGlmZiAtLWdpdCBhL25ldC9pcHY0L2FmX2luZXQuYyBiL25ldC9pcHY0L2FmX2lu ZXQuYw0KPiBpbmRleCBiNzAzYWQyNDIzNjUuLmVlM2RjMTgxZGY4ZiAxMDA2NDQNCj4gLS0tIGEv bmV0L2lwdjQvYWZfaW5ldC5jDQo+ICsrKyBiL25ldC9pcHY0L2FmX2luZXQuYw0KPiBAQCAtNTY4 LDggKzU2OCwxMSBAQCBpbnQgaW5ldF9kZ3JhbV9jb25uZWN0KHN0cnVjdCBzb2NrZXQgKnNvY2ss IHN0cnVjdCBzb2NrYWRkciAqdWFkZHIsDQo+ICANCj4gICAgICAgICBpZiAoYWRkcl9sZW4gPCBz aXplb2YodWFkZHItPnNhX2ZhbWlseSkpDQo+ICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZB TDsNCj4gLSAgICAgICBpZiAodWFkZHItPnNhX2ZhbWlseSA9PSBBRl9VTlNQRUMpDQo+ICsgICAg ICAgaWYgKHVhZGRyLT5zYV9mYW1pbHkgPT0gQUZfVU5TUEVDKSB7DQo+ICsgICAgICAgICAgICAg ICBpZiAoQlBGX0NHUk9VUF9QUkVfUkVMRUFTRV9FTkFCTEVEKHNrKSkNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgc2stPnNrX3Byb3QtPnByZV9yZWxlYXNlKHNrKTsNCj4gICAgICAgICAgICAg ICAgIHJldHVybiBzay0+c2tfcHJvdC0+ZGlzY29ubmVjdChzaywgZmxhZ3MpOw0KPiArICAgICAg IH0NCj4gIA0KPiAgICAgICAgIGlmIChCUEZfQ0dST1VQX1BSRV9DT05ORUNUX0VOQUJMRUQoc2sp KSB7DQo+ICAgICAgICAgICAgICAgICBlcnIgPSBzay0+c2tfcHJvdC0+cHJlX2Nvbm5lY3Qoc2ss IHVhZGRyLCBhZGRyX2xlbik7DQo+IEBAIC02MzIsNiArNjM1LDggQEAgaW50IF9faW5ldF9zdHJl YW1fY29ubmVjdChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKnVhZGRyLA0K PiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gIA0KPiAgICAgICAg ICAgICAgICAgaWYgKHVhZGRyLT5zYV9mYW1pbHkgPT0gQUZfVU5TUEVDKSB7DQo+ICsgICAgICAg ICAgICAgICAgICAgICAgIGlmIChCUEZfQ0dST1VQX1BSRV9SRUxFQVNFX0VOQUJMRUQoc2spKQ0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNrLT5za19wcm90LT5wcmVfcmVsZWFz ZShzayk7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgIGVyciA9IHNrLT5za19wcm90LT5kaXNj b25uZWN0KHNrLCBmbGFncyk7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgIHNvY2stPnN0YXRl ID0gZXJyID8gU1NfRElTQ09OTkVDVElORyA6IFNTX1VOQ09OTkVDVEVEOw0KPiAgICAgICAgICAg ICAgICAgICAgICAgICBnb3RvIG91dDsgDQo+IA0KPiA+ID4gRmlyc3QgcGF0Y2ggYWRkcyBob29r cywgdGhlIHJlc3Qgb2YgdGhlIHBhdGNoZXMgYWRkIHVhcGkgYW5kIHRlc3RzIHRvIG1ha2UNCj4g PiA+IHN1cmUgdGhlc2UgaG9va3Mgd29yay4NCj4gPiA+IA0KPiA+ID4gU3RhbmlzbGF2IEZvbWlj aGV2ICg1KToNCj4gPiA+ICAgYnBmOiBhZGQgQlBGX0NHUk9VUF9JTkVUezQsNn1fU09DS19SRUxF QVNFIGhvb2tzDQo+ID4gPiAgIHRvb2xzOiBicGY6IHN1cHBvcnQgQlBGX0NHUk9VUF9JTkVUezQs Nn1fU09DS19SRUxFQVNFIGluDQo+ID4gPiAgICAgbGliYnBmL2JwZnRvb2wNCj4gPiA+ICAgc2Vs ZnRlc3RzL2JwZjogYWRkIEJQRl9DR1JPVVBfSU5FVHs0LDZ9X1NPQ0tfUkVMRUFTRSB0bw0KPiA+ ID4gICAgIHRlc3Rfc2VjdGlvbl9uYW1lcy5jDQo+ID4gPiAgIHNlbGZ0ZXN0cy9icGY6IGFkZCBC UEZfQ0dST1VQX0lORVR7NCw2fV9TT0NLX1JFTEVBU0UgdG8gdGVzdF9zb2NrLmMNCj4gPiA+ICAg c2VsZnRlc3RzL2JwZjogYWRkIEJQRl9DR1JPVVBfSU5FVHs0LDZ9X1NPQ0tfUkVMRUFTRSB0bw0K PiA+ID4gICAgIHRlc3Rfc29ja19hZGRyLmMNCj4gPiA+IA0KPiA+ID4gIGluY2x1ZGUvbGludXgv YnBmLWNncm91cC5oICAgICAgICAgICAgICAgICAgICB8ICAgNiArDQo+ID4gPiAgaW5jbHVkZS9u ZXQvaW5ldF9jb21tb24uaCAgICAgICAgICAgICAgICAgICAgIHwgICAxICsNCj4gPiA+ICBpbmNs dWRlL3VhcGkvbGludXgvYnBmLmggICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKw0KPiA+ID4g IGtlcm5lbC9icGYvc3lzY2FsbC5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgOCArKw0K PiA+ID4gIG5ldC9jb3JlL2ZpbHRlci5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg NyArDQo+ID4gPiAgbmV0L2lwdjQvYWZfaW5ldC5jICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDEzICstDQo+ID4gPiAgbmV0L2lwdjYvYWZfaW5ldDYuYyAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICA1ICstDQo+ID4gPiAgdG9vbHMvYnBmL2JwZnRvb2wvY2dyb3VwLmMgICAgICAg ICAgICAgICAgICAgIHwgICAyICsNCj4gPiA+ICB0b29scy9pbmNsdWRlL3VhcGkvbGludXgvYnBm LmggICAgICAgICAgICAgICAgfCAgIDIgKw0KPiA+ID4gIHRvb2xzL2xpYi9icGYvbGliYnBmLmMg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgNCArDQo+ID4gPiAgLi4uL3NlbGZ0ZXN0cy9icGYv dGVzdF9zZWN0aW9uX25hbWVzLmMgICAgICAgIHwgIDEwICsrDQo+ID4gPiAgdG9vbHMvdGVzdGlu Zy9zZWxmdGVzdHMvYnBmL3Rlc3Rfc29jay5jICAgICAgIHwgMTE5ICsrKysrKysrKysrKysrKysN Cj4gPiA+ICB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYvdGVzdF9zb2NrX2FkZHIuYyAgfCAx MzEgKysrKysrKysrKysrKysrKystDQo+ID4gPiAgMTMgZmlsZXMgY2hhbmdlZCwgMzA3IGluc2Vy dGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+ID4gPiANCj4gPiA+IC0tIA0KPiA+ID4gMi4yMC4x LjMyMS5nOWU3NDA1NjhjZS1nb29nDQo+ID4gPiANCj4gPiANCj4gPiAtLSANCj4gPiBBbmRyZXkg SWduYXRvdg0KDQotLSANCkFuZHJleSBJZ25hdG92DQo=