From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A892841D43; Wed, 22 Feb 2023 23:48:50 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8CA354316A; Wed, 22 Feb 2023 23:48:50 +0100 (CET) Received: from EUR02-AM0-obe.outbound.protection.outlook.com (mail-am0eur02on2065.outbound.protection.outlook.com [40.107.247.65]) by mails.dpdk.org (Postfix) with ESMTP id 9C0BA4313D; Wed, 22 Feb 2023 23:48:48 +0100 (CET) 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=Kp9OKFbWchlWo8ilo2AvZxZ6KkmVFrQuk6LPO1dCjOM=; b=ed/L2KLEUQ8kgAp0rmb3NrQE2NZQ1uhgdK2D54V9iroPSqHfYnA6WaAoEFZ5u23giiB0JC8z5/J0MqRv8oTOc32eMzyjnRfBENn/yzr6OUUAZ1vj7cH9Y0KRWCvWmTlXNrQU0tb0ow85jJhRdXka+Oq4emoSOdUdoO26bY71Pjc= Received: from DB7PR05CA0036.eurprd05.prod.outlook.com (2603:10a6:10:36::49) by DB9PR08MB6539.eurprd08.prod.outlook.com (2603:10a6:10:23f::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.21; Wed, 22 Feb 2023 22:48:40 +0000 Received: from DBAEUR03FT051.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:36:cafe::92) by DB7PR05CA0036.outlook.office365.com (2603:10a6:10:36::49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.21 via Frontend Transport; Wed, 22 Feb 2023 22:48:40 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass 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; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DBAEUR03FT051.mail.protection.outlook.com (100.127.142.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.21 via Frontend Transport; Wed, 22 Feb 2023 22:48:40 +0000 Received: ("Tessian outbound 0d7b2ab0f13d:v132"); Wed, 22 Feb 2023 22:48:40 +0000 X-CR-MTA-TID: 64aa7808 Received: from 39cf5dffc3b2.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 8236B86B-038A-4C5A-B76E-6F09D240A5AF.1; Wed, 22 Feb 2023 22:48:29 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 39cf5dffc3b2.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 22 Feb 2023 22:48:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=StUtRfjD1VLYdpAgVkdFPoW2W4iOWSJFxRd8OWfgAk/5tAbOxjlcwxBtnqT2lgB/oDIsgdRUcmegeLahczKFE+XsmC+/6UQhp5droVMKhUjE3dV1/fNRHHEMSD6eMyLv3d76Tk7GMU2LAxnPb+4SBv4wvMpXh8Q1uKIcac2U9EjxrfR7/k4BHYvuN7lTnWb19Gaqw19bbrem725NW+gxkJQpdG9nhAX3XxDUHaqcbTT73362QTp7v6w9agNsfERdB9/Spmt6WImpfp0mSiqR6+o3eBM+w/dwFkNfSPJ4vS7XCanr3w1hU8sH15FlMOmS10exgqDeptv1MPZQiXz8Eg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Kp9OKFbWchlWo8ilo2AvZxZ6KkmVFrQuk6LPO1dCjOM=; b=lD1N1RcV26m/19oWMroVPZUNyh06Nyau8R12+bFP3z/6S3oqYCSrW6f7b6gDz9g+wZ3hJHVlQP0iDy80oHi3YbVdpuJixw7fHJNC0/iR/utmT90OW7naP38zW5qHgjPPxxcv8y/NdSMHd3ytNBBc68U9U31xV+UYJBwargbipbh/ifuCPOwGZOgB+TYoKt+lxmavcxzstNjZxeWWcxQZYH+GTBnlkuGzAXLpsioUuxdRSHQc/pFVd3ibBkeyJNA1wGceuommOPbm1/qUVkuXMUfxu7PXHIPmOx1Lbs3DQ304FB7mi21C0w6egtjGNvxpV/nm/UYk3dfKVr0uPblyvg== 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=Kp9OKFbWchlWo8ilo2AvZxZ6KkmVFrQuk6LPO1dCjOM=; b=ed/L2KLEUQ8kgAp0rmb3NrQE2NZQ1uhgdK2D54V9iroPSqHfYnA6WaAoEFZ5u23giiB0JC8z5/J0MqRv8oTOc32eMzyjnRfBENn/yzr6OUUAZ1vj7cH9Y0KRWCvWmTlXNrQU0tb0ow85jJhRdXka+Oq4emoSOdUdoO26bY71Pjc= Received: from DBAPR08MB5814.eurprd08.prod.outlook.com (2603:10a6:10:1b1::6) by VI1PR08MB9957.eurprd08.prod.outlook.com (2603:10a6:800:1c2::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.19; Wed, 22 Feb 2023 22:48:26 +0000 Received: from DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::910e:e35f:b1eb:ae9]) by DBAPR08MB5814.eurprd08.prod.outlook.com ([fe80::910e:e35f:b1eb:ae9%5]) with mapi id 15.20.6134.018; Wed, 22 Feb 2023 22:48:25 +0000 From: Honnappa Nagarahalli To: Konstantin Ananyev , Fengchengwen , Stephen Hemminger , Ruifeng Wang CC: Ashok Kaladi , "jerinj@marvell.com" , "thomas@monjalon.net" , "dev@dpdk.org" , "s.v.naga.harish.k@intel.com" , "erik.g.carrillo@intel.com" , "abhinandan.gujjar@intel.com" , "stable@dpdk.org" , nd , nd Subject: RE: [PATCH 2/2] ethdev: fix race condition in fast-path ops setup Thread-Topic: [PATCH 2/2] ethdev: fix race condition in fast-path ops setup Thread-Index: AQHZRPHSKAOhGJtmykGYr/7I8+jOva7XZ1EAgAF+GTCAALzPgIAAh9OAgACgagCAAMnz4A== Date: Wed, 22 Feb 2023 22:48:25 +0000 Message-ID: References: <20230220060839.1267349-1-ashok.k.kaladi@intel.com> <20230220060839.1267349-2-ashok.k.kaladi@intel.com> <4786db4b-63dc-5329-522d-77eb58d4cff4@huawei.com> <20230221090053.14d653bf@hermes.local> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 10D587551A731348AF0A38F110A43452.0 x-checkrecipientchecked: true Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: DBAPR08MB5814:EE_|VI1PR08MB9957:EE_|DBAEUR03FT051:EE_|DB9PR08MB6539:EE_ X-MS-Office365-Filtering-Correlation-Id: 52e3de67-fa30-4b86-e7a8-08db1526f158 x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: IgpfnUxoMsj+M7s2Mpwem0mKGF0LHZt57p5z1k/jkgwu+YN8Vrty7/8nO+kSHUV5Kr+DwVUTGIcsf6ZWn0WpsMbfoINgDREBRuTRaWvOVy7691XCuGuKeQkvIk7EW8fxxavS5bVKmXpySBe5XcY/krcXq2rpEMf83w9NoWxjRLS75obhzoNSNn+hsLWsPrPKBM/jeSaaaoOx7zDQUCBVN0kTml0vFHWoKv1RX1QdaTxgzIwgvDVUVs/pRSXAmCCX4QL1O3A8L1LyEDCBE+F7sjeQE/y30c+HmO9zWSdY8UBr6ySS9tY5wwUtv/H7sHL/qNN/aElG0ereQ79yV5ttCRQs2lX3MIic03d2kz+ztOJDICutT3iJ0VadTWXftFLsc+w69JHzxc0oTpUEeKc6G9Y7Khsn3qBEYbGcyeUo685sOW8YIxSoraARsJMlkyXVJZgFzACep0wi3sB8svlHCB0W/SByF1aErH/hxWOLmgqHu1mrG2x3AMSJH2xMjXARSFsCJg1fUr6txCDxWEYePqajo+3n+Ytvm88IBhOsRT5CBeSDqvIfFY1dBW4cf17HIEi5MqFOgf2pHEeXwSGcBhxtCGu607NPsWoF/jvPzBbCYKBuwNRGuA1y9Iz7WMIoa4qtXwXRai4lDAIFsEhAL3vov+lTtlpn9N9mZi4hqMlmnaVAYB2hs69qS46Hjs0YucpuD/fTLKCoDZFacDH5bg== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBAPR08MB5814.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(4636009)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199018)(6506007)(83380400001)(7696005)(33656002)(38070700005)(316002)(38100700002)(110136005)(54906003)(6636002)(122000001)(478600001)(186003)(53546011)(9686003)(71200400001)(7416002)(2906002)(52536014)(41300700001)(8936002)(5660300002)(4326008)(8676002)(66446008)(66476007)(66556008)(66946007)(55016003)(86362001)(64756008)(76116006); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB9957 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT051.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 3cefadd0-fbe6-427c-102b-08db1526e839 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /bg3pUiII7066pG41gD2tIQhSHa2dH3mkxj0s+mdgVYReYuJeHgmfC/RPKnjPI0ENiE7pVb0jNUq3aFSGZFWblCpCfnm8/rwyJivkH1ARE3kVw708lWz2kMBJeQOZxQcKDuRJAdLpRztLJeLnbUcZlYEd4XFwNOhXiYVEXn4x3hcUFvRHqSclzkVJp3NJGRDtusJPtbuBfqFvaLvh7j7HXKNC+ISG1ripue2WuwO7PdZWzHBQ/xSlscDqNoL2OqZr+FIVR25Ju9A70lzh7yGgNZ6H3x0sZoTz35JO+ZzzSClId9aCzIYNTqGeW9Y+N/JdRGJ9j6OpXWAjuCkRHIS1HgIYBOBYXhhu/7H44/dVpLb+SkOvqvUUpPuDdjert0Mjw9HqmmbLKCX4tCKp2El1P8U9XbhA6eQbWMzEQ5Ufbw7doobL72yNoNqKaMdVUI0DZk99gHBr5gdcIF0MrHun5sCnvqX7pEgquRhGyBxSlYcuGSgJVkqNkXunaPWKjpsMiFW7DGHgNc9QjR/zv6wB1+RDQGTCZOEFqKsWRzyzn3HB/LkIV780LN4+8M18J/5fnA8SZYSuy/b+tYcO7ASfE1clMRILPQyouHUKWa/8iAUeDR7e1HlUonuIT//NGeP7ldDLCGqlBGNQbSV3j0PhkX2/Q2BbNv5D/eHEJaKlgNHjtSJlQ3BGXZNgD2dlkyeG0Q54fxzrKn2xHB6o5J+Ag== 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; SFS:(13230025)(4636009)(376002)(136003)(346002)(39860400002)(396003)(451199018)(46966006)(40470700004)(36840700001)(33656002)(53546011)(82740400003)(81166007)(36860700001)(356005)(7696005)(47076005)(336012)(478600001)(5660300002)(83380400001)(8936002)(52536014)(2906002)(6506007)(40460700003)(41300700001)(6636002)(54906003)(110136005)(316002)(40480700001)(4326008)(8676002)(70206006)(70586007)(55016003)(450100002)(86362001)(186003)(26005)(9686003)(82310400005); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Feb 2023 22:48:40.4976 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 52e3de67-fa30-4b86-e7a8-08db1526f158 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: DBAEUR03FT051.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6539 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogS29uc3RhbnRpbiBBbmFu eWV2IDxrb25zdGFudGluLmFuYW55ZXZAaHVhd2VpLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBG ZWJydWFyeSAyMiwgMjAyMyA0OjQxIEFNDQo+IFRvOiBGZW5nY2hlbmd3ZW4gPGZlbmdjaGVuZ3dl bkBodWF3ZWkuY29tPjsgU3RlcGhlbiBIZW1taW5nZXINCj4gPHN0ZXBoZW5AbmV0d29ya3BsdW1i ZXIub3JnPjsgUnVpZmVuZyBXYW5nIDxSdWlmZW5nLldhbmdAYXJtLmNvbT4NCj4gQ2M6IEFzaG9r IEthbGFkaSA8YXNob2suay5rYWxhZGlAaW50ZWwuY29tPjsgamVyaW5qQG1hcnZlbGwuY29tOw0K PiB0aG9tYXNAbW9uamFsb24ubmV0OyBIb25uYXBwYSBOYWdhcmFoYWxsaQ0KPiA8SG9ubmFwcGEu TmFnYXJhaGFsbGlAYXJtLmNvbT47IGRldkBkcGRrLm9yZzsNCj4gcy52Lm5hZ2EuaGFyaXNoLmtA aW50ZWwuY29tOyBlcmlrLmcuY2FycmlsbG9AaW50ZWwuY29tOw0KPiBhYmhpbmFuZGFuLmd1amph ckBpbnRlbC5jb207IHN0YWJsZUBkcGRrLm9yZzsgbmQgPG5kQGFybS5jb20+DQo+IFN1YmplY3Q6 IFJFOiBbUEFUQ0ggMi8yXSBldGhkZXY6IGZpeCByYWNlIGNvbmRpdGlvbiBpbiBmYXN0LXBhdGgg b3BzIHNldHVwDQo+IA0KPiANCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4g PiBGcm9tOiBmZW5nY2hlbmd3ZW4gPGZlbmdjaGVuZ3dlbkBodWF3ZWkuY29tPg0KPiA+IFNlbnQ6 IFdlZG5lc2RheSwgRmVicnVhcnkgMjIsIDIwMjMgMTowNyBBTQ0KPiA+IFRvOiBTdGVwaGVuIEhl bW1pbmdlciA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+OyBSdWlmZW5nIFdhbmcNCj4gPiA8 UnVpZmVuZy5XYW5nQGFybS5jb20+DQo+ID4gQ2M6IEFzaG9rIEthbGFkaSA8YXNob2suay5rYWxh ZGlAaW50ZWwuY29tPjsgamVyaW5qQG1hcnZlbGwuY29tOw0KPiA+IHRob21hc0Btb25qYWxvbi5u ZXQ7IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+ID4gPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5j b20+OyBkZXZAZHBkay5vcmc7DQo+ID4gcy52Lm5hZ2EuaGFyaXNoLmtAaW50ZWwuY29tOyBlcmlr LmcuY2FycmlsbG9AaW50ZWwuY29tOw0KPiA+IGFiaGluYW5kYW4uZ3VqamFyQGludGVsLmNvbTsg c3RhYmxlQGRwZGsub3JnOyBuZCA8bmRAYXJtLmNvbT4NCj4gPiBTdWJqZWN0OiBSZTogW1BBVENI IDIvMl0gZXRoZGV2OiBmaXggcmFjZSBjb25kaXRpb24gaW4gZmFzdC1wYXRoIG9wcw0KPiA+IHNl dHVwDQo+ID4NCj4gPiBPbiAyMDIzLzIvMjIgMTowMCwgU3RlcGhlbiBIZW1taW5nZXIgd3JvdGU6 DQo+ID4gPiBPbiBUdWUsIDIxIEZlYiAyMDIzIDA3OjI0OjE5ICswMDAwDQo+ID4gPiBSdWlmZW5n IFdhbmcgPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPiB3cm90ZToNCj4gPiA+DQo+ID4gPj4+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPj4+IEZyb206IGZlbmdjaGVuZ3dlbiA8ZmVuZ2No ZW5nd2VuQGh1YXdlaS5jb20+DQo+ID4gPj4+IFNlbnQ6IE1vbmRheSwgRmVicnVhcnkgMjAsIDIw MjMgMjo1OCBQTQ0KPiA+ID4+PiBUbzogQXNob2sgS2FsYWRpIDxhc2hvay5rLmthbGFkaUBpbnRl bC5jb20+OyBqZXJpbmpAbWFydmVsbC5jb207DQo+ID4gPj4+IHRob21hc0Btb25qYWxvbi5uZXQN Cj4gPiA+Pj4gQ2M6IGRldkBkcGRrLm9yZzsgcy52Lm5hZ2EuaGFyaXNoLmtAaW50ZWwuY29tOw0K PiA+ID4+PiBlcmlrLmcuY2FycmlsbG9AaW50ZWwuY29tOyBhYmhpbmFuZGFuLmd1amphckBpbnRl bC5jb207DQo+ID4gPj4+IHN0YWJsZUBkcGRrLm9yZzsgUnVpZmVuZyBXYW5nIDxSdWlmZW5nLldh bmdAYXJtLmNvbT4NCj4gPiA+Pj4gU3ViamVjdDogUmU6IFtQQVRDSCAyLzJdIGV0aGRldjogZml4 IHJhY2UgY29uZGl0aW9uIGluIGZhc3QtcGF0aA0KPiA+ID4+PiBvcHMgc2V0dXANCj4gPiA+Pj4N Cj4gPiA+Pj4gT24gMjAyMy8yLzIwIDE0OjA4LCBBc2hvayBLYWxhZGkgd3JvdGU6DQo+ID4gPj4+ PiBJZiBldGhkZXYgZW5xdWV1ZSBvciBkZXF1ZXVlIGZ1bmN0aW9uIGlzIGNhbGxlZCBkdXJpbmcN Cj4gPiA+Pj4+IGV0aF9kZXZfZnBfb3BzX3NldHVwKCksIGl0IG1heSBnZXQgcHJlLWVtcHRlZCBh ZnRlciBzZXR0aW5nIHRoZQ0KPiA+ID4+Pj4gZnVuY3Rpb24gcG9pbnRlcnMsIGJ1dCBiZWZvcmUg c2V0dGluZyB0aGUgcG9pbnRlciB0byBwb3J0IGRhdGEuDQo+ID4gPj4+PiBJbiB0aGlzIGNhc2Ug dGhlIG5ld2x5IHJlZ2lzdGVyZWQgZW5xdWV1ZS9kZXF1ZXVlIGZ1bmN0aW9uIHdpbGwNCj4gPiA+ Pj4+IHVzZSBkdW1teSBwb3J0IGRhdGEgYW5kIGVuZCB1cCBpbiBzZWcgZmF1bHQuDQo+ID4gPj4+ Pg0KPiA+ID4+Pj4gVGhpcyBwYXRjaCBtb3ZlcyB0aGUgdXBkYXRpb24gb2YgZWFjaCBkYXRhIHBv aW50ZXJzIGJlZm9yZQ0KPiA+ID4+Pj4gdXBkYXRpbmcgY29ycmVzcG9uZGluZyBmdW5jdGlvbiBw b2ludGVycy4NCj4gPiA+Pj4+DQo+ID4gPj4+PiBGaXhlczogYzg3ZDQzNWE0ZDc5ICgiZXRoZGV2 OiBjb3B5IGZhc3QtcGF0aCBBUEkgaW50byBzZXBhcmF0ZQ0KPiA+ID4+Pj4gc3RydWN0dXJlIikN Cj4gPiA+Pj4+IENjOiBzdGFibGVAZHBkay5vcmcNCj4gPiA+DQo+ID4gPiBXaHkgaXMgc29tZXRo aW5nIGNhbGxpbmcgZW5xdWV1ZS9kZXF1ZXVlIHdoZW4gZGV2aWNlIGlzIG5vdCBmdWxseQ0KPiBz dGFydGVkLg0KPiA+ID4gQSBjb3JyZWN0bHkgd3JpdHRlbiBhcHBsaWNhdGlvbiB3b3VsZCBub3Qg Y2FsbCByeC90eCBidXJzdCB1bnRpbA0KPiA+ID4gYWZ0ZXIgZXRoZGV2IHN0YXJ0IGhhZCBmaW5p c2hlZC4NCj4gPg0KPiA+IFBsZWFzZSByZWZlciB0aGUgZWIwZDQ3MWE4OTQgKGV0aGRldjogYWRk IHByb2FjdGl2ZSBlcnJvciBoYW5kbGluZw0KPiA+IG1vZGUpLCB3aGVuIGRyaXZlciByZWNvdmVy IGl0c2VsZiwgdGhlIGFwcGxpY2F0aW9uIG1heSBzdGlsbCBpbnZva2UNCj4gZW5xdWV1ZS9kZXF1 ZXVlIEFQSS4NCj4gDQo+IFJpZ2h0IG5vdyBEUERLIGV0aGRldiBsYXllciAqZG9lcyBub3QqIHBy b3ZpZGUgc3luY2hyb25pemF0aW9uDQo+IG1lY2hhbmlzbXMgYmV0d2VlbiBkYXRhLXBhdGggYW5k IGNvbnRyb2wtcGF0aCBmdW5jdGlvbnMuDQo+IFRoYXQgd2FzIGEgZGVsaWJlcmF0ZSBkZWlzZ24g Y2hvaWNlLiBJZiB3ZSB3YW50IHRvIGNoYW5nZSB0aGF0IHJ1bGUsIHRoZW4gSQ0KPiBzdXBwb3Nl IHdlIG5lZWQgYSBjb21tdW5pdHkgY29uc2Vuc3VzIGZvciBpdC4NCisxDQpBbnkgc3VjaCBzeW5j aHJvbml6YXRpb24gdHlwaWNhbGx5IHJlcXVpcmVzIHVzaW5nIGxvYWQtYWNxdWlyZSBvbiBkYXRh IHBsYW5lLCB3aGljaCBicmluZ3MgZG93biB0aGUgcGVyZm9ybWFuY2UuIEJ1dCwgaW5pdCB0aW1l IHN5bmNocm9uaXphdGlvbiB3b3VsZCBub3QgYWZmZWN0IHRoZSBwZXJmb3JtYW5jZSAoc3RhdGlu ZyB0aGUgb2J2aW91cykuDQoNCj4gSSB0aGluayB0aGF0IGlmIHRoZSBkcml2ZXIgd2FudHMgdG8g cHJvdmlkZSBzb21lIHNvcnQgb2YgZXJyb3IgcmVjb3ZlcnkNCj4gcHJvY2VkdXJlLCB0aGVuIGl0 IGhhcyB0byBwcm92aWRlIHNvbWUgc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbSBpbnNpZGUgaXQN Cj4gYmV0d2VlbiBkYXRhLXBhdGggYW5kIGNvbnRyb2wtcGF0aCBmdW5jdGlvbnMuDQo+IEFjdHVh bGx5IGxvb2tpbmcgYXQgZWIwZDQ3MWE4OTQgKGV0aGRldjogYWRkIHByb2FjdGl2ZSBlcnJvciBo YW5kbGluZw0KPiBtb2RlKSwgYW5kIGZvbGxvd2luZyBwYXRjaGVzIEkgd29uZGVyIGhvdyBpdCBj cmVlcGVkIGluPw0KPiBJdCBzZWVtcyB3ZSBqdXN0IGludHJvZHVjZWQgYSBsb29waG9sZSBmb3Ig cmFjZSBjb25kaXRpb24gd2l0aCB0aGlzDQo+IGFwcHJvYWNoLi4uDQo+IEl0IHByb2JhYmx5IG5l ZWRzIHRvIGJlIGVpdGhlciBkZXByZWNhdGVkIG9yIHJld29ya2VkLg0KPiANCj4gPg0KPiA+ID4N Cj4gPiA+IFdvdWxkIHNvbWV0aGluZyBsaWtlIHRoaXMgd29yayBiZXR0ZXI/DQo+ID4gPg0KPiA+ ID4gTm90ZTogdGhlcmUgaXMgYW5vdGhlciBidWcgaW4gY3VycmVudCBjb2RlLiBUaGUgY2hlY2sg Zm9yIGxpbmsgc3RhdGUNCj4gPiA+IGludGVycnVwdCBhbmQgbGlua19vcHMgY291bGQgcmV0dXJu IC1FTk9UU1VQIGFuZCBsZWF2ZSBkZXZpY2UgaW4NCj4gaW5kZXRlcm1pbmF0ZSBzdGF0ZS4NCj4g PiA+IFRoZSBjaGVjayBzaG91bGQgYmUgZG9uZSBiZWZvcmUgY2FsbGluZyBQTUQuDQo+ID4gPg0K PiA+ID4gZGlmZiAtLWdpdCBhL2xpYi9ldGhkZXYvcnRlX2V0aGRldi5jIGIvbGliL2V0aGRldi9y dGVfZXRoZGV2LmMgaW5kZXgNCj4gPiA+IDAyNjZjYzgyYWNiNi4uZDZjMTYzZWQ4NWU3IDEwMDY0 NA0KPiA+ID4gLS0tIGEvbGliL2V0aGRldi9ydGVfZXRoZGV2LmMNCj4gPiA+ICsrKyBiL2xpYi9l dGhkZXYvcnRlX2V0aGRldi5jDQo+ID4gPiBAQCAtMTU4Miw2ICsxNTgyLDE0IEBAIHJ0ZV9ldGhf ZGV2X3N0YXJ0KHVpbnQxNl90IHBvcnRfaWQpDQo+ID4gPiAgCQlyZXR1cm4gMDsNCj4gPiA+ICAJ fQ0KPiA+ID4NCj4gPiA+ICsJaWYgKGRldi0+ZGF0YS0+ZGV2X2NvbmYuaW50cl9jb25mLmxzYyA9 PSAwICYmDQo+ID4gPiArCSAgICBkZXYtPmRldl9vcHMtPmxpbmtfdXBkYXRlID09IE5VTEwpIHsN Cj4gPiA+ICsJCVJURV9FVEhERVZfTE9HKElORk8sDQo+ID4gPiArCQkJICAgICAgICJEZXZpY2Ug d2l0aCBwb3J0X2lkPSUiUFJJdTE2IiBsaW5rIHVwZGF0ZSBub3QNCj4gc3VwcG9ydGVkXG4iLA0K PiA+ID4gKwkJCSAgICAgICBwb3J0X2lkKTsNCj4gPiA+ICsJCQlyZXR1cm4gLUVOT1RTVVA7DQo+ ID4gPiArCX0NCj4gPiA+ICsNCj4gPiA+ICAJcmV0ID0gcnRlX2V0aF9kZXZfaW5mb19nZXQocG9y dF9pZCwgJmRldl9pbmZvKTsNCj4gPiA+ICAJaWYgKHJldCAhPSAwKQ0KPiA+ID4gIAkJcmV0dXJu IHJldDsNCj4gPiA+IEBAIC0xNTkxLDkgKzE1OTksNyBAQCBydGVfZXRoX2Rldl9zdGFydCh1aW50 MTZfdCBwb3J0X2lkKQ0KPiA+ID4gIAkJZXRoX2Rldl9tYWNfcmVzdG9yZShkZXYsICZkZXZfaW5m byk7DQo+ID4gPg0KPiA+ID4gIAlkaWFnID0gKCpkZXYtPmRldl9vcHMtPmRldl9zdGFydCkoZGV2 KTsNCj4gPiA+IC0JaWYgKGRpYWcgPT0gMCkNCj4gPiA+IC0JCWRldi0+ZGF0YS0+ZGV2X3N0YXJ0 ZWQgPSAxOw0KPiA+ID4gLQllbHNlDQo+ID4gPiArCWlmIChkaWFnICE9IDApDQo+ID4gPiAgCQly ZXR1cm4gZXRoX2Vycihwb3J0X2lkLCBkaWFnKTsNCj4gPiA+DQo+ID4gPiAgCXJldCA9IGV0aF9k ZXZfY29uZmlnX3Jlc3RvcmUoZGV2LCAmZGV2X2luZm8sIHBvcnRfaWQpOyBAQCAtMTYxMSwxNg0K PiA+ID4gKzE2MTcsMTggQEAgcnRlX2V0aF9kZXZfc3RhcnQodWludDE2X3QgcG9ydF9pZCkNCj4g PiA+ICAJCXJldHVybiByZXQ7DQo+ID4gPiAgCX0NCj4gPiA+DQo+ID4gPiAtCWlmIChkZXYtPmRh dGEtPmRldl9jb25mLmludHJfY29uZi5sc2MgPT0gMCkgew0KPiA+ID4gLQkJaWYgKCpkZXYtPmRl dl9vcHMtPmxpbmtfdXBkYXRlID09IE5VTEwpDQo+ID4gPiAtCQkJcmV0dXJuIC1FTk9UU1VQOw0K PiA+ID4gLQkJKCpkZXYtPmRldl9vcHMtPmxpbmtfdXBkYXRlKShkZXYsIDApOw0KPiA+ID4gLQl9 DQo+ID4gPiAtDQo+ID4gPiAgCS8qIGV4cG9zZSBzZWxlY3Rpb24gb2YgUE1EIGZhc3QtcGF0aCBm dW5jdGlvbnMgKi8NCj4gPiA+ICAJZXRoX2Rldl9mcF9vcHNfc2V0dXAocnRlX2V0aF9mcF9vcHMg KyBwb3J0X2lkLCBkZXYpOw0KPiA+ID4NCj4gPiA+ICsJLyogZW5zdXJlIHN0YXRlIGlzIHNldCBi ZWZvcmUgbWFya2luZyBkZXZpY2UgcmVhZHkgKi8NCj4gPiA+ICsJcnRlX3NtcF93bWIoKTsNCj4g PiA+ICsNCj4gPiA+ICAJcnRlX2V0aGRldl90cmFjZV9zdGFydChwb3J0X2lkKTsNCj4gPiA+ICsN Cj4gPiA+ICsJLyogVXBkYXRlIGN1cnJlbnQgbGluayBzdGF0ZSAqLw0KPiA+ID4gKwlpZiAoZGV2 LT5kYXRhLT5kZXZfY29uZi5pbnRyX2NvbmYubHNjID09IDApDQo+ID4gPiArCQkoKmRldi0+ZGV2 X29wcy0+bGlua191cGRhdGUpKGRldiwgMCk7DQo+ID4gPiArDQo+ID4gPiAgCXJldHVybiAwOw0K PiA+ID4gIH0NCj4gPiA+DQo+ID4gPg0KPiA+ID4gLg0KPiA+ID4NCg0K