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 72661A00C2; Tue, 29 Nov 2022 21:54:28 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1B8C040A79; Tue, 29 Nov 2022 21:54:28 +0100 (CET) Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02on2070.outbound.protection.outlook.com [40.107.249.70]) by mails.dpdk.org (Postfix) with ESMTP id 8B1EC40693 for ; Tue, 29 Nov 2022 21:54:26 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UMMVgqI9B2FmyGFWKrp5mI2/hz+/k6Uo7QI3veobP47oWUKT+spt8GPGgWeHl1DCEy+t1X/dRXNg0vx3KexA63GQuGQ3ZSN0heZuAyd41eaqj94OZ1+hqBUErcpX9gbRl5TJscBwmtD4FhdZCi4yiUPtjF0+xr8y7HPtApTXEb5bRnA4R2I5DLvt6BXKSKKhmZ5ugGrvtjuJli84Xnp6NOwcqPoB2btWedMT3RW3cgmrloKLEuV7jfmCfmQdwpMe26EBN1EmtEX/oktmrNq6QfuopV0TZCeUVkLMEz49IcfqIax0vH1eEWfZ1e77GQO+enGJ7PbS1LVLIhrRXjJn7A== 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=M1dbk/DbKnxvD84JYA9zrrXaPO+jsuwIkVp+cj/iNXo=; b=SaMC6pI2ZlW/2Wfu/R5xP+hPo0G5dw37A1X+Msu5axsejEaAnerjwkcia3GQG/3ljSrPqO3/k2zA3s8QRyhymHjTTeukjWIf3nNs9GC+zeEqNmodhOAnOW3CGBqtIGQClcgPlJ0cahMlnffZDcJJzRYLW4ymU0NlxUZcO0EgOIPfPgL9ux3WwkK2OfhOS3dbgS+mLhI0syaV4/m/PToRO9pDHA/+NlOxyZCVkuAdPuvquVaIxkqeaW5oeFH4m6aaHLUYyWOo7QoOydrTe03cTKM0e4wa/jUix5R58Rda0SVPqJAcUqwfI97uW54MawRUiwO++nTnO7yKexh7ZiMKbQ== 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=M1dbk/DbKnxvD84JYA9zrrXaPO+jsuwIkVp+cj/iNXo=; b=9lE/C/zYD7+OqI+jf/lj+CMnPXcImSAmG+h/Ibu56pEtLbT5ABDNC6jXcgoJYjFo8D4lTzrkN4hf7RZMbjtf8mwVAilU+e1sylVY4hIkj/mmEIVQZCy+aegoqM64VfxM8wZu1KR0H19e4cuVmO2UhIBR9uxBmDgCQ2063ZL26x0= Received: from DB7PR08MB3865.eurprd08.prod.outlook.com (2603:10a6:10:74::25) by DU0PR08MB9107.eurprd08.prod.outlook.com (2603:10a6:10:474::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 29 Nov 2022 20:54:23 +0000 Received: from DB7PR08MB3865.eurprd08.prod.outlook.com ([fe80::d71d:1321:d446:ba2a]) by DB7PR08MB3865.eurprd08.prod.outlook.com ([fe80::d71d:1321:d446:ba2a%4]) with mapi id 15.20.5880.008; Tue, 29 Nov 2022 20:54:22 +0000 From: Kamalakshitha Aligeri To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "olivier.matz@6wind.com" , "andrew.rybchenko@oktetlabs.ru" , Honnappa Nagarahalli , "bruce.richardson@intel.com" , "dev@dpdk.org" CC: nd , nd Subject: RE: [PATCH v2] mempool cache: add zero-copy get and put functions Thread-Topic: [PATCH v2] mempool cache: add zero-copy get and put functions Thread-Index: AQHY+eXilK2MG5G/y0iZVkPSkfr2Tq5Wc3cw Date: Tue, 29 Nov 2022 20:54:22 +0000 Message-ID: References: <98CBD80474FA8B44BF855DF32C47DC35D87488@smartserver.smartshare.dk> <20221116180419.98937-1-mb@smartsharesystems.com> In-Reply-To: <20221116180419.98937-1-mb@smartsharesystems.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: FC8A7B2021DFBA4CABE78739F938DEA1.0 x-checkrecipientchecked: true authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DB7PR08MB3865:EE_|DU0PR08MB9107:EE_ x-ms-office365-filtering-correlation-id: 6c911d98-f804-4fd4-c8c7-08dad24be487 nodisclaimer: true x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EI1fYWd7+vX8MkYvri788sEzRogMBQLpcKjhxsljSspPct1EivQ0sDnZC3ZDnKQpGDBevGEr9bsm3KqSXf6llWHO02pbtvkoLZzRdqvUfiCa5ZhZX/+vxpEoppwgm+c2yWAAnYPgPTr38HQ5j3qkKadPjkOZz7Yvy4omnpaG87rF80tj/gTVme7hzntNQuriLlqpsISXiwhvtih7Cj/ClwgGwkaTlmCGvZGmYMFRNfBuK2HPKaKNt/bBNQD/1Zk7dF9I/jnSxmYEOFCwNAOUHzmt/aVDxIIuV8VfN7QbrPryO0OdrSH28ujF+Czp/MXw0wlBzhn9YPNRSjvcYCTKSg0UEBmUK1Vr8B3FCGnrLsANJeltu7T4fKWrDbcUmbP1+6Zas42oJzMdPoGOr/8vc7aeSlzgWMeyxzE2ntwEfrVD333egPAKcstHkfqoXO0Az6EqFygQa5EaLJLWEm92nc++vEOznaK1SvwmD/haGc38jkT1Rqx9fPqHgJUPyXtr++bxZAO5qZF0M2zCKeiaNFJia29pfVQ4MOzvgA/CJyBlJkr1Wk7JBH7fB7Epsu1pL3NAcXflwJsGZ59VPQFWEKgE8dMfupipwEeuxyEOAbgtX65M0iEPkHNQ2wkK5Hr9iO4fZhaID/A2boVfFuJ6ZXytBhdj1Ie4Ld1VbJhZqBpg1Z20YaVALumE2cwFCzt8P7f2JfpwVVQAomAIAgyWpetinpro4nuQIyTmQAIMgQU= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR08MB3865.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(366004)(39860400002)(396003)(376002)(136003)(346002)(451199015)(110136005)(8936002)(52536014)(5660300002)(33656002)(76116006)(71200400001)(54906003)(8676002)(186003)(66556008)(64756008)(41300700001)(4326008)(66476007)(6506007)(316002)(38100700002)(38070700005)(122000001)(66574015)(55016003)(83380400001)(966005)(26005)(86362001)(478600001)(66946007)(66446008)(9686003)(53546011)(7696005)(2906002)(66899015); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?U2lXOWVpUEJYNEhoeU1DWW5vemVYemR5OGtKc29va0JsZWl0emxVQndoT2ti?= =?utf-8?B?WFlEbzZ0RGpxQWhIWklIeFd3UjFyRnZKNytOQUlDOWRiWE5USzhsV0tRVjZx?= =?utf-8?B?bDJRbUZoemhTSkc5VVVMVTFPNDI0UlgwMUh0SkwvMXhqYjlXVEY3ZC9wRUpi?= =?utf-8?B?R3JIeHM4bTJOQUEvcWE1MXBPS3dmRmlKYUE5TGRjcHE3Y3prVVJsYjJJUEpl?= =?utf-8?B?Z3IvZHRzcUtROHRURkZnTWRrOGhsMTgzWVhnT2lFWFBkNTBjTlZtektCbDhP?= =?utf-8?B?NUN4cTZGSmM4b1ZiT1IxR2xvSURZcDcrMjdBL0I0d0RUUFZhTGRBemE4Wm1J?= =?utf-8?B?YTQzNllLT2xhdWZWaVdnWmFLakVPWmUxd3JUTm10a0xBeEdZN0htaHVvZUt5?= =?utf-8?B?aEVERCsyaUF5YlBnUnIzZjB0U2pQVGpaSTIrbnVVRWYraVllTURqRW5ZYzdE?= =?utf-8?B?dWtNOU1GRWs2ZDBHNDFmSE9ITC9ORU9XdlVZMGdWRy9lVlVzbTZHV2J3TEkz?= =?utf-8?B?S3NVMVAzZUJ4bkVOS3RuNHY1RkZsY2YxL3pnL2hxQ0F5blVxSjJGQ3d0S21C?= =?utf-8?B?S0lYb1NYMm9oV0ttMjBnN3Qwei8xTkdTWEpIdGdiVFEvWXY5QmJ3Yzh1OHRG?= =?utf-8?B?SER3MHo4N3ZwdjRBRm9wODkrYjErVDdsbldBSjJBYUNzQjY1b1VtWnNPNkho?= =?utf-8?B?bnp4NnBuSTBLMWFJV3BNaW1PUW5ENUFDdWE5YUh6dkdITkdLdncxbEF0Qk4y?= =?utf-8?B?SitjSERNbjlwb241dUdEZW1EYTFLQWlWbjZsYUxHajlhancvN3ErU1puaWNW?= =?utf-8?B?RDUxa2M2aXMwWkh4MWY1ckxlZlZ2ejFUL2JRV2FZVTJNUzdYNi8wK2hXUGxO?= =?utf-8?B?VkQrQUF2OS9rTzZwLzh1N09tU1F3ak5nSy9HZXB0eS9xQmFxWDBnOVJYNDdZ?= =?utf-8?B?aDc0TVlBUzdiWFEzVmkyM0hwVkhFWGhOQzlGODhLSGxMcHRJNlM4NEZSQ3pY?= =?utf-8?B?Y3BPdFlsSGw2SG00TTQrYmRlL1Z1M2pUdWxzZ0Z5Qng4SDRFeWJPTkdweUQ2?= =?utf-8?B?WU9FSnNHZDJRR2tBZjY3bWVKekZyTmtsMnBhdDBiUGlwT25DUm4yMVp0RXJv?= =?utf-8?B?djJFdXhIUVk1MUpVSnlJc0kyU042YytwSmpqRDJWRzBxS1hrWEJqQWJBMmxi?= =?utf-8?B?aFRxS0FqeTlmcS9UeUY2Y3g4N3pxWWw4NlFRdHNPZElDQTlGK1pyV0xrM0hq?= =?utf-8?B?b1FrWjh0WFVrTFAyMUt3K1pZVHpGZW5udkZSOEtTMHFwN05lbFAwOFE5QTlE?= =?utf-8?B?cVpRSlhVdmtDamE5YWozWFpMcjNoK3VxWUtSOWIvVTRkTTY3c1NmSW1ZMGp0?= =?utf-8?B?QzU0RndoYWlMaEdsdFh3QnFlc0h0SGQzYXRsNXROTWRWU0NkOEhvU2R4MEF3?= =?utf-8?B?SmNHa1MxeXdFcC9ISTJHYzJVTmpYekVQdnZDamxxYnZRcHlNNHExODdtMlIv?= =?utf-8?B?UWgydEN2dE5QbUdWK3NybUhNandyM0xSU0V5bUN1MXkxdytGdnpTaGRlUGs0?= =?utf-8?B?bXNEeXFEcEplZndHVis2bWRsYTZWVlU1VEk2Wno5TEhyM3J1Mzh4ZkkrUy9j?= =?utf-8?B?Y1ozWm5YdkFZMERBeE9iVndXN1pyZTQrbjZDS0NJS1ppSmhSYkxHV1dLaStv?= =?utf-8?B?RWprR2czNmNVd21MOW0wOHoxNERNSUhsck5YR1ZnNmRIOWVnbGF2aGcwRWo0?= =?utf-8?B?TUVmM2t0emRFZjg0NzdJYXBoL1VvREg4SUpWd0R3NmRNV0s2dlRsN21RTUxQ?= =?utf-8?B?WnUycHBOQmRIVFRHVllWSVgwZm9Ra3VtU0wwTHdwaVBxRStRRklJWkE2TXZx?= =?utf-8?B?eTRsZk5FUTl0NjBwUmZ0Q2h2eDBOMVB4N3AzMTBSRlVjQ1hYTW9lVXBvMWtq?= =?utf-8?B?UDZnVVVwRlo3NnIwZytLNFNLNk00cDdGZnRydXdDdDRjZ04xVUt6Vm42VERi?= =?utf-8?B?V0JmZ0FacHBPOEJRN1IzMmV0SXhWS3A0bEp5RWJjblhhditlMzAvVnFHV0xZ?= =?utf-8?B?YWRWbnNBWkpZTXlGU20wVklyWGNaWGZoRVFjaXE4b2QreFloaWxCcVhlQ2pK?= =?utf-8?B?WUxkTzc5VDA0SXdnVmpqdHdrWmd0a2NNS2ttVGd2Q3RSZDc1clUwUTlRNWhV?= =?utf-8?B?anc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB7PR08MB3865.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6c911d98-f804-4fd4-c8c7-08dad24be487 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 20:54:22.4361 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: QHZrUy+TuBLJ3JnvKSYErWHCXrCGeAbEELAm5+G20rDrDdlzRNsxplqnWL+hfY2hm8VZ3SaaIUw2GpxbcbzePKcVkVErT1fsBqCKi1Y0loc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9107 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTW9ydGVuIEJyw7hydXAg PG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBOb3ZlbWJlciAx NiwgMjAyMiAxMjowNCBQTQ0KPiBUbzogb2xpdmllci5tYXR6QDZ3aW5kLmNvbTsgYW5kcmV3LnJ5 YmNoZW5rb0Bva3RldGxhYnMucnU7IEhvbm5hcHBhDQo+IE5hZ2FyYWhhbGxpIDxIb25uYXBwYS5O YWdhcmFoYWxsaUBhcm0uY29tPjsgS2FtYWxha3NoaXRoYSBBbGlnZXJpDQo+IDxLYW1hbGFrc2hp dGhhLkFsaWdlcmlAYXJtLmNvbT47IGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tOw0KPiBkZXZA ZHBkay5vcmcNCj4gQ2M6IG5kIDxuZEBhcm0uY29tPjsgTW9ydGVuIEJyw7hydXAgPG1iQHNtYXJ0 c2hhcmVzeXN0ZW1zLmNvbT4NCj4gU3ViamVjdDogW1BBVENIIHYyXSBtZW1wb29sIGNhY2hlOiBh ZGQgemVyby1jb3B5IGdldCBhbmQgcHV0IGZ1bmN0aW9ucw0KPiANCj4gWmVyby1jb3B5IGFjY2Vz cyB0byBtZW1wb29sIGNhY2hlcyBpcyBiZW5lZmljaWFsIGZvciBQTUQgcGVyZm9ybWFuY2UsIGFu ZA0KPiBtdXN0IGJlIHByb3ZpZGVkIGJ5IHRoZSBtZW1wb29sIGxpYnJhcnkgdG8gZml4IFtCdWcg MTA1Ml0gd2l0aG91dCBhDQo+IHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24uDQo+IA0KPiBbQnVnIDEw NTJdOiBodHRwczovL2J1Z3MuZHBkay5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTINCj4gDQo+IHYy Og0KPiAqIEZpeCBjaGVja3BhdGNoIHdhcm5pbmdzLg0KPiAqIEZpeCBtaXNzaW5nIHJlZ2lzdHJh dGlvbiBvZiB0cmFjZSBwb2ludHMuDQo+ICogVGhlIGZ1bmN0aW9ucyBhcmUgaW5saW5lLCBzbyB0 aGV5IGRvbid0IGdvIGludG8gdGhlIG1hcCBmaWxlLg0KPiB2MSBjaGFuZ2VzIGZyb20gdGhlIFJG QzoNCj4gKiBSZW1vdmVkIHJ1bi10aW1lIHBhcmFtZXRlciBjaGVja3MuIChIb25uYXBwYSkNCj4g ICBUaGlzIGlzIGEgaG90IGZhc3QgcGF0aCBmdW5jdGlvbjsgcmVxdWlyaW5nIGNvcnJlY3QgYXBw bGljYXRpb24NCj4gICBiZWhhdmlvdXIsIGkuZS4gZnVuY3Rpb24gcGFyYW1ldGVycyBtdXN0IGJl IHZhbGlkLg0KPiAqIEFkZGVkIFJURV9BU1NFUlQgZm9yIHBhcmFtZXRlcnMgaW5zdGVhZC4NCj4g ICBDb2RlIGZvciB0aGlzIGlzIG9ubHkgZ2VuZXJhdGVkIGlmIGJ1aWx0IHdpdGggUlRFX0VOQUJM RV9BU1NFUlQuDQo+ICogUmVtb3ZlZCBmYWxsYmFjayB3aGVuICdjYWNoZScgcGFyYW1ldGVyIGlz IG5vdCBzZXQuIChIb25uYXBwYSkNCj4gKiBDaG9zZSB0aGUgc2ltcGxlIGdldCBmdW5jdGlvbjsg aS5lLiBkbyBub3QgbW92ZSB0aGUgZXhpc3Rpbmcgb2JqZWN0cyBpbg0KPiAgIHRoZSBjYWNoZSB0 byB0aGUgdG9wIG9mIHRoZSBuZXcgc3RhY2ssIGp1c3QgbGVhdmUgdGhlbSBhdCB0aGUgYm90dG9t Lg0KPiAqIFJlbmFtZWQgdGhlIGZ1bmN0aW9ucy4gT3RoZXIgc3VnZ2VzdGlvbnMgYXJlIHdlbGNv bWUsIG9mIGNvdXJzZS4gOy0pDQo+ICogVXBkYXRlZCB0aGUgZnVuY3Rpb24gZGVzY3JpcHRpb25z Lg0KPiAqIEFkZGVkIHRoZSBmdW5jdGlvbnMgdG8gdHJhY2VfZnAgYW5kIHZlcnNpb24ubWFwLg0K PiANCj4gU2lnbmVkLW9mZi1ieTogTW9ydGVuIEJyw7hydXAgPG1iQHNtYXJ0c2hhcmVzeXN0ZW1z LmNvbT4NCj4gLS0tDQo+ICBsaWIvbWVtcG9vbC9tZW1wb29sX3RyYWNlX3BvaW50cy5jIHwgICA2 ICsrDQo+ICBsaWIvbWVtcG9vbC9ydGVfbWVtcG9vbC5oICAgICAgICAgIHwgMTI0ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrDQo+ICBsaWIvbWVtcG9vbC9ydGVfbWVtcG9vbF90cmFjZV9m cC5oIHwgIDE2ICsrKysNCj4gIGxpYi9tZW1wb29sL3ZlcnNpb24ubWFwICAgICAgICAgICAgfCAg IDQgKw0KPiAgNCBmaWxlcyBjaGFuZ2VkLCAxNTAgaW5zZXJ0aW9ucygrKQ0KPiANCj4gZGlmZiAt LWdpdCBhL2xpYi9tZW1wb29sL21lbXBvb2xfdHJhY2VfcG9pbnRzLmMNCj4gYi9saWIvbWVtcG9v bC9tZW1wb29sX3RyYWNlX3BvaW50cy5jDQo+IGluZGV4IDRhZDc2ZGViMzQuLmE2MDcwNzk5YWYg MTAwNjQ0DQo+IC0tLSBhL2xpYi9tZW1wb29sL21lbXBvb2xfdHJhY2VfcG9pbnRzLmMNCj4gKysr IGIvbGliL21lbXBvb2wvbWVtcG9vbF90cmFjZV9wb2ludHMuYw0KPiBAQCAtNzcsMyArNzcsOSBA QA0KPiBSVEVfVFJBQ0VfUE9JTlRfUkVHSVNURVIocnRlX21lbXBvb2xfdHJhY2Vfb3BzX2ZyZWUs DQo+IA0KPiAgUlRFX1RSQUNFX1BPSU5UX1JFR0lTVEVSKHJ0ZV9tZW1wb29sX3RyYWNlX3NldF9v cHNfYnluYW1lLA0KPiAgCWxpYi5tZW1wb29sLnNldC5vcHMuYnluYW1lKQ0KPiArDQo+ICtSVEVf VFJBQ0VfUE9JTlRfUkVHSVNURVIocnRlX21lbXBvb2xfdHJhY2VfY2FjaGVfemNfcHV0X2J1bGss DQo+ICsJbGliLm1lbXBvb2wuY2FjaGUuemMucHV0LmJ1bGspDQo+ICsNCj4gK1JURV9UUkFDRV9Q T0lOVF9SRUdJU1RFUihydGVfbWVtcG9vbF90cmFjZV9jYWNoZV96Y19nZXRfYnVsaywNCj4gKwls aWIubWVtcG9vbC5jYWNoZS56Yy5nZXQuYnVsaykNCj4gZGlmZiAtLWdpdCBhL2xpYi9tZW1wb29s L3J0ZV9tZW1wb29sLmggYi9saWIvbWVtcG9vbC9ydGVfbWVtcG9vbC5oDQo+IGluZGV4IDlmNTMw ZGIyNGIuLjVlNmRhMDZiYzcgMTAwNjQ0DQo+IC0tLSBhL2xpYi9tZW1wb29sL3J0ZV9tZW1wb29s LmgNCj4gKysrIGIvbGliL21lbXBvb2wvcnRlX21lbXBvb2wuaA0KPiBAQCAtNDcsNiArNDcsNyBA QA0KPiAgI2luY2x1ZGUgPHJ0ZV9yaW5nLmg+DQo+ICAjaW5jbHVkZSA8cnRlX21lbWNweS5oPg0K PiAgI2luY2x1ZGUgPHJ0ZV9jb21tb24uaD4NCj4gKyNpbmNsdWRlIDxydGVfZXJybm8uaD4NCj4g DQo+ICAjaW5jbHVkZSAicnRlX21lbXBvb2xfdHJhY2VfZnAuaCINCj4gDQo+IEBAIC0xMzQ2LDYg KzEzNDcsMTI5IEBAIHJ0ZV9tZW1wb29sX2NhY2hlX2ZsdXNoKHN0cnVjdA0KPiBydGVfbWVtcG9v bF9jYWNoZSAqY2FjaGUsDQo+ICAJY2FjaGUtPmxlbiA9IDA7DQo+ICB9DQo+IA0KPiArLyoqDQo+ ICsgKiBAd2FybmluZw0KPiArICogQGIgRVhQRVJJTUVOVEFMOiBUaGlzIEFQSSBtYXkgY2hhbmdl LCBvciBiZSByZW1vdmVkLCB3aXRob3V0IHByaW9yDQo+IG5vdGljZS4NCj4gKyAqDQo+ICsgKiBa ZXJvLWNvcHkgcHV0IG9iamVjdHMgaW4gYSB1c2VyLW93bmVkIG1lbXBvb2wgY2FjaGUgYmFja2Vk IGJ5IHRoZQ0KPiBzcGVjaWZpZWQgbWVtcG9vbC4NCj4gKyAqDQo+ICsgKiBAcGFyYW0gY2FjaGUN Cj4gKyAqICAgQSBwb2ludGVyIHRvIHRoZSBtZW1wb29sIGNhY2hlLg0KPiArICogQHBhcmFtIG1w DQo+ICsgKiAgIEEgcG9pbnRlciB0byB0aGUgbWVtcG9vbC4NCj4gKyAqIEBwYXJhbSBuDQo+ICsg KiAgIFRoZSBudW1iZXIgb2Ygb2JqZWN0cyB0byBiZSBwdXQgaW4gdGhlIG1lbXBvb2wgY2FjaGUu DQo+ICsgKiAgIE11c3Qgbm90IGV4Y2VlZCBSVEVfTUVNUE9PTF9DQUNIRV9NQVhfU0laRS4NCj4g KyAqIEByZXR1cm4NCj4gKyAqICAgVGhlIHBvaW50ZXIgdG8gd2hlcmUgdG8gcHV0IHRoZSBvYmpl Y3RzIGluIHRoZSBtZW1wb29sIGNhY2hlLg0KPiArICovDQoNCnJ0ZV9tZW1wb29sX2NhY2hlX3pj X3B1dF9idWxrIGZ1bmN0aW9uIHRha2VzICpjYWNoZSBhcyBhbiBpbnB1dCBwYXJhbWV0ZXIsIHdo aWNoIG1lYW5zIHJ0ZV9tZW1wb29sX2RlZmF1bHRfY2FjaGUgZnVuY3Rpb24gbXVzdCBiZSBjYWxs ZWQgaW4gdGhlIFBNRCBjb2RlLCBiZWNhdXNlIHRoZXJlIGlzIG5vIHBvaW50ZXIgdG8gbWVtcG9v bCBzdG9yZWQgaW4gaTQwZV90eF9xdWV1ZS4gSXRzIHRoZXJlIGluIGk0MGVfcnhfcXVldWUgdGhv dWdoLg0KU28sIHNob3VsZCB3ZSBjaGFuZ2UgdGhlIEFQSSdzID8NCg0KPiArX19ydGVfZXhwZXJp bWVudGFsDQo+ICtzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZSB2b2lkICoNCj4gK3J0ZV9tZW1w b29sX2NhY2hlX3pjX3B1dF9idWxrKHN0cnVjdCBydGVfbWVtcG9vbF9jYWNoZSAqY2FjaGUsDQo+ ICsJCXN0cnVjdCBydGVfbWVtcG9vbCAqbXAsDQo+ICsJCXVuc2lnbmVkIGludCBuKQ0KPiArew0K PiArCXZvaWQgKipjYWNoZV9vYmpzOw0KPiArDQo+ICsJUlRFX0FTU0VSVChjYWNoZSAhPSBOVUxM KTsNCj4gKwlSVEVfQVNTRVJUKG1wICE9IE5VTEwpOw0KPiArCVJURV9BU1NFUlQobiA8PSBSVEVf TUVNUE9PTF9DQUNIRV9NQVhfU0laRSk7DQo+ICsNCj4gKwlydGVfbWVtcG9vbF90cmFjZV9jYWNo ZV96Y19wdXRfYnVsayhjYWNoZSwgbXAsIG4pOw0KPiArDQo+ICsJLyogSW5jcmVtZW50IHN0YXRz IG5vdywgYWRkaW5nIGluIG1lbXBvb2wgYWx3YXlzIHN1Y2NlZWRzLiAqLw0KPiArCVJURV9NRU1Q T09MX0NBQ0hFX1NUQVRfQUREKGNhY2hlLCBwdXRfYnVsaywgMSk7DQo+ICsJUlRFX01FTVBPT0xf Q0FDSEVfU1RBVF9BREQoY2FjaGUsIHB1dF9vYmpzLCBuKTsNCj4gKw0KPiArCS8qDQo+ICsJICog VGhlIGNhY2hlIGZvbGxvd3MgdGhlIGZvbGxvd2luZyBhbGdvcml0aG06DQo+ICsJICogICAxLiBJ ZiB0aGUgb2JqZWN0cyBjYW5ub3QgYmUgYWRkZWQgdG8gdGhlIGNhY2hlIHdpdGhvdXQgY3Jvc3Np bmcNCj4gKwkgKiAgICAgIHRoZSBmbHVzaCB0aHJlc2hvbGQsIGZsdXNoIHRoZSBjYWNoZSB0byB0 aGUgYmFja2VuZC4NCj4gKwkgKiAgIDIuIEFkZCB0aGUgb2JqZWN0cyB0byB0aGUgY2FjaGUuDQo+ ICsJICovDQo+ICsNCj4gKwlpZiAoY2FjaGUtPmxlbiArIG4gPD0gY2FjaGUtPmZsdXNodGhyZXNo KSB7DQo+ICsJCWNhY2hlX29ianMgPSAmY2FjaGUtPm9ianNbY2FjaGUtPmxlbl07DQo+ICsJCWNh Y2hlLT5sZW4gKz0gbjsNCj4gKwl9IGVsc2Ugew0KPiArCQljYWNoZV9vYmpzID0gJmNhY2hlLT5v YmpzWzBdOw0KPiArCQlydGVfbWVtcG9vbF9vcHNfZW5xdWV1ZV9idWxrKG1wLCBjYWNoZV9vYmpz LCBjYWNoZS0NCj4gPmxlbik7DQo+ICsJCWNhY2hlLT5sZW4gPSBuOw0KPiArCX0NCj4gKw0KPiAr CXJldHVybiBjYWNoZV9vYmpzOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAqIEB3YXJuaW5nDQo+ ICsgKiBAYiBFWFBFUklNRU5UQUw6IFRoaXMgQVBJIG1heSBjaGFuZ2UsIG9yIGJlIHJlbW92ZWQs IHdpdGhvdXQgcHJpb3INCj4gbm90aWNlLg0KPiArICoNCj4gKyAqIFplcm8tY29weSBnZXQgb2Jq ZWN0cyBmcm9tIGEgdXNlci1vd25lZCBtZW1wb29sIGNhY2hlIGJhY2tlZCBieSB0aGUNCj4gc3Bl Y2lmaWVkIG1lbXBvb2wuDQo+ICsgKg0KPiArICogQHBhcmFtIGNhY2hlDQo+ICsgKiAgIEEgcG9p bnRlciB0byB0aGUgbWVtcG9vbCBjYWNoZS4NCj4gKyAqIEBwYXJhbSBtcA0KPiArICogICBBIHBv aW50ZXIgdG8gdGhlIG1lbXBvb2wuDQo+ICsgKiBAcGFyYW0gbg0KPiArICogICBUaGUgbnVtYmVy IG9mIG9iamVjdHMgdG8gcHJlZmV0Y2ggaW50byB0aGUgbWVtcG9vbCBjYWNoZS4NCj4gKyAqICAg TXVzdCBub3QgZXhjZWVkIFJURV9NRU1QT09MX0NBQ0hFX01BWF9TSVpFLg0KPiArICogQHJldHVy bg0KPiArICogICBUaGUgcG9pbnRlciB0byB0aGUgb2JqZWN0cyBpbiB0aGUgbWVtcG9vbCBjYWNo ZS4NCj4gKyAqICAgTlVMTCBvbiBlcnJvcjsgaS5lLiB0aGUgY2FjaGUgKyB0aGUgcG9vbCBkb2Vz IG5vdCBjb250YWluIG4gb2JqZWN0cy4NCj4gKyAqICAgV2l0aCBydGVfZXJybm8gc2V0IHRvIHRo ZSBlcnJvciBjb2RlIG9mIHRoZSBtZW1wb29sIGRlcXVldWUgZnVuY3Rpb24uDQo+ICsgKi8NCj4g K19fcnRlX2V4cGVyaW1lbnRhbA0KPiArc3RhdGljIF9fcnRlX2Fsd2F5c19pbmxpbmUgdm9pZCAq DQo+ICtydGVfbWVtcG9vbF9jYWNoZV96Y19nZXRfYnVsayhzdHJ1Y3QgcnRlX21lbXBvb2xfY2Fj aGUgKmNhY2hlLA0KPiArCQlzdHJ1Y3QgcnRlX21lbXBvb2wgKm1wLA0KPiArCQl1bnNpZ25lZCBp bnQgbikNCj4gK3sNCj4gKwl1bnNpZ25lZCBpbnQgbGVuOw0KPiArDQo+ICsJUlRFX0FTU0VSVChj YWNoZSAhPSBOVUxMKTsNCj4gKwlSVEVfQVNTRVJUKG1wICE9IE5VTEwpOw0KPiArCVJURV9BU1NF UlQobiA8PSBSVEVfTUVNUE9PTF9DQUNIRV9NQVhfU0laRSk7DQo+ICsNCj4gKwlydGVfbWVtcG9v bF90cmFjZV9jYWNoZV96Y19nZXRfYnVsayhjYWNoZSwgbXAsIG4pOw0KPiArDQo+ICsJbGVuID0g Y2FjaGUtPmxlbjsNCj4gKw0KPiArCWlmICh1bmxpa2VseShuID4gbGVuKSkgew0KPiArCQkvKiBG aWxsIHRoZSBjYWNoZSBmcm9tIHRoZSBiYWNrZW5kOyBmZXRjaCBzaXplICsgcmVxdWVzdGVkIC0N Cj4gbGVuIG9iamVjdHMuICovDQo+ICsJCWludCByZXQ7DQo+ICsJCWNvbnN0IHVuc2lnbmVkIGlu dCBzaXplID0gY2FjaGUtPnNpemU7DQo+ICsNCj4gKwkJcmV0ID0gcnRlX21lbXBvb2xfb3BzX2Rl cXVldWVfYnVsayhtcCwgJmNhY2hlLQ0KPiA+b2Jqc1tsZW5dLCBzaXplICsgbiAtIGxlbik7DQo+ ICsJCWlmICh1bmxpa2VseShyZXQgPCAwKSkgew0KPiArCQkJLyoNCj4gKwkJCSAqIFdlIGFyZSBi dWZmZXIgY29uc3RyYWluZWQuDQo+ICsJCQkgKiBEbyBub3QgZmlsbCB0aGUgY2FjaGUsIGp1c3Qg c2F0aXNmeSB0aGUgcmVxdWVzdC4NCj4gKwkJCSAqLw0KPiArCQkJcmV0ID0gcnRlX21lbXBvb2xf b3BzX2RlcXVldWVfYnVsayhtcCwgJmNhY2hlLQ0KPiA+b2Jqc1tsZW5dLCBuIC0gbGVuKTsNCj4g KwkJCWlmICh1bmxpa2VseShyZXQgPCAwKSkgew0KPiArCQkJCS8qIFVuYWJsZSB0byBzYXRpc2Z5 IHRoZSByZXF1ZXN0LiAqLw0KPiArDQo+ICsJCQkJUlRFX01FTVBPT0xfU1RBVF9BREQobXAsDQo+ IGdldF9mYWlsX2J1bGssIDEpOw0KPiArCQkJCVJURV9NRU1QT09MX1NUQVRfQUREKG1wLA0KPiBn ZXRfZmFpbF9vYmpzLCBuKTsNCj4gKw0KPiArCQkJCXJ0ZV9lcnJubyA9IC1yZXQ7DQo+ICsJCQkJ cmV0dXJuIE5VTEw7DQo+ICsJCQl9DQo+ICsNCj4gKwkJCWxlbiA9IDA7DQo+ICsJCX0gZWxzZQ0K PiArCQkJbGVuID0gc2l6ZTsNCj4gKwl9IGVsc2UNCj4gKwkJbGVuIC09IG47DQo+ICsNCj4gKwlj YWNoZS0+bGVuID0gbGVuOw0KPiArDQo+ICsJUlRFX01FTVBPT0xfQ0FDSEVfU1RBVF9BREQoY2Fj aGUsIGdldF9zdWNjZXNzX2J1bGssIDEpOw0KPiArCVJURV9NRU1QT09MX0NBQ0hFX1NUQVRfQURE KGNhY2hlLCBnZXRfc3VjY2Vzc19vYmpzLCBuKTsNCj4gKw0KPiArCXJldHVybiAmY2FjaGUtPm9i anNbbGVuXTsNCj4gK30NCj4gKw0KPiAgLyoqDQo+ICAgKiBAaW50ZXJuYWwgUHV0IHNldmVyYWwg b2JqZWN0cyBiYWNrIGluIHRoZSBtZW1wb29sOyB1c2VkIGludGVybmFsbHkuDQo+ICAgKiBAcGFy YW0gbXANCj4gZGlmZiAtLWdpdCBhL2xpYi9tZW1wb29sL3J0ZV9tZW1wb29sX3RyYWNlX2ZwLmgN Cj4gYi9saWIvbWVtcG9vbC9ydGVfbWVtcG9vbF90cmFjZV9mcC5oDQo+IGluZGV4IGVkMDYwZTg4 N2MuLjAwNTY3ZmIxY2YgMTAwNjQ0DQo+IC0tLSBhL2xpYi9tZW1wb29sL3J0ZV9tZW1wb29sX3Ry YWNlX2ZwLmgNCj4gKysrIGIvbGliL21lbXBvb2wvcnRlX21lbXBvb2xfdHJhY2VfZnAuaA0KPiBA QCAtMTA5LDYgKzEwOSwyMiBAQCBSVEVfVFJBQ0VfUE9JTlRfRlAoDQo+ICAJcnRlX3RyYWNlX3Bv aW50X2VtaXRfcHRyKG1lbXBvb2wpOw0KPiAgKQ0KPiANCj4gK1JURV9UUkFDRV9QT0lOVF9GUCgN Cj4gKwlydGVfbWVtcG9vbF90cmFjZV9jYWNoZV96Y19wdXRfYnVsaywNCj4gKwlSVEVfVFJBQ0Vf UE9JTlRfQVJHUyh2b2lkICpjYWNoZSwgdm9pZCAqbWVtcG9vbCwgdWludDMyX3QNCj4gbmJfb2Jq cyksDQo+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfcHRyKGNhY2hlKTsNCj4gKwlydGVfdHJhY2Vf cG9pbnRfZW1pdF9wdHIobWVtcG9vbCk7DQo+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfdTMyKG5i X29ianMpOw0KPiArKQ0KPiArDQo+ICtSVEVfVFJBQ0VfUE9JTlRfRlAoDQo+ICsJcnRlX21lbXBv b2xfdHJhY2VfY2FjaGVfemNfZ2V0X2J1bGssDQo+ICsJUlRFX1RSQUNFX1BPSU5UX0FSR1Modm9p ZCAqY2FjaGUsIHZvaWQgKm1lbXBvb2wsIHVpbnQzMl90DQo+IG5iX29ianMpLA0KPiArCXJ0ZV90 cmFjZV9wb2ludF9lbWl0X3B0cihjYWNoZSk7DQo+ICsJcnRlX3RyYWNlX3BvaW50X2VtaXRfcHRy KG1lbXBvb2wpOw0KPiArCXJ0ZV90cmFjZV9wb2ludF9lbWl0X3UzMihuYl9vYmpzKTsNCj4gKykN Cj4gKw0KPiAgI2lmZGVmIF9fY3BsdXNwbHVzDQo+ICB9DQo+ICAjZW5kaWYNCj4gZGlmZiAtLWdp dCBhL2xpYi9tZW1wb29sL3ZlcnNpb24ubWFwIGIvbGliL21lbXBvb2wvdmVyc2lvbi5tYXAgaW5k ZXgNCj4gYjY3ZDdhYWNlNy4uOTI3NDc3Yjk3NyAxMDA2NDQNCj4gLS0tIGEvbGliL21lbXBvb2wv dmVyc2lvbi5tYXANCj4gKysrIGIvbGliL21lbXBvb2wvdmVyc2lvbi5tYXANCj4gQEAgLTYzLDYg KzYzLDEwIEBAIEVYUEVSSU1FTlRBTCB7DQo+ICAJX19ydGVfbWVtcG9vbF90cmFjZV9vcHNfYWxs b2M7DQo+ICAJX19ydGVfbWVtcG9vbF90cmFjZV9vcHNfZnJlZTsNCj4gIAlfX3J0ZV9tZW1wb29s X3RyYWNlX3NldF9vcHNfYnluYW1lOw0KPiArDQo+ICsJIyBhZGRlZCBpbiAyMy4wMw0KPiArCV9f cnRlX21lbXBvb2xfdHJhY2VfY2FjaGVfemNfcHV0X2J1bGs7DQo+ICsJX19ydGVfbWVtcG9vbF90 cmFjZV9jYWNoZV96Y19nZXRfYnVsazsNCj4gIH07DQo+IA0KPiAgSU5URVJOQUwgew0KPiAtLQ0K PiAyLjE3LjENCg0K