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 4109FA0527; Wed, 8 Jul 2020 17:34:56 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 60C2D1D73C; Wed, 8 Jul 2020 17:34:55 +0200 (CEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70079.outbound.protection.outlook.com [40.107.7.79]) by dpdk.org (Postfix) with ESMTP id 9D04A1C2BB for ; Wed, 8 Jul 2020 17:34:53 +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=t36wL1HBAqhi+T0ZjDPw4FLhC9P+TQ7TXNUIJYFKVcQ=; b=Mv4KBia6iNSzX6ARYYFrjnEsAdSQKfI6LWYM9TuFlReCI5Bq5739t506EYDMAaS21GmIE063TFLMhJIH0mJvCdRVGT1p2rOyvTy2O34LJTcaUfu+RcgOChWba0yQ1YdHLumv2cS/f1e5Gz90I15f2iT5ddOFdh2V/8Eq0ELCvRE= Received: from DB7PR05CA0066.eurprd05.prod.outlook.com (2603:10a6:10:2e::43) by DB6PR08MB2805.eurprd08.prod.outlook.com (2603:10a6:6:20::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.29; Wed, 8 Jul 2020 15:34:52 +0000 Received: from DB5EUR03FT037.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:2e:cafe::c6) by DB7PR05CA0066.outlook.office365.com (2603:10a6:10:2e::43) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.21 via Frontend Transport; Wed, 8 Jul 2020 15:34:52 +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 DB5EUR03FT037.mail.protection.outlook.com (10.152.20.215) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.21 via Frontend Transport; Wed, 8 Jul 2020 15:34:52 +0000 Received: ("Tessian outbound 8f45de5545d6:v62"); Wed, 08 Jul 2020 15:34:52 +0000 X-CR-MTA-TID: 64aa7808 Received: from c2e289cf25af.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id EAA7A46D-B2EB-48AF-93AB-5F266FE1F0FF.1; Wed, 08 Jul 2020 15:34:47 +0000 Received: from EUR02-AM5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c2e289cf25af.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 08 Jul 2020 15:34:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RwyRt2dyc4SyOQpSK2nHCTznAwalVcSaPydN6ybCwflpOxJDEIXiljnt6QJ8kzKgMeMNue/4IcxpD1OkEAgIT8jHNSukM6104J2DJL60SbzoWSnCK92LJ20pZb3Q8g7dOdO3Tg+NF2u/SuHgJGC/4NjPPC6xMjwQwo4xUfZhXbbr58QoiGXus4koi/4BiCm4oAYD88mFplvkOC8Rvc8g0f1sEbVBkMnUUIUdNJ/D5YatUpGcXCmZQ5sutha9GOoyNUNHR6ChtOqyfMZCibg3PrplwNd3K6Kidus+e1zQb5OSApc0ooLwjgCClXSNWqQID614JQ2KjZpr6WWtbWi0aA== 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=t36wL1HBAqhi+T0ZjDPw4FLhC9P+TQ7TXNUIJYFKVcQ=; b=i46S16hNUKrIAgyhNLxIWFPcTJ6sLSDatPPm40St+hZRdd5pehPNMZzWniYIrNCmoXz8vtGKo/UCU0iKoEO7sbour3enRhUtOvaXiKVu7qWFawZw901REj6j2ljN4AkJJSKiQEAAlgLWnxirhhsEjPC3GI8tLZmgC1ZMNLRGvAQi+qWggna3zYSZgJto4wlVOqcDVd+mDHSoTtdKonwee4uriAfG6KHfnMnzqkRUkKbmvpoz1m5G4PDVu8F+cqiEoC78AyQwg/yDlJL4jqs4FlRG3b8AqKVbTsUaZHWyXT/HqXvPlUJy2lV9ovra0BE+b7JBM+WRSLdE5DiUkCZt+Q== 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=t36wL1HBAqhi+T0ZjDPw4FLhC9P+TQ7TXNUIJYFKVcQ=; b=Mv4KBia6iNSzX6ARYYFrjnEsAdSQKfI6LWYM9TuFlReCI5Bq5739t506EYDMAaS21GmIE063TFLMhJIH0mJvCdRVGT1p2rOyvTy2O34LJTcaUfu+RcgOChWba0yQ1YdHLumv2cS/f1e5Gz90I15f2iT5ddOFdh2V/8Eq0ELCvRE= Received: from HE1PR0801MB2025.eurprd08.prod.outlook.com (2603:10a6:3:50::14) by HE1PR0801MB1930.eurprd08.prod.outlook.com (2603:10a6:3:57::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3153.24; Wed, 8 Jul 2020 15:34:45 +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; Wed, 8 Jul 2020 15:34:45 +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 v7 1/3] lib/lpm: integrate RCU QSBR Thread-Index: AQHWVHGX18VwTh7s1U+6JqiTNFG00aj9v7uAgAAGnpA= Date: Wed, 8 Jul 2020 15:34:44 +0000 Message-ID: References: <20190906094534.36060-1-ruifeng.wang@arm.com> <20200707151554.64431-1-ruifeng.wang@arm.com> <20200707151554.64431-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: dc10ff59-f9f3-45be-9be9-d305cf1850c5.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: [203.126.0.113] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 0e508b7f-4f57-4e90-02ff-08d823547539 x-ms-traffictypediagnostic: HE1PR0801MB1930:|DB6PR08MB2805: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; x-forefront-prvs: 04583CED1A X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: FNG548dUAmqGfU8TsPh0Ji6VegO/zZ3dbPmyXAc96INK09+acilftQ8p9Vou/1l8REW3qZoQogjLE3X6sQaq1vnkfp8bCKX/7ixnZhAL9pnATcE/XlMx7YtBO7fVZhRScYEYr5Sv42WtRy2SHG3Y3Dn3SFbNm/Df1FOgQCD9Sh0E8BGKG9gQLes+xjel5kQKB5yJiVLFgp2OUF5KUpMayD66TgOll4Vi4XXupsCteamyqTLg616zBji+1pceYBixf+ZsjYU0W6u2J2Eg+XEM1g/zrB15ZWXz8a1ywEnDbLf3FS3a2fTDVsr2H96++6y9KXHG85VLK7PTejJPUrc8qQ== 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)(366004)(39860400002)(136003)(346002)(396003)(376002)(83380400001)(186003)(66946007)(4326008)(8936002)(6506007)(66446008)(64756008)(66556008)(66476007)(53546011)(76116006)(2906002)(6916009)(55016002)(86362001)(9686003)(5660300002)(26005)(54906003)(316002)(52536014)(71200400001)(478600001)(33656002)(8676002)(7696005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: UossPZCOOgyAkWedGnDPmkFuztJsNSIgMALLkNQ+AFE8g0Jb79bcFmUy6o0PLy5dvbl9fnTP0eBGa8eg1Q9EVPoMvcbp9Cu6EIh7fGXu1YlhXS2OXv/Qsng9SvOENNJdzSuTN28ryc9jWRmGABbXs5YMPxKiX3QJpNBAlaiE+DDrV1aWM2U5a5d5A8BA+gAngnB5eD/4ZzNu8OJC8028bBc0AK4NAc+9mKCfmAySt1kpYL9xrPEGoOXHjHft8yXR02+VdSL/h0hJv2L+17LbJ3eD7Vqv1sqbWD7A++yj1C63P9b7cfZqdh1a2a6hImND5zKk94J6kA4tahukl6bri+ad++sYj8A7mb4MnAhLqLLMp2PYFttI+46HhP4I9TcR7aRU5GONmg2TVcGo7MoygQa/g/z8pBB/3S6mnhM/5+261bvXPXLtVzViQav4W0gV4lWiE2HcYOtMU9Ra3JOiLKaJ3QW71X+OWZ9ciwqAu94= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1930 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: DB5EUR03FT037.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)(396003)(39860400002)(346002)(376002)(136003)(46966005)(186003)(478600001)(70586007)(86362001)(70206006)(2906002)(55016002)(47076004)(81166007)(82740400003)(316002)(54906003)(6862004)(83380400001)(33656002)(26005)(6506007)(7696005)(5660300002)(52536014)(8676002)(356005)(30864003)(336012)(9686003)(53546011)(82310400002)(8936002)(4326008); DIR:OUT; SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: aa98c40d-9698-4226-0519-08d8235470e6 X-Forefront-PRVS: 04583CED1A X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: yABo0yQB83XugI3dTOSePJf5uQp2akQdyDtoCxtybfgK4NgjzF0KgOjtcs9QYvqgIsDKpYCE6dhSBPAHzNwwJYHXgoPc1NlS03I6m2ObeNbZRCRk2OMt29DmnukP65FpOK/Y51iA+8WWjsv/y0KpkxGaQ3UvboAyl2Tq1UL5DtHJpZuejOhrg/owXmW8M+LXYnC0yWs2yq4WeMMqae6QGSg2z6TZ3Il7M3ipGDQZgPqATVfRYUsP/0Gw1J0fvvXnHIMvIFkXWKBq3xguuuKuTvJ0y22JjRZiRaoXv9EGO3wtXU+vghwkg9H7Nelczq7ocdas/z9hKmhwnJGoUH/DoLbwEWSZcelkFX6Zs13m0I4W7sIEuuV3YAl8dbCMRQefq0e6nIxiI+ffyXNhvXmc+w== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Jul 2020 15:34:52.3740 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0e508b7f-4f57-4e90-02ff-08d823547539 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: DB5EUR03FT037.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR08MB2805 Subject: Re: [dpdk-dev] [PATCH v7 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 YXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIEp1bHkgOCwgMjAy MCAxMDozMCBQTQ0KPiBUbzogUnVpZmVuZyBXYW5nIDxSdWlmZW5nLldhbmdAYXJtLmNvbT4NCj4g Q2M6IEJydWNlIFJpY2hhcmRzb24gPGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tPjsgVmxhZGlt aXIgTWVkdmVka2luDQo+IDx2bGFkaW1pci5tZWR2ZWRraW5AaW50ZWwuY29tPjsgSm9obiBNY05h bWFyYQ0KPiA8am9obi5tY25hbWFyYUBpbnRlbC5jb20+OyBNYXJrbyBLb3ZhY2V2aWMNCj4gPG1h cmtvLmtvdmFjZXZpY0BpbnRlbC5jb20+OyBSYXkgS2luc2VsbGEgPG1kckBhc2hyb2UuZXU+OyBO ZWlsIEhvcm1hbg0KPiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPjsgZGV2IDxkZXZAZHBkay5vcmc+ OyBBbmFueWV2LCBLb25zdGFudGluDQo+IDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPjsg SG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+OyBu ZCA8bmRAYXJtLmNvbT4NCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHY3IDEvM10g bGliL2xwbTogaW50ZWdyYXRlIFJDVSBRU0JSDQo+IA0KPiBPbiBUdWUsIEp1bCA3LCAyMDIwIGF0 IDU6MTYgUE0gUnVpZmVuZyBXYW5nIDxydWlmZW5nLndhbmdAYXJtLmNvbT4NCj4gd3JvdGU6DQo+ ID4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfbHBtL3J0ZV9scG0uaCBiL2xpYi9saWJydGVfbHBt L3J0ZV9scG0uaCBpbmRleA0KPiA+IGI5ZDQ5YWM4Ny4uNzg4OWYyMWIzIDEwMDY0NA0KPiA+IC0t LSBhL2xpYi9saWJydGVfbHBtL3J0ZV9scG0uaA0KPiA+ICsrKyBiL2xpYi9saWJydGVfbHBtL3J0 ZV9scG0uaA0KPiA+IEBAIC0xLDUgKzEsNiBAQA0KPiA+ICAvKiBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogQlNELTMtQ2xhdXNlDQo+ID4gICAqIENvcHlyaWdodChjKSAyMDEwLTIwMTQgSW50ZWwg Q29ycG9yYXRpb24NCj4gPiArICogQ29weXJpZ2h0KGMpIDIwMjAgQXJtIExpbWl0ZWQNCj4gPiAg ICovDQo+ID4NCj4gPiAgI2lmbmRlZiBfUlRFX0xQTV9IXw0KPiA+IEBAIC0yMCw2ICsyMSw3IEBA DQo+ID4gICNpbmNsdWRlIDxydGVfbWVtb3J5Lmg+DQo+ID4gICNpbmNsdWRlIDxydGVfY29tbW9u Lmg+DQo+ID4gICNpbmNsdWRlIDxydGVfdmVjdC5oPg0KPiA+ICsjaW5jbHVkZSA8cnRlX3JjdV9x c2JyLmg+DQo+ID4NCj4gPiAgI2lmZGVmIF9fY3BsdXNwbHVzDQo+ID4gIGV4dGVybiAiQyIgew0K PiA+IEBAIC02Miw2ICs2NCwxNyBAQCBleHRlcm4gIkMiIHsNCj4gPiAgLyoqIEJpdG1hc2sgdXNl ZCB0byBpbmRpY2F0ZSBzdWNjZXNzZnVsIGxvb2t1cCAqLw0KPiA+ICAjZGVmaW5lIFJURV9MUE1f TE9PS1VQX1NVQ0NFU1MgICAgICAgICAgMHgwMTAwMDAwMA0KPiA+DQo+ID4gKy8qKiBAaW50ZXJu YWwgRGVmYXVsdCBSQ1UgZGVmZXIgcXVldWUgZW50cmllcyB0byByZWNsYWltIGluIG9uZSBnby4g Ki8NCj4gPiArI2RlZmluZSBSVEVfTFBNX1JDVV9EUV9SRUNMQUlNX01BWCAgICAgMTYNCj4gPiAr DQo+ID4gKy8qKiBSQ1UgcmVjbGFtYXRpb24gbW9kZXMgKi8NCj4gPiArZW51bSBydGVfbHBtX3Fz YnJfbW9kZSB7DQo+ID4gKyAgICAgICAvKiogQ3JlYXRlIGRlZmVyIHF1ZXVlIGZvciByZWNsYWlt LiAqLw0KPiA+ICsgICAgICAgUlRFX0xQTV9RU0JSX01PREVfRFEgPSAwLA0KPiA+ICsgICAgICAg LyoqIFVzZSBibG9ja2luZyBtb2RlIHJlY2xhaW0uIE5vIGRlZmVyIHF1ZXVlIGNyZWF0ZWQuICov DQo+ID4gKyAgICAgICBSVEVfTFBNX1FTQlJfTU9ERV9TWU5DDQo+ID4gK307DQo+ID4gKw0KPiA+ ICAjaWYgUlRFX0JZVEVfT1JERVIgPT0gUlRFX0xJVFRMRV9FTkRJQU4NCj4gPiAgLyoqIEBpbnRl cm5hbCBUYmwyNCBlbnRyeSBzdHJ1Y3R1cmUuICovICBfX2V4dGVuc2lvbl9fIEBAIC0xMzAsNg0K PiA+ICsxNDMsMjggQEAgc3RydWN0IHJ0ZV9scG0gew0KPiA+ICAgICAgICAgICAgICAgICAgICAg ICAgIF9fcnRlX2NhY2hlX2FsaWduZWQ7IC8qKjwgTFBNIHRibDI0IHRhYmxlLiAqLw0KPiA+ICAg ICAgICAgc3RydWN0IHJ0ZV9scG1fdGJsX2VudHJ5ICp0Ymw4OyAvKio8IExQTSB0Ymw4IHRhYmxl LiAqLw0KPiA+ICAgICAgICAgc3RydWN0IHJ0ZV9scG1fcnVsZSAqcnVsZXNfdGJsOyAvKio8IExQ TSBydWxlcy4gKi8NCj4gPiArI2lmZGVmIEFMTE9XX0VYUEVSSU1FTlRBTF9BUEkNCj4gPiArICAg ICAgIC8qIFJDVSBjb25maWcuICovDQo+ID4gKyAgICAgICBzdHJ1Y3QgcnRlX3JjdV9xc2JyICp2 OyAgICAgICAgIC8qIFJDVSBRU0JSIHZhcmlhYmxlLiAqLw0KPiA+ICsgICAgICAgZW51bSBydGVf bHBtX3FzYnJfbW9kZSByY3VfbW9kZTsvKiBCbG9ja2luZywgZGVmZXIgcXVldWUuICovDQo+ID4g KyAgICAgICBzdHJ1Y3QgcnRlX3JjdV9xc2JyX2RxICpkcTsgICAgIC8qIFJDVSBRU0JSIGRlZmVy IHF1ZXVlLiAqLw0KPiA+ICsjZW5kaWYNCj4gPiArfTsNCj4gDQo+IEkgY2FuIHNlZSBmYWlsdXJl cyBpbiB0cmF2aXMgcmVwb3J0cyBmb3IgdjcgYW5kIHY2Lg0KPiBJIHJlcHJvZHVjZWQgdGhlbSBp biBteSBlbnYuDQo+IA0KPiAxIGZ1bmN0aW9uIHdpdGggc29tZSBpbmRpcmVjdCBzdWItdHlwZSBj aGFuZ2U6DQo+IA0KPiAgIFtDXSdmdW5jdGlvbiBpbnQgcnRlX2xwbV9hZGQocnRlX2xwbSosIHVp bnQzMl90LCB1aW50OF90LCB1aW50MzJfdCknDQo+IGF0IHJ0ZV9scG0uYzo3NjQ6MSBoYXMgc29t ZSBpbmRpcmVjdCBzdWItdHlwZSBjaGFuZ2VzOg0KPiAgICAgcGFyYW1ldGVyIDEgb2YgdHlwZSAn cnRlX2xwbSonIGhhcyBzdWItdHlwZSBjaGFuZ2VzOg0KPiAgICAgICBpbiBwb2ludGVkIHRvIHR5 cGUgJ3N0cnVjdCBydGVfbHBtJyBhdCBydGVfbHBtLmg6MTM0OjE6DQo+ICAgICAgICAgdHlwZSBz aXplIGhhc24ndCBjaGFuZ2VkDQo+ICAgICAgICAgMyBkYXRhIG1lbWJlciBpbnNlcnRpb25zOg0K PiAgICAgICAgICAgJ3J0ZV9yY3VfcXNiciogcnRlX2xwbTo6dicsIGF0IG9mZnNldCA1MzY4NzM2 MDAgKGluIGJpdHMpIGF0DQo+IHJ0ZV9scG0uaDoxNDg6MQ0KPiAgICAgICAgICAgJ3J0ZV9scG1f cXNicl9tb2RlIHJ0ZV9scG06OnJjdV9tb2RlJywgYXQgb2Zmc2V0IDUzNjg3MzY2NCAoaW4gYml0 cykNCj4gYXQgcnRlX2xwbS5oOjE0OToxDQo+ICAgICAgICAgICAncnRlX3JjdV9xc2JyX2RxKiBy dGVfbHBtOjpkcScsIGF0IG9mZnNldCA1MzY4NzM3MjggKGluDQo+IGJpdHMpIGF0IHJ0ZV9scG0u aDoxNTA6MQ0KPiANClNvcnJ5LCBJIHRob3VnaHQgaWYgQUxMT1dfRVhQRVJJTUVOVEFMIHdhcyBh ZGRlZCwgQUJJIHdvdWxkIGJlIGtlcHQgd2hlbiBleHBlcmltZW50YWwgd2FzIG5vdCBhbGxvd2Vk IGJ5IHVzZXIuDQpBQkkgYW5kIEFMTE9XX0VYUEVSSU1FTlRBTCBzaG91bGQgYmUgdHdvIGRpZmZl cmVudCB0aGluZ3MuDQoNCj4gDQo+IEdvaW5nIGJhY2sgdG8gbXkgcHJvcG9zYWwgb2YgaGlkaW5n IHdoYXQgZG9lcyBub3QgbmVlZCB0byBiZSBzZWVuLg0KPiANCj4gRGlzY2xhaW1lciwgKnRoaXMg aXMgcXVpY2sgJiBkaXJ0eSogYnV0IGl0IGJ1aWxkcyBhbmQgcGFzc2VzIEFCSSBjaGVjazoNCj4g DQo+ICQgZ2l0IGRpZmYNCj4gZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfbHBtL3J0ZV9scG0uYyBi L2xpYi9saWJydGVfbHBtL3J0ZV9scG0uYyBpbmRleA0KPiBkNDk4YmE3NjEuLjcxMDlhZWY2YSAx MDA2NDQNCj4gLS0tIGEvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbS5jDQo+ICsrKyBiL2xpYi9saWJy dGVfbHBtL3J0ZV9scG0uYw0KSSB1bmRlcnN0YW5kIHlvdXIgcHJvcG9zYWwgaW4gdjUgbm93LiBB IG5ldyBkYXRhIHN0cnVjdHVyZSBlbmNsb3NlcyBydGVfbHBtIGFuZCBuZXcgbWVtYmVycyB0aGF0 IGZvciBSQ1UgdXNlLg0KSW4gdGhpcyB3YXksIHJ0ZV9scG0gQUJJIGlzIGtlcHQuIEFuZCB3ZSBj YW4gbW92ZSBvdXQgb3RoZXIgbWVtYmVycyBpbiBydGVfbHBtIHRoYXQgbm90IG5lZWQgdG8gYmUg ZXhwb3NlZCBpbiAyMC4xMSByZWxlYXNlLg0KSSB3aWxsIGZpeCB0aGUgQUJJIGlzc3VlIGluIG5l eHQgdmVyc2lvbi4NCg0KPiBAQCAtMTE1LDYgKzExNSwxNSBAQCBydGVfbHBtX2ZpbmRfZXhpc3Rp bmcoY29uc3QgY2hhciAqbmFtZSkNCj4gICAgICAgICByZXR1cm4gbDsNCj4gIH0NCj4gDQo+ICtz dHJ1Y3QgaW50ZXJuYWxfbHBtIHsNCj4gKyAgICAgICAvKiBQdWJsaWMgb2JqZWN0ICovDQo+ICsg ICAgICAgc3RydWN0IHJ0ZV9scG0gbHBtOw0KPiArICAgICAgIC8qIFJDVSBjb25maWcuICovDQo+ ICsgICAgICAgc3RydWN0IHJ0ZV9yY3VfcXNiciAqdjsgICAgICAgICAvKiBSQ1UgUVNCUiB2YXJp YWJsZS4gKi8NCj4gKyAgICAgICBlbnVtIHJ0ZV9scG1fcXNicl9tb2RlIHJjdV9tb2RlOy8qIEJs b2NraW5nLCBkZWZlciBxdWV1ZS4gKi8NCj4gKyAgICAgICBzdHJ1Y3QgcnRlX3JjdV9xc2JyX2Rx ICpkcTsgICAgIC8qIFJDVSBRU0JSIGRlZmVyIHF1ZXVlLiAqLw0KPiArfTsNCj4gKw0KPiAgLyoN Cj4gICAqIEFsbG9jYXRlcyBtZW1vcnkgZm9yIExQTSBvYmplY3QNCj4gICAqLw0KPiBAQCAtMTIz LDYgKzEzMiw3IEBAIHJ0ZV9scG1fY3JlYXRlKGNvbnN0IGNoYXIgKm5hbWUsIGludCBzb2NrZXRf aWQsDQo+ICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcnRlX2xwbV9jb25maWcgKmNvbmZp ZykgIHsNCj4gICAgICAgICBjaGFyIG1lbV9uYW1lW1JURV9MUE1fTkFNRVNJWkVdOw0KPiArICAg ICAgIHN0cnVjdCBpbnRlcm5hbF9scG0gKmludGVybmFsID0gTlVMTDsNCj4gICAgICAgICBzdHJ1 Y3QgcnRlX2xwbSAqbHBtID0gTlVMTDsNCj4gICAgICAgICBzdHJ1Y3QgcnRlX3RhaWxxX2VudHJ5 ICp0ZTsNCj4gICAgICAgICB1aW50MzJfdCBtZW1fc2l6ZSwgcnVsZXNfc2l6ZSwgdGJsOHNfc2l6 ZTsgQEAgLTE0MSwxMiArMTUxLDYgQEANCj4gcnRlX2xwbV9jcmVhdGUoY29uc3QgY2hhciAqbmFt ZSwgaW50IHNvY2tldF9pZCwNCj4gDQo+ICAgICAgICAgc25wcmludGYobWVtX25hbWUsIHNpemVv ZihtZW1fbmFtZSksICJMUE1fJXMiLCBuYW1lKTsNCj4gDQo+IC0gICAgICAgLyogRGV0ZXJtaW5l IHRoZSBhbW91bnQgb2YgbWVtb3J5IHRvIGFsbG9jYXRlLiAqLw0KPiAtICAgICAgIG1lbV9zaXpl ID0gc2l6ZW9mKCpscG0pOw0KPiAtICAgICAgIHJ1bGVzX3NpemUgPSBzaXplb2Yoc3RydWN0IHJ0 ZV9scG1fcnVsZSkgKiBjb25maWctPm1heF9ydWxlczsNCj4gLSAgICAgICB0Ymw4c19zaXplID0g KHNpemVvZihzdHJ1Y3QgcnRlX2xwbV90YmxfZW50cnkpICoNCj4gLSAgICAgICAgICAgICAgICAg ICAgICAgUlRFX0xQTV9UQkw4X0dST1VQX05VTV9FTlRSSUVTICogY29uZmlnLQ0KPiA+bnVtYmVy X3RibDhzKTsNCj4gLQ0KPiAgICAgICAgIHJ0ZV9tY2ZnX3RhaWxxX3dyaXRlX2xvY2soKTsNCj4g DQo+ICAgICAgICAgLyogZ3VhcmFudGVlIHRoZXJlJ3Mgbm8gZXhpc3RpbmcgKi8gQEAgLTE3MCwx NiArMTc0LDIzIEBADQo+IHJ0ZV9scG1fY3JlYXRlKGNvbnN0IGNoYXIgKm5hbWUsIGludCBzb2Nr ZXRfaWQsDQo+ICAgICAgICAgICAgICAgICBnb3RvIGV4aXQ7DQo+ICAgICAgICAgfQ0KPiANCj4g KyAgICAgICAvKiBEZXRlcm1pbmUgdGhlIGFtb3VudCBvZiBtZW1vcnkgdG8gYWxsb2NhdGUuICov DQo+ICsgICAgICAgbWVtX3NpemUgPSBzaXplb2YoKmludGVybmFsKTsNCj4gKyAgICAgICBydWxl c19zaXplID0gc2l6ZW9mKHN0cnVjdCBydGVfbHBtX3J1bGUpICogY29uZmlnLT5tYXhfcnVsZXM7 DQo+ICsgICAgICAgdGJsOHNfc2l6ZSA9IChzaXplb2Yoc3RydWN0IHJ0ZV9scG1fdGJsX2VudHJ5 KSAqDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIFJURV9MUE1fVEJMOF9HUk9VUF9OVU1fRU5U UklFUyAqDQo+ICsgY29uZmlnLT5udW1iZXJfdGJsOHMpOw0KPiArDQo+ICAgICAgICAgLyogQWxs b2NhdGUgbWVtb3J5IHRvIHN0b3JlIHRoZSBMUE0gZGF0YSBzdHJ1Y3R1cmVzLiAqLw0KPiAtICAg ICAgIGxwbSA9IHJ0ZV96bWFsbG9jX3NvY2tldChtZW1fbmFtZSwgbWVtX3NpemUsDQo+ICsgICAg ICAgaW50ZXJuYWwgPSBydGVfem1hbGxvY19zb2NrZXQobWVtX25hbWUsIG1lbV9zaXplLA0KPiAg ICAgICAgICAgICAgICAgICAgICAgICBSVEVfQ0FDSEVfTElORV9TSVpFLCBzb2NrZXRfaWQpOw0K PiAtICAgICAgIGlmIChscG0gPT0gTlVMTCkgew0KPiArICAgICAgIGlmIChpbnRlcm5hbCA9PSBO VUxMKSB7DQo+ICAgICAgICAgICAgICAgICBSVEVfTE9HKEVSUiwgTFBNLCAiTFBNIG1lbW9yeSBh bGxvY2F0aW9uIGZhaWxlZFxuIik7DQo+ICAgICAgICAgICAgICAgICBydGVfZnJlZSh0ZSk7DQo+ ICAgICAgICAgICAgICAgICBydGVfZXJybm8gPSBFTk9NRU07DQo+ICAgICAgICAgICAgICAgICBn b3RvIGV4aXQ7DQo+ICAgICAgICAgfQ0KPiANCj4gKyAgICAgICBscG0gPSAmaW50ZXJuYWwtPmxw bTsNCj4gICAgICAgICBscG0tPnJ1bGVzX3RibCA9IHJ0ZV96bWFsbG9jX3NvY2tldChOVUxMLA0K PiAgICAgICAgICAgICAgICAgICAgICAgICAoc2l6ZV90KXJ1bGVzX3NpemUsIFJURV9DQUNIRV9M SU5FX1NJWkUsIHNvY2tldF9pZCk7DQo+IA0KPiBAQCAtMjI2LDYgKzIzNyw3IEBAIHJ0ZV9scG1f Y3JlYXRlKGNvbnN0IGNoYXIgKm5hbWUsIGludCBzb2NrZXRfaWQsDQo+IHZvaWQgIHJ0ZV9scG1f ZnJlZShzdHJ1Y3QgcnRlX2xwbSAqbHBtKSAgew0KPiArICAgICAgIHN0cnVjdCBpbnRlcm5hbF9s cG0gKmludGVybmFsOw0KPiAgICAgICAgIHN0cnVjdCBydGVfbHBtX2xpc3QgKmxwbV9saXN0Ow0K PiAgICAgICAgIHN0cnVjdCBydGVfdGFpbHFfZW50cnkgKnRlOw0KPiANCj4gQEAgLTI0Nyw4ICsy NTksOSBAQCBydGVfbHBtX2ZyZWUoc3RydWN0IHJ0ZV9scG0gKmxwbSkNCj4gDQo+ICAgICAgICAg cnRlX21jZmdfdGFpbHFfd3JpdGVfdW5sb2NrKCk7DQo+IA0KPiAtICAgICAgIGlmIChscG0tPmRx KQ0KPiAtICAgICAgICAgICAgICAgcnRlX3JjdV9xc2JyX2RxX2RlbGV0ZShscG0tPmRxKTsNCj4g KyAgICAgICBpbnRlcm5hbCA9IGNvbnRhaW5lcl9vZihscG0sIHN0cnVjdCBpbnRlcm5hbF9scG0s IGxwbSk7DQo+ICsgICAgICAgaWYgKGludGVybmFsLT5kcSAhPSBOVUxMKQ0KPiArICAgICAgICAg ICAgICAgcnRlX3JjdV9xc2JyX2RxX2RlbGV0ZShpbnRlcm5hbC0+ZHEpOw0KPiAgICAgICAgIHJ0 ZV9mcmVlKGxwbS0+dGJsOCk7DQo+ICAgICAgICAgcnRlX2ZyZWUobHBtLT5ydWxlc190YmwpOw0K PiAgICAgICAgIHJ0ZV9mcmVlKGxwbSk7DQo+IEBAIC0yNzYsMTMgKzI4OSwxNSBAQCBydGVfbHBt X3JjdV9xc2JyX2FkZChzdHJ1Y3QgcnRlX2xwbSAqbHBtLCBzdHJ1Y3QNCj4gcnRlX2xwbV9yY3Vf Y29uZmlnICpjZmcsICB7DQo+ICAgICAgICAgY2hhciByY3VfZHFfbmFtZVtSVEVfUkNVX1FTQlJf RFFfTkFNRVNJWkVdOw0KPiAgICAgICAgIHN0cnVjdCBydGVfcmN1X3FzYnJfZHFfcGFyYW1ldGVy cyBwYXJhbXMgPSB7MH07DQo+ICsgICAgICAgc3RydWN0IGludGVybmFsX2xwbSAqaW50ZXJuYWw7 DQo+IA0KPiAtICAgICAgIGlmICgobHBtID09IE5VTEwpIHx8IChjZmcgPT0gTlVMTCkpIHsNCj4g KyAgICAgICBpZiAobHBtID09IE5VTEwgfHwgY2ZnID09IE5VTEwpIHsNCj4gICAgICAgICAgICAg ICAgIHJ0ZV9lcnJubyA9IEVJTlZBTDsNCj4gICAgICAgICAgICAgICAgIHJldHVybiAxOw0KPiAg ICAgICAgIH0NCj4gDQo+IC0gICAgICAgaWYgKGxwbS0+dikgew0KPiArICAgICAgIGludGVybmFs ID0gY29udGFpbmVyX29mKGxwbSwgc3RydWN0IGludGVybmFsX2xwbSwgbHBtKTsNCj4gKyAgICAg ICBpZiAoaW50ZXJuYWwtPnYgIT0gTlVMTCkgew0KPiAgICAgICAgICAgICAgICAgcnRlX2Vycm5v ID0gRUVYSVNUOw0KPiAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQo+ICAgICAgICAgfQ0KPiBA QCAtMzA1LDIwICszMjAsMTkgQEAgcnRlX2xwbV9yY3VfcXNicl9hZGQoc3RydWN0IHJ0ZV9scG0g KmxwbSwgc3RydWN0DQo+IHJ0ZV9scG1fcmN1X2NvbmZpZyAqY2ZnLA0KPiAgICAgICAgICAgICAg ICAgcGFyYW1zLmZyZWVfZm4gPSBfX2xwbV9yY3VfcXNicl9mcmVlX3Jlc291cmNlOw0KPiAgICAg ICAgICAgICAgICAgcGFyYW1zLnAgPSBscG07DQo+ICAgICAgICAgICAgICAgICBwYXJhbXMudiA9 IGNmZy0+djsNCj4gLSAgICAgICAgICAgICAgIGxwbS0+ZHEgPSBydGVfcmN1X3FzYnJfZHFfY3Jl YXRlKCZwYXJhbXMpOw0KPiAtICAgICAgICAgICAgICAgaWYgKGxwbS0+ZHEgPT0gTlVMTCkgew0K PiAtICAgICAgICAgICAgICAgICAgICAgICBSVEVfTE9HKEVSUiwgTFBNLA0KPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkxQTSBRUyBkZWZlciBxdWV1ZSBjcmVhdGlv biBmYWlsZWRcbiIpOw0KPiArICAgICAgICAgICAgICAgaW50ZXJuYWwtPmRxID0gcnRlX3JjdV9x c2JyX2RxX2NyZWF0ZSgmcGFyYW1zKTsNCj4gKyAgICAgICAgICAgICAgIGlmIChpbnRlcm5hbC0+ ZHEgPT0gTlVMTCkgew0KPiArICAgICAgICAgICAgICAgICAgICAgICBSVEVfTE9HKEVSUiwgTFBN LCAiTFBNIFFTIGRlZmVyIHF1ZXVlIGNyZWF0aW9uDQo+IGZhaWxlZFxuIik7DQo+ICAgICAgICAg ICAgICAgICAgICAgICAgIHJldHVybiAxOw0KPiAgICAgICAgICAgICAgICAgfQ0KPiAgICAgICAg ICAgICAgICAgaWYgKGRxKQ0KPiAtICAgICAgICAgICAgICAgICAgICAgICAqZHEgPSBscG0tPmRx Ow0KPiArICAgICAgICAgICAgICAgICAgICAgICAqZHEgPSBpbnRlcm5hbC0+ZHE7DQo+ICAgICAg ICAgfSBlbHNlIHsNCj4gICAgICAgICAgICAgICAgIHJ0ZV9lcnJubyA9IEVJTlZBTDsNCj4gICAg ICAgICAgICAgICAgIHJldHVybiAxOw0KPiAgICAgICAgIH0NCj4gLSAgICAgICBscG0tPnJjdV9t b2RlID0gY2ZnLT5tb2RlOw0KPiAtICAgICAgIGxwbS0+diA9IGNmZy0+djsNCj4gKyAgICAgICBp bnRlcm5hbC0+cmN1X21vZGUgPSBjZmctPm1vZGU7DQo+ICsgICAgICAgaW50ZXJuYWwtPnYgPSBj ZmctPnY7DQo+IA0KPiAgICAgICAgIHJldHVybiAwOw0KPiAgfQ0KPiBAQCAtNTAyLDEyICs1MTYs MTMgQEAgX3RibDhfYWxsb2Moc3RydWN0IHJ0ZV9scG0gKmxwbSkgIHN0YXRpYyBpbnQzMl90DQo+ IHRibDhfYWxsb2Moc3RydWN0IHJ0ZV9scG0gKmxwbSkgIHsNCj4gKyAgICAgICBzdHJ1Y3QgaW50 ZXJuYWxfbHBtICppbnRlcm5hbCA9IGNvbnRhaW5lcl9vZihscG0sIHN0cnVjdA0KPiBpbnRlcm5h bF9scG0sIGxwbSk7DQo+ICAgICAgICAgaW50MzJfdCBncm91cF9pZHg7IC8qIHRibDggZ3JvdXAg aW5kZXguICovDQo+IA0KPiAgICAgICAgIGdyb3VwX2lkeCA9IF90Ymw4X2FsbG9jKGxwbSk7DQo+ IC0gICAgICAgaWYgKChncm91cF9pZHggPT0gLUVOT1NQQykgJiYgKGxwbS0+ZHEgIT0gTlVMTCkp IHsNCj4gKyAgICAgICBpZiAoZ3JvdXBfaWR4ID09IC1FTk9TUEMgJiYgaW50ZXJuYWwtPmRxICE9 IE5VTEwpIHsNCj4gICAgICAgICAgICAgICAgIC8qIElmIHRoZXJlIGFyZSBubyB0Ymw4IGdyb3Vw cyB0cnkgdG8gcmVjbGFpbSBvbmUuICovDQo+IC0gICAgICAgICAgICAgICBpZiAocnRlX3JjdV9x c2JyX2RxX3JlY2xhaW0obHBtLT5kcSwgMSwgTlVMTCwgTlVMTCwgTlVMTCkgPT0gMCkNCj4gKyAg ICAgICAgICAgICAgIGlmIChydGVfcmN1X3FzYnJfZHFfcmVjbGFpbShpbnRlcm5hbC0+ZHEsIDEs IE5VTEwsDQo+IE5VTEwsIE5VTEwpID09IDApDQo+ICAgICAgICAgICAgICAgICAgICAgICAgIGdy b3VwX2lkeCA9IF90Ymw4X2FsbG9jKGxwbSk7DQo+ICAgICAgICAgfQ0KPiANCj4gQEAgLTUxOCwy MCArNTMzLDIxIEBAIHN0YXRpYyB2b2lkDQo+ICB0Ymw4X2ZyZWUoc3RydWN0IHJ0ZV9scG0gKmxw bSwgdWludDMyX3QgdGJsOF9ncm91cF9zdGFydCkgIHsNCj4gICAgICAgICBzdHJ1Y3QgcnRlX2xw bV90YmxfZW50cnkgemVyb190Ymw4X2VudHJ5ID0gezB9Ow0KPiArICAgICAgIHN0cnVjdCBpbnRl cm5hbF9scG0gKmludGVybmFsID0gY29udGFpbmVyX29mKGxwbSwgc3RydWN0DQo+IGludGVybmFs X2xwbSwgbHBtKTsNCj4gDQo+IC0gICAgICAgaWYgKCFscG0tPnYpIHsNCj4gKyAgICAgICBpZiAo aW50ZXJuYWwtPnYgPT0gTlVMTCkgew0KPiAgICAgICAgICAgICAgICAgLyogU2V0IHRibDggZ3Jv dXAgaW52YWxpZCovDQo+ICAgICAgICAgICAgICAgICBfX2F0b21pY19zdG9yZSgmbHBtLT50Ymw4 W3RibDhfZ3JvdXBfc3RhcnRdLCAmemVyb190Ymw4X2VudHJ5LA0KPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF9fQVRPTUlDX1JFTEFYRUQpOw0KPiAtICAgICAgIH0gZWxzZSBpZiAo bHBtLT5yY3VfbW9kZSA9PSBSVEVfTFBNX1FTQlJfTU9ERV9TWU5DKSB7DQo+ICsgICAgICAgfSBl bHNlIGlmIChpbnRlcm5hbC0+cmN1X21vZGUgPT0gUlRFX0xQTV9RU0JSX01PREVfU1lOQykgew0K PiAgICAgICAgICAgICAgICAgLyogV2FpdCBmb3IgcXVpZXNjZW50IHN0YXRlIGNoYW5nZS4gKi8N Cj4gLSAgICAgICAgICAgICAgIHJ0ZV9yY3VfcXNicl9zeW5jaHJvbml6ZShscG0tPnYsIFJURV9R U0JSX1RIUklEX0lOVkFMSUQpOw0KPiArICAgICAgICAgICAgICAgcnRlX3JjdV9xc2JyX3N5bmNo cm9uaXplKGludGVybmFsLT52LA0KPiArIFJURV9RU0JSX1RIUklEX0lOVkFMSUQpOw0KPiAgICAg ICAgICAgICAgICAgLyogU2V0IHRibDggZ3JvdXAgaW52YWxpZCovDQo+ICAgICAgICAgICAgICAg ICBfX2F0b21pY19zdG9yZSgmbHBtLT50Ymw4W3RibDhfZ3JvdXBfc3RhcnRdLCAmemVyb190Ymw4 X2VudHJ5LA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fQVRPTUlDX1JFTEFY RUQpOw0KPiAtICAgICAgIH0gZWxzZSBpZiAobHBtLT5yY3VfbW9kZSA9PSBSVEVfTFBNX1FTQlJf TU9ERV9EUSkgew0KPiArICAgICAgIH0gZWxzZSBpZiAoaW50ZXJuYWwtPnJjdV9tb2RlID09IFJU RV9MUE1fUVNCUl9NT0RFX0RRKSB7DQo+ICAgICAgICAgICAgICAgICAvKiBQdXNoIGludG8gUVNC UiBkZWZlciBxdWV1ZS4gKi8NCj4gLSAgICAgICAgICAgICAgIHJ0ZV9yY3VfcXNicl9kcV9lbnF1 ZXVlKGxwbS0+ZHEsICh2b2lkICopJnRibDhfZ3JvdXBfc3RhcnQpOw0KPiArICAgICAgICAgICAg ICAgcnRlX3JjdV9xc2JyX2RxX2VucXVldWUoaW50ZXJuYWwtPmRxLCAodm9pZA0KPiAqKSZ0Ymw4 X2dyb3VwX3N0YXJ0KTsNCj4gICAgICAgICB9DQo+ICB9DQo+IA0KPiBkaWZmIC0tZ2l0IGEvbGli L2xpYnJ0ZV9scG0vcnRlX2xwbS5oIGIvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbS5oIGluZGV4DQo+ IDc4ODlmMjFiMy4uYTk1NjhmY2RkIDEwMDY0NA0KPiAtLS0gYS9saWIvbGlicnRlX2xwbS9ydGVf bHBtLmgNCj4gKysrIGIvbGliL2xpYnJ0ZV9scG0vcnRlX2xwbS5oDQo+IEBAIC0xNDMsMTIgKzE0 Myw2IEBAIHN0cnVjdCBydGVfbHBtIHsNCj4gICAgICAgICAgICAgICAgICAgICAgICAgX19ydGVf Y2FjaGVfYWxpZ25lZDsgLyoqPCBMUE0gdGJsMjQgdGFibGUuICovDQo+ICAgICAgICAgc3RydWN0 IHJ0ZV9scG1fdGJsX2VudHJ5ICp0Ymw4OyAvKio8IExQTSB0Ymw4IHRhYmxlLiAqLw0KPiAgICAg ICAgIHN0cnVjdCBydGVfbHBtX3J1bGUgKnJ1bGVzX3RibDsgLyoqPCBMUE0gcnVsZXMuICovIC0j aWZkZWYNCj4gQUxMT1dfRVhQRVJJTUVOVEFMX0FQSQ0KPiAtICAgICAgIC8qIFJDVSBjb25maWcu ICovDQo+IC0gICAgICAgc3RydWN0IHJ0ZV9yY3VfcXNiciAqdjsgICAgICAgICAvKiBSQ1UgUVNC UiB2YXJpYWJsZS4gKi8NCj4gLSAgICAgICBlbnVtIHJ0ZV9scG1fcXNicl9tb2RlIHJjdV9tb2Rl Oy8qIEJsb2NraW5nLCBkZWZlciBxdWV1ZS4gKi8NCj4gLSAgICAgICBzdHJ1Y3QgcnRlX3JjdV9x c2JyX2RxICpkcTsgICAgIC8qIFJDVSBRU0JSIGRlZmVyIHF1ZXVlLiAqLw0KPiAtI2VuZGlmDQo+ ICB9Ow0KPiANCj4gIC8qKiBMUE0gUkNVIFFTQlIgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUuICov DQo+IA0KPiANCj4gDQo+IA0KPiAtLQ0KPiBEYXZpZCBNYXJjaGFuZA0KDQo=