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 2F29BA0528; Thu, 9 Jul 2020 16:36:33 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 093611E8F4; Thu, 9 Jul 2020 16:36:33 +0200 (CEST) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130059.outbound.protection.outlook.com [40.107.13.59]) by dpdk.org (Postfix) with ESMTP id C51B91E8BC for ; Thu, 9 Jul 2020 16:36:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VatVB0Pi39HxGbhCMkq85sSRuSrPSt6rM5FHDPM/lPA=; b=RveTPL1rdoJaCbL/RfUpUs35fqJfbfDIEVrVQG57PVjn4yTbTtE5KlcLrNDfMn1jy5lg9UYBVBZnSgS4P1Em47FzQ70jWHWCc5dm3LIFjnONK8CnHpxTv8daImNtZ4mBlTnGIPqSUxUU1EUEBk5Hi3IM6GPaZiOfJ9wJqW+/srY= Received: from AM6P195CA0019.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:81::32) by AM6PR08MB3304.eurprd08.prod.outlook.com (2603:10a6:209:49::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.21; Thu, 9 Jul 2020 14:36:28 +0000 Received: from AM5EUR03FT051.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:81:cafe::fc) by AM6P195CA0019.outlook.office365.com (2603:10a6:209:81::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.21 via Frontend Transport; Thu, 9 Jul 2020 14:36:28 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT051.mail.protection.outlook.com (10.152.16.246) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.21 via Frontend Transport; Thu, 9 Jul 2020 14:36:28 +0000 Received: ("Tessian outbound c83312565ef4:v62"); Thu, 09 Jul 2020 14:36:28 +0000 X-CR-MTA-TID: 64aa7808 Received: from 147d8004d8b3.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 29A152A1-FA6E-451F-A5E4-F831A02B0E19.1; Thu, 09 Jul 2020 14:36:23 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 147d8004d8b3.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 09 Jul 2020 14:36:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Tt6ZOLsR8u0wS13A4WLhaggC+vwsq4Vm/tsaADCCgyZDu81/Yc5j6sTSOqoyZCUgEGVjlaDAr9yWNsLbBq4gWdd46nUe/9/IHdojb9G74uW12UrMETJK3zxlP3AydHci2oKf9qF+gCnp5AQm9y4S1Z10wK9YQD7QKeA6oqU+4VqPkuStgzCqQ7UuMlsRxTKSWfqxfA/4rm5OE2AklP205lrJostzid6SedNx7jWXZmm7YhZArfo9T8QbRSvGuKoaWakXhoe05NUQU7bhPJ4qUH2M3DDGrqvk/WtbSPcCJx5BqFaqnW88ZzV91ABG5mVVi61TpPpTbIKLiALM/GaJwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VatVB0Pi39HxGbhCMkq85sSRuSrPSt6rM5FHDPM/lPA=; b=B8W+oWCb1X5Z8HzY9/p5OELRIEUVdctNGK6ADgwHeKtKDpbbuwmUjR4uRmW9S5VHD8qdE2AhVe1S7JarJy7Rw8Cm5QQqv0jae2jdC1EUblvvGaK/d5Chr/k2B29SmODZEYv4usmFNW++KRtJFYJ+2NQwepys8P1uXvf6gddCNj+8rND37O+cPC6alYp+a1v+X5okyNGZ0wpeLesTb1jrO2WvbW1Qp3TGouriXpqwqX8KAuBRdEajA81Uw+wggNCl036xi4fXeMxFCq9vycHCLjfVW9vE6Asj40ZdpQ2TXt+Ki/k8re2vJhWNIu7pfY4GY4P3CaOMOYcZSjxCe0mBBg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VatVB0Pi39HxGbhCMkq85sSRuSrPSt6rM5FHDPM/lPA=; b=RveTPL1rdoJaCbL/RfUpUs35fqJfbfDIEVrVQG57PVjn4yTbTtE5KlcLrNDfMn1jy5lg9UYBVBZnSgS4P1Em47FzQ70jWHWCc5dm3LIFjnONK8CnHpxTv8daImNtZ4mBlTnGIPqSUxUU1EUEBk5Hi3IM6GPaZiOfJ9wJqW+/srY= Received: from HE1PR0801MB2025.eurprd08.prod.outlook.com (2603:10a6:3:50::14) by HE1PR08MB2636.eurprd08.prod.outlook.com (2603:10a6:7:39::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.20; Thu, 9 Jul 2020 14:35:18 +0000 Received: from HE1PR0801MB2025.eurprd08.prod.outlook.com ([fe80::e863:15c9:b803:6533]) by HE1PR0801MB2025.eurprd08.prod.outlook.com ([fe80::e863:15c9:b803:6533%7]) with mapi id 15.20.3174.021; Thu, 9 Jul 2020 14:35:18 +0000 From: Ruifeng Wang To: David Marchand CC: Bruce Richardson , Vladimir Medvedkin , John McNamara , Marko Kovacevic , Ray Kinsella , Neil Horman , dev , "Ananyev, Konstantin" , Honnappa Nagarahalli , nd , nd Thread-Topic: [dpdk-dev] [PATCH v8 1/3] lib/lpm: integrate RCU QSBR Thread-Index: AQHWVcdqHgSZUt6i20aLTUna53wzi6j/Io6AgAArlHA= Date: Thu, 9 Jul 2020 14:35:18 +0000 Message-ID: References: <20190906094534.36060-1-ruifeng.wang@arm.com> <20200709080250.200166-1-ruifeng.wang@arm.com> <20200709080250.200166-2-ruifeng.wang@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 9405f7be-8bec-4ecf-a146-d31afb8b1629.0 x-checkrecipientchecked: true Authentication-Results-Original: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [222.68.170.231] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 5ec0f1d0-eabf-4a81-b6da-08d824157735 x-ms-traffictypediagnostic: HE1PR08MB2636:|AM6PR08MB3304: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:7219;OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: BNUh+oVOXivn2n182OsWVvS+quqHo1a3Fy+iUP+6aG7m84Pr1eXEJaiCc2xdQMZ7E7l9oAaisFsPMuosod8OozE5Zv6qmB2DgB4Qi34x2EJ3LYcatE9G8p4Y08yaRBE6KcsMejbaxddi2rAhgMSpG9It1af+00rH3bw+FBQXO7iYJNIgYyF8AqtN/B5oJ9TSS9A/ODqvJ/giWVwNuY7UFNiMkSguTePmDZnnwZtBC085u4VUiQ6XiCGTFVFOb6NuCMsfvkmLwExtu99x/fKK9doxkrIogI241ZuUgxTtqDsqIhBlnYJIZKY0suU+FGpsznfQC2WfjU/A9sitX/tstQ== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:HE1PR0801MB2025.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(136003)(346002)(376002)(396003)(366004)(39860400002)(2906002)(33656002)(66476007)(186003)(4326008)(7696005)(53546011)(6506007)(55016002)(83380400001)(26005)(5660300002)(6916009)(86362001)(54906003)(52536014)(8936002)(316002)(9686003)(8676002)(71200400001)(76116006)(66946007)(478600001)(64756008)(66556008)(66446008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: BZdBcZf63rrdjazCbWBNM8SZJywqsm6o2Q/KVOSE3wOQIlX9aB+Y4dhlWGGzJknyd6jUoVtThrihvo3sKz6GA9IciTMgq3UKbWwxASs5XNfIPKJJ7pciAo8A5OxF05zFg5oLkuaDZ6gincPEvmx4k6v7zWSwt1AUP1nkRe6gg6GMdjIh0u1qZaWbkF0fPaYWFsOCqeem8DS8jq3L6xu8HHY24822Zel/rEsi0ZzKXH5fERLUeYoodL7xIq+ncClzYb8XIrrLKgytvDmNXmyXyMppPnYl/IuCnmn7Wovx9S1iHUw9NVpxA0vL1MU1aoPEQse92iP7bY6hge9IhYqksd3j5pKHkBPFZmQzc2Jfm9WwXMuUkx+aR0mz+14hCLyYF8xpADpD537jMoUwH+0KxHbDiVhiZaYOA0GnXpL/AAd9mR+Y9qitwptFrk0HLgwx3DCZYFIIDv3YqoTUVDfOo0Z90DQ2ZD94TUZ1ph0f2oLJTvqEa7h5mAAWmiFCJMOr Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR08MB2636 Original-Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT051.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:; SFS:(4636009)(46966005)(70586007)(47076004)(82310400002)(336012)(52536014)(356005)(86362001)(83380400001)(7696005)(26005)(498600001)(70206006)(8936002)(4326008)(55016002)(54906003)(8676002)(81166007)(9686003)(186003)(6862004)(33656002)(5660300002)(53546011)(6506007)(36906005)(2906002); DIR:OUT; SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: e63730e0-f6c4-40e2-a2ec-08d824154d6e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: iMrLy/5nlO4FNxuSxtiFfQplAYeVO+iJLTrZ5rnJIAfmjIKIUK0w+BBTVbhKxsdq7RWmlXWP/8k98i4piX+oy/YOcn8esNjTmo5PBUpGS3rfPPPxGhBmlf1Bz1rXLy7cz2dekVee0cK2ft3oQx+KkqsvBg65IDPDEoQTmzG+6pAuzW9v0xSilD8eZnwP6HcySr4Fk1WskwBcuMAgHhWCoLA8/kD4wa6cv9LSULqJKUXUqlSzpPCli8IQGdgZV2ws7Lz5+/UTtmWaxACaLMFEMuBduO7zTo+UFw1iLjsDRuo1TaYPJIpmfTXQj9zcbzm68ppMnQPGUlLEYgDrgGEXgC0rixHd+niu+NwDWHMrRLlNU775aS4zi4LR94E66eyA74OkKkS2yFx7e/4R6aWVkQ== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jul 2020 14:36:28.4987 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5ec0f1d0-eabf-4a81-b6da-08d824157735 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT051.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3304 Subject: Re: [dpdk-dev] [PATCH v8 1/3] lib/lpm: integrate RCU QSBR 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" DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IERhdmlkIE1hcmNoYW5kIDxk YXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgSnVseSA5LCAyMDIw IDc6NTAgUE0NCj4gVG86IFJ1aWZlbmcgV2FuZyA8UnVpZmVuZy5XYW5nQGFybS5jb20+DQo+IENj OiBCcnVjZSBSaWNoYXJkc29uIDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT47IFZsYWRpbWly IE1lZHZlZGtpbg0KPiA8dmxhZGltaXIubWVkdmVka2luQGludGVsLmNvbT47IEpvaG4gTWNOYW1h cmENCj4gPGpvaG4ubWNuYW1hcmFAaW50ZWwuY29tPjsgTWFya28gS292YWNldmljDQo+IDxtYXJr by5rb3ZhY2V2aWNAaW50ZWwuY29tPjsgUmF5IEtpbnNlbGxhIDxtZHJAYXNocm9lLmV1PjsgTmVp bCBIb3JtYW4NCj4gPG5ob3JtYW5AdHV4ZHJpdmVyLmNvbT47IGRldiA8ZGV2QGRwZGsub3JnPjsg QW5hbnlldiwgS29uc3RhbnRpbg0KPiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT47IEhv bm5hcHBhIE5hZ2FyYWhhbGxpDQo+IDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsgbmQg PG5kQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2OCAxLzNdIGxp Yi9scG06IGludGVncmF0ZSBSQ1UgUVNCUg0KPiANCj4gSGVsbG8gUnVpZmVuZywNCj4gDQpIaSBE YXZpZCwNCg0KVGhhbmtzIGZvciB5b3VyIHJldmlldyBhbmQgc3VnZ2VzdGlvbnMuDQoNCj4gT24g VGh1LCBKdWwgOSwgMjAyMCBhdCAxMDowMyBBTSBSdWlmZW5nIFdhbmcgPHJ1aWZlbmcud2FuZ0Bh cm0uY29tPg0KPiB3cm90ZToNCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2xpYnJ0ZV9scG0vcnRlX2xw bS5jIGIvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbS5jIGluZGV4DQo+ID4gMzhhYjUxMmE0Li40ZmJm NWI2ZGYgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbS5jDQo+ID4gKysr IGIvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbS5jDQo+ID4gQEAgLTEsNSArMSw2IEBADQo+ID4gIC8q IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gPiAgICogQ29weXJpZ2h0 KGMpIDIwMTAtMjAxNCBJbnRlbCBDb3Jwb3JhdGlvbg0KPiA+ICsgKiBDb3B5cmlnaHQoYykgMjAy MCBBcm0gTGltaXRlZA0KPiA+ICAgKi8NCj4gPg0KPiA+ICAjaW5jbHVkZSA8c3RyaW5nLmg+DQo+ ID4gQEAgLTM5LDYgKzQwLDE3IEBAIGVudW0gdmFsaWRfZmxhZyB7DQo+ID4gICAgICAgICBWQUxJ RA0KPiA+ICB9Ow0KPiA+DQo+ID4gKy8qKiBAaW50ZXJuYWwgTFBNIHN0cnVjdHVyZS4gKi8NCj4g PiArc3RydWN0IF9fcnRlX2xwbSB7DQo+ID4gKyAgICAgICAvKiBMUE0gbWV0YWRhdGEuICovDQo+ ID4gKyAgICAgICBzdHJ1Y3QgcnRlX2xwbSBscG07DQo+ID4gKw0KPiA+ICsgICAgICAgLyogUkNV IGNvbmZpZy4gKi8NCj4gPiArICAgICAgIHN0cnVjdCBydGVfcmN1X3FzYnIgKnY7ICAgICAgICAg LyogUkNVIFFTQlIgdmFyaWFibGUuICovDQo+ID4gKyAgICAgICBlbnVtIHJ0ZV9scG1fcXNicl9t b2RlIHJjdV9tb2RlOy8qIEJsb2NraW5nLCBkZWZlciBxdWV1ZS4gKi8NCj4gPiArICAgICAgIHN0 cnVjdCBydGVfcmN1X3FzYnJfZHEgKmRxOyAgICAgLyogUkNVIFFTQlIgZGVmZXIgcXVldWUuICov DQo+ID4gK307DQo+ID4gKw0KPiA+ICAvKiBNYWNybyB0byBlbmFibGUvZGlzYWJsZSBydW4tdGlt ZSBjaGVja3MuICovICAjaWYNCj4gPiBkZWZpbmVkKFJURV9MSUJSVEVfTFBNX0RFQlVHKSAgI2lu Y2x1ZGUgPHJ0ZV9kZWJ1Zy5oPiBAQCAtMTIyLDYNCj4gKzEzNCw3DQo+ID4gQEAgcnRlX2xwbV9j cmVhdGUoY29uc3QgY2hhciAqbmFtZSwgaW50IHNvY2tldF9pZCwNCj4gPiAgICAgICAgICAgICAg ICAgY29uc3Qgc3RydWN0IHJ0ZV9scG1fY29uZmlnICpjb25maWcpICB7DQo+ID4gICAgICAgICBj aGFyIG1lbV9uYW1lW1JURV9MUE1fTkFNRVNJWkVdOw0KPiA+ICsgICAgICAgc3RydWN0IF9fcnRl X2xwbSAqaW50ZXJuYWxfbHBtID0gTlVMTDsNCj4gDQo+IE5pdDogaW50ZXJuYWxfbHBtIGRvZXMg bm90IG5lZWQgdG8gYmUgaW5pdGlhbGlzZWQgdG8gTlVMTC4NCj4gDQpBZ3JlZWQuDQoNCj4gDQo+ ID4gICAgICAgICBzdHJ1Y3QgcnRlX2xwbSAqbHBtID0gTlVMTDsNCj4gPiAgICAgICAgIHN0cnVj dCBydGVfdGFpbHFfZW50cnkgKnRlOw0KPiA+ICAgICAgICAgdWludDMyX3QgbWVtX3NpemUsIHJ1 bGVzX3NpemUsIHRibDhzX3NpemU7IEBAIC0xNDAsMTIgKzE1Myw2DQo+ID4gQEAgcnRlX2xwbV9j cmVhdGUoY29uc3QgY2hhciAqbmFtZSwgaW50IHNvY2tldF9pZCwNCj4gPg0KPiA+ICAgICAgICAg c25wcmludGYobWVtX25hbWUsIHNpemVvZihtZW1fbmFtZSksICJMUE1fJXMiLCBuYW1lKTsNCj4g Pg0KPiA+IC0gICAgICAgLyogRGV0ZXJtaW5lIHRoZSBhbW91bnQgb2YgbWVtb3J5IHRvIGFsbG9j YXRlLiAqLw0KPiA+IC0gICAgICAgbWVtX3NpemUgPSBzaXplb2YoKmxwbSk7DQo+ID4gLSAgICAg ICBydWxlc19zaXplID0gc2l6ZW9mKHN0cnVjdCBydGVfbHBtX3J1bGUpICogY29uZmlnLT5tYXhf cnVsZXM7DQo+ID4gLSAgICAgICB0Ymw4c19zaXplID0gKHNpemVvZihzdHJ1Y3QgcnRlX2xwbV90 YmxfZW50cnkpICoNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICBSVEVfTFBNX1RCTDhfR1JP VVBfTlVNX0VOVFJJRVMgKiBjb25maWctDQo+ID5udW1iZXJfdGJsOHMpOw0KPiA+IC0NCj4gPiAg ICAgICAgIHJ0ZV9tY2ZnX3RhaWxxX3dyaXRlX2xvY2soKTsNCj4gPg0KPiA+ICAgICAgICAgLyog Z3VhcmFudGVlIHRoZXJlJ3Mgbm8gZXhpc3RpbmcgKi8gQEAgLTE2MSw2ICsxNjgsMTIgQEANCj4g PiBydGVfbHBtX2NyZWF0ZShjb25zdCBjaGFyICpuYW1lLCBpbnQgc29ja2V0X2lkLA0KPiA+ICAg ICAgICAgICAgICAgICBnb3RvIGV4aXQ7DQo+ID4gICAgICAgICB9DQo+ID4NCj4gPiArICAgICAg IC8qIERldGVybWluZSB0aGUgYW1vdW50IG9mIG1lbW9yeSB0byBhbGxvY2F0ZS4gKi8NCj4gPiAr ICAgICAgIG1lbV9zaXplID0gc2l6ZW9mKCppbnRlcm5hbF9scG0pOw0KPiA+ICsgICAgICAgcnVs ZXNfc2l6ZSA9IHNpemVvZihzdHJ1Y3QgcnRlX2xwbV9ydWxlKSAqIGNvbmZpZy0+bWF4X3J1bGVz Ow0KPiA+ICsgICAgICAgdGJsOHNfc2l6ZSA9IChzaXplb2Yoc3RydWN0IHJ0ZV9scG1fdGJsX2Vu dHJ5KSAqDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgUlRFX0xQTV9UQkw4X0dST1VQX05V TV9FTlRSSUVTICoNCj4gPiArIGNvbmZpZy0+bnVtYmVyX3RibDhzKTsNCj4gPiArDQo+ID4gICAg ICAgICAvKiBhbGxvY2F0ZSB0YWlscSBlbnRyeSAqLw0KPiA+ICAgICAgICAgdGUgPSBydGVfem1h bGxvYygiTFBNX1RBSUxRX0VOVFJZIiwgc2l6ZW9mKCp0ZSksIDApOw0KPiA+ICAgICAgICAgaWYg KHRlID09IE5VTEwpIHsNCj4gPiBAQCAtMTcwLDIyICsxODMsMjMgQEAgcnRlX2xwbV9jcmVhdGUo Y29uc3QgY2hhciAqbmFtZSwgaW50IHNvY2tldF9pZCwNCj4gPiAgICAgICAgIH0NCj4gPg0KPiA+ ICAgICAgICAgLyogQWxsb2NhdGUgbWVtb3J5IHRvIHN0b3JlIHRoZSBMUE0gZGF0YSBzdHJ1Y3R1 cmVzLiAqLw0KPiA+IC0gICAgICAgbHBtID0gcnRlX3ptYWxsb2Nfc29ja2V0KG1lbV9uYW1lLCBt ZW1fc2l6ZSwNCj4gPiArICAgICAgIGludGVybmFsX2xwbSA9IHJ0ZV96bWFsbG9jX3NvY2tldCht ZW1fbmFtZSwgbWVtX3NpemUsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgUlRFX0NBQ0hF X0xJTkVfU0laRSwgc29ja2V0X2lkKTsNCj4gPiAtICAgICAgIGlmIChscG0gPT0gTlVMTCkgew0K PiA+ICsgICAgICAgaWYgKGludGVybmFsX2xwbSA9PSBOVUxMKSB7DQo+ID4gICAgICAgICAgICAg ICAgIFJURV9MT0coRVJSLCBMUE0sICJMUE0gbWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkXG4iKTsN Cj4gPiAgICAgICAgICAgICAgICAgcnRlX2ZyZWUodGUpOw0KPiA+ICAgICAgICAgICAgICAgICBy dGVfZXJybm8gPSBFTk9NRU07DQo+ID4gICAgICAgICAgICAgICAgIGdvdG8gZXhpdDsNCj4gPiAg ICAgICAgIH0NCj4gPg0KPiA+ICsgICAgICAgbHBtID0gJmludGVybmFsX2xwbS0+bHBtOw0KPiAN Cj4gRnJvbSB0aGlzIHBvaW50Li4uDQo+IA0KPiA+ICAgICAgICAgbHBtLT5ydWxlc190YmwgPSBy dGVfem1hbGxvY19zb2NrZXQoTlVMTCwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAoc2l6 ZV90KXJ1bGVzX3NpemUsIFJURV9DQUNIRV9MSU5FX1NJWkUsDQo+ID4gc29ja2V0X2lkKTsNCj4g Pg0KPiA+ICAgICAgICAgaWYgKGxwbS0+cnVsZXNfdGJsID09IE5VTEwpIHsNCj4gPiAgICAgICAg ICAgICAgICAgUlRFX0xPRyhFUlIsIExQTSwgIkxQTSBydWxlc190YmwgbWVtb3J5IGFsbG9jYXRp b24gZmFpbGVkXG4iKTsNCj4gPiAtICAgICAgICAgICAgICAgcnRlX2ZyZWUobHBtKTsNCj4gPiAt ICAgICAgICAgICAgICAgbHBtID0gTlVMTDsNCj4gPiArICAgICAgICAgICAgICAgcnRlX2ZyZWUo aW50ZXJuYWxfbHBtKTsNCj4gPiArICAgICAgICAgICAgICAgaW50ZXJuYWxfbHBtID0gTlVMTDsN Cj4gDQo+IC4uLiBscG0gaXMgc2V0IHRvICZpbnRlcm5hbF9scG0tPmxwbSBhbmQgd2lsbCBiZSBy ZXR1cm5lZCBieSBqdW1waW5nIHRvIHRoZQ0KPiBleGl0IGxhYmVsLg0KPiBTbyBmcmVlaW5nIGlu dGVybmFsX2xwbSBpcyBuZWNlc3NhcnksIGJ1dCB0aGUgbHBtIHZhcmlhYmxlIG11c3QgYmUgc2V0 IHRvDQo+IE5VTEwgdG9vLg0KPiANClllcy4gbHBtIHdpbGwgYmUgcmV0dXJuZWQgaW5zdGVhZCBv ZiBpbnRlcm5hbF9scG0uIEl0IG11c3QgYmUgc2V0IHRvIE5VTEwuDQpXaWxsIGFkZCB0aGlzIGlu IG5leHQgdmVyc2lvbi4NCg0KPiANCj4gPiAgICAgICAgICAgICAgICAgcnRlX2ZyZWUodGUpOw0K PiA+ICAgICAgICAgICAgICAgICBydGVfZXJybm8gPSBFTk9NRU07DQo+ID4gICAgICAgICAgICAg ICAgIGdvdG8gZXhpdDsNCj4gPiBAQCAtMTk3LDggKzIxMSw4IEBAIHJ0ZV9scG1fY3JlYXRlKGNv bnN0IGNoYXIgKm5hbWUsIGludCBzb2NrZXRfaWQsDQo+ID4gICAgICAgICBpZiAobHBtLT50Ymw4 ID09IE5VTEwpIHsNCj4gPiAgICAgICAgICAgICAgICAgUlRFX0xPRyhFUlIsIExQTSwgIkxQTSB0 Ymw4IG1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZFxuIik7DQo+ID4gICAgICAgICAgICAgICAgIHJ0 ZV9mcmVlKGxwbS0+cnVsZXNfdGJsKTsNCj4gPiAtICAgICAgICAgICAgICAgcnRlX2ZyZWUobHBt KTsNCj4gPiAtICAgICAgICAgICAgICAgbHBtID0gTlVMTDsNCj4gPiArICAgICAgICAgICAgICAg cnRlX2ZyZWUoaW50ZXJuYWxfbHBtKTsNCj4gPiArICAgICAgICAgICAgICAgaW50ZXJuYWxfbHBt ID0gTlVMTDsNCj4gDQo+IERpdHRvLg0KPiANCldpbGwgZG8uDQpUaGFua3MuDQoNCj4gDQo+ID4g ICAgICAgICAgICAgICAgIHJ0ZV9mcmVlKHRlKTsNCj4gPiAgICAgICAgICAgICAgICAgcnRlX2Vy cm5vID0gRU5PTUVNOw0KPiA+ICAgICAgICAgICAgICAgICBnb3RvIGV4aXQ7DQo+IA0KPiAtLQ0K PiBEYXZpZCBNYXJjaGFuZA0KDQo=