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 16BCB44092; Wed, 22 May 2024 03:25:25 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 03BCC4026B; Wed, 22 May 2024 03:25:25 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) by mails.dpdk.org (Postfix) with ESMTP id F08BE4025C for ; Wed, 22 May 2024 03:25:22 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1716341123; x=1747877123; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=LYC7nqQIDL8u6YXp825gFdliexEbq4MYbou3/4oORhg=; b=h7WBu0bAKYakIaZIKrSopsXo/CAkTwkIGxW7uaPeoEy/QzKq/rKUJ2y+ B+6qVxw2KkXtYU5YUfyt3T2a8u4/CEnRIHyxyo1yFVYofEqYZR7TLZnUu JUZnGbGTmWaoXdQcnJ1RyL4aTR5n1aixAWjps0cMSBZBHdjapzZpRwGJn oKr10CRjAdKwd8W8qiJWErvoFQT9OADqBTXrItbVGm6uvvND3pttd1yns 6MBg8GN3niP3CPh5QX3L+fs3Rj0tk3B3BHltvUT9Q2oDH4XUTAVaKl7gZ UId4642eCcqaRYEhmJiNbwxYSvTJAYe/czkrr9A1H1ZOBempcS/Vl9s23 A==; X-CSE-ConnectionGUID: tc2Dznc3QROcczvwopu4Nw== X-CSE-MsgGUID: V4VfYA5/T+6TC+UjNKcpwg== X-IronPort-AV: E=McAfee;i="6600,9927,11079"; a="11640227" X-IronPort-AV: E=Sophos;i="6.08,179,1712646000"; d="scan'208";a="11640227" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 May 2024 18:25:19 -0700 X-CSE-ConnectionGUID: vMorCA6xRFq67JmtwoDmMA== X-CSE-MsgGUID: vbKRREC2RGaH21UXkvnFZA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,179,1712646000"; d="scan'208";a="63943113" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orviesa002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 21 May 2024 18:25:19 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 21 May 2024 18:25:18 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 21 May 2024 18:25:18 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Tue, 21 May 2024 18:25:18 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 21 May 2024 18:25:18 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mYChtQHW22o/U9yZadzMXw5DX5WPcJ09QNhzsdFeRhrHhs80etoy84Zp47Bshl3CAFzPV9YpZOSbg4xXlcHM3rQ0MUbTooKyGQqd+mEET+DnF23RN0owq260C49xOe845GpzrWdNNnu/m472ZC2xUCGTE+K+1UCj7/FIN+NC7mfNelWybgX0PiFmJ2c30wbK9X4bqbiIpKLsPgSJLSfrbMBzPoTdI3vrUBH8l2nTLiaRK6Cwi4nJcZ4aw9nI5Vb+z6R6smrMamxd5H1BzLnPNJxFrkpXsqgYld8WV9lKTAbRqCmOxTJwFNIqiVpY7Fjzw+YbAR6TReCBKpAtHQ/yiQ== 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=LYC7nqQIDL8u6YXp825gFdliexEbq4MYbou3/4oORhg=; b=VfZPXTN8662YyJ0bcPMa9ha+sSVXIn+VydhgEGZmP2oGoidZ1WLYOb3MR4Ic8G9a29YhTRSv6NW58o8POH5y8koDdUwdNnpmT/Mh1C9m8h25osN1HZwsiRJ5J8lwk35eQxOOhHmmtkuExJb0miajeP5isqJ0FDxaf/jKI4TLo7f2rNq9OIWPdAlzonFmg+3HCtwVHx3V+MEH1EgwA9yM30VOWR/OC0k+kYBa6v6eSz571xKtUvC2HzNFwOokmJsMBicMeOUveubGazhEyOWnezsmqqSR4GDsNdN7i8WKSiduK0kC4qSRlj1pZY19tQT0klBH+lXSY12gG6cBUYFleQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from PH0PR11MB4775.namprd11.prod.outlook.com (2603:10b6:510:34::22) by PH8PR11MB6562.namprd11.prod.outlook.com (2603:10b6:510:1c1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.36; Wed, 22 May 2024 01:25:15 +0000 Received: from PH0PR11MB4775.namprd11.prod.outlook.com ([fe80::a8f9:b889:964f:c495]) by PH0PR11MB4775.namprd11.prod.outlook.com ([fe80::a8f9:b889:964f:c495%7]) with mapi id 15.20.7587.035; Wed, 22 May 2024 01:25:15 +0000 From: "Du, Frank" To: Ferruh Yigit , "dev@dpdk.org" , "Andrew Rybchenko" , =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= CC: "Loftus, Ciara" , "Burakov, Anatoly" Subject: RE: [PATCH v2] net/af_xdp: fix umem map size for zero copy Thread-Topic: [PATCH v2] net/af_xdp: fix umem map size for zero copy Thread-Index: AQHao2YTmeB1E66cJUCYtzW336D4ZbGiCeoAgAB1C/A= Date: Wed, 22 May 2024 01:25:15 +0000 Message-ID: References: <20240426005128.148730-1-frank.du@intel.com> <20240511052618.1890677-1-frank.du@intel.com> <0d02e8c6-0ef4-44e3-9dd2-94685b46136a@amd.com> In-Reply-To: <0d02e8c6-0ef4-44e3-9dd2-94685b46136a@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR11MB4775:EE_|PH8PR11MB6562:EE_ x-ms-office365-filtering-correlation-id: eaf59354-515f-423e-a253-08dc79fe08e1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|366007|376005|1800799015|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?SGRGcWdtRFlEWm9pREFaK3hhTlRNaWdmL2VzdDZTVnVTODNFb1FVUHdzU1kx?= =?utf-8?B?NjJuVHlUc2hzWXNjZkZqcEs1UW5jeFB1enBwb3liQko0bXJZMEpFMitZbWJt?= =?utf-8?B?RHNSM1YycDlvTGQ1QitCQ2dkeVlaL2Jxb25EaXZjcmg2ZjhHMmtMRmxjM0Iw?= =?utf-8?B?cTdtdlp3R0xtUzJ1bG0vK0dqY2FML1pQdFNGZ3lKWWRxdlErRkRCY1Viam1s?= =?utf-8?B?d2kyTUtyRDlSVytEaG03eUVtTm9SYVFIWmM2RmdkZXdZd1ZPN3YwYnlqZk5S?= =?utf-8?B?amlWL1pnSUtJVVFzUm1LclQ4OWhvc0lXQXpncWkzR1pjR0VEWk9vNDFDVy9P?= =?utf-8?B?THBuTUNsSUVxOVYrOHBVcHc5NWdtRzRkRVMvR3RHbU9kS24vNmlvQ3Zlb2Na?= =?utf-8?B?cmZCVnJXUTBVcVpEQysyRVZGTm1sSThUMk9Ha1FXVnUxbGlJd1NWM2hDSVht?= =?utf-8?B?VlRFMHpnOHJaRWxUVEcyeXpVODI0djZCV0Y3eEh2TW5OZUVFMFg0OHR5cm9r?= =?utf-8?B?RVlKbEFJT1RsVjRJTjIzR3hNMnY3ZTlmdEZJNndzR01KQll6SHJSZzVtMGxx?= =?utf-8?B?MkdGN3YybE9KMVo4czdUaTBCKzQwVHVDbDNXak4zMWdXQjN2OXpjNmJGbVJF?= =?utf-8?B?MDJnZE5wY3pVeS9lckVZQ0N1TzNOLzFrNGNHWXlXdHhuMExWRG5VdlVaU2Nj?= =?utf-8?B?TUhQZ0Z5QlQ1VThudFIvQUR2OWQvZ1EwZHJqVkdHNWc0dFJXc1VLQ1dJWlds?= =?utf-8?B?eUFsYTRSZldvaWtPSW5Tc2N5b1NwdkN5QXkvVU1KL3JOcndjVldGUFREV3JZ?= =?utf-8?B?RGFoUk5MMmZZMmNtUXdRcEZzVXkyRTl0ck5kaUdmTXpVejAyOUpDTlI2d2pN?= =?utf-8?B?ZVBJbDNPT1dUa2ZYRmNlZFRVK1VYaFQzUHFPSjUzRkZqTDFCY3JWWE9TRWoy?= =?utf-8?B?R3dlbEVNV0ZtQk1mYVQyOFFNRzlvRGZnWVQxWDlzWUxHZk9SaW5uVjljZ0dZ?= =?utf-8?B?aEZ4dHFMMk1NRHFNR2dHSnpQN2syVmE2VDYwb1VYb2wxYVNsbjN4YjBvS2pv?= =?utf-8?B?bkFNWFZ3aSswOUJuMVdKTWNvRFdzaG1WOWh3SENuV3VpZXloVmIrMEJOamRt?= =?utf-8?B?cGZEWW5VbTRKeE0rb250NGNiYVNMRHYreW14b1ZSblNZZ08xSDdZYTZiQUF1?= =?utf-8?B?U2IzV0ExMmtlU010QW03enZPMjNFUk9TUTYvb0hsQ2R1bStQS1BxRFN5bjRw?= =?utf-8?B?TkNCZjhDM0JSczVsS2RZTTlaS3E2SHoxM25jMGhPc2lwU2pHOFFYOGNSY0ZD?= =?utf-8?B?bXBwMjNWQ2p2SUkwRk05USsyVXAvUFhGTXhnMGI2UC90SkdYbDNGVkNCdGpU?= =?utf-8?B?ZmZselIxZFFKZ3VtVWlGQ2tkMzh0OFpFVXJBRi9TRi9KbkxBaGExMWFJMkN3?= =?utf-8?B?azFCaUd4Y051eDR5YXB1dE5EenRKU0Y4VGtIMlNnUHpNUm1oTWhwN0Y0enlR?= =?utf-8?B?WHRYVm9LL2NpY2toTUp1ZmVkYTY4WlE0NUpMek1wV1NrU08xVWl2N0xpSzZQ?= =?utf-8?B?N1o1UW42TmZHUjU3SUhLeUJ6QWhsQ2EwRXdhZXdTUk5pbGdWdDFsZUdCaUo2?= =?utf-8?B?OERqakN2bkFxb3Z0TWYzNnRaQXIxQk93Q2d6VTJWUTcxOWc0ejI1Y3V0SkJt?= =?utf-8?B?UzVxZ0kwRXI3aGtIeGNvWEd3TkVmdGU1VFRBTVp3eU1WSlRuRnJLZ2hLeXgw?= =?utf-8?B?YkdYOEI3SFhvb1EyREovb0dRL2JUNnNFb2wvYU9tQldEQ214aHA5dVpYSWNq?= =?utf-8?B?anVxOEtsNUNSbndGU1Q5QT09?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB4775.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(1800799015)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d1lmamhDOTNLY0NjaTdhRGtEeVQweDk5b1FOcGF2MXF6dWVuZC9FNTBscTAw?= =?utf-8?B?MHdZa08waStGTGFKTE5Tdm9LNGtRQVpFQXlJSTJuL3dUeGF0bWpHQkVkVCtl?= =?utf-8?B?N1ZBUFdlekRKd2E3TlJsdEdUc1JOOVVVakpTcGxDYWhjUS90ZWFEWDF3YzZn?= =?utf-8?B?TjcrYysxbFNrZ0VTajFwTjR1TFNMY0E0NTRLSHFtY0grK0dGM3hXc2o1K1JK?= =?utf-8?B?bnJOb2Y3MEorVzNUVlM2aFU2ZGo4R0hGbzE5ZGdXSVN1OEtnTklSYm9OWVJ1?= =?utf-8?B?ZTluRmZIdGl6ZjZlQUcxRnhNTGlPbWxrczRoa0d1R3c4QmxvTDZkR0I5K1pq?= =?utf-8?B?a1Z2RWtZVUxPd3REcG5DOVArVDBGK1Z2K2JsVlNJVmVmdXhua1NJNDd3SGgy?= =?utf-8?B?RVo3dVdWMWdxWUt0SEFleUl5TVVqNEFhcGRNWE9OQnQ4WG8ydy9ZaXRuS3Y4?= =?utf-8?B?MGl2bVNOYmw2WGFsVXlSRmZXcTl3d3E5YUx3Wk42bXFVUmpXM3htbWtSa3Yy?= =?utf-8?B?UDlvVEVTWVd6KzNYVmJOajNxSTUxODZKWkg0blJJaS9aQnd6YzVYd2prcUdE?= =?utf-8?B?elZQbHNieDdPNGhrWk80NzgySEFuOXdpSEdKUFA2eUJjVHJUb1ZHWElPc3pR?= =?utf-8?B?a1E5V1pJK3ROdHdpZ1ZsT3Q2RWpaOUJwbERySkFtUElENlhPSkJjNUtKWVp2?= =?utf-8?B?NUlYVmtaZHhieG1YUDQzK05VTlMyS2gyQmgrdGNJbFZOelo3VmxlRjRMRHdU?= =?utf-8?B?SVdsZUpWK3FnK3BqNVpKUlVkVXg2Q1hIUHlKMFF0TXZXalJhWHJucEFad0hk?= =?utf-8?B?aElGWU9CN0E2WS9mRUc1dkZHN0QzME8xckpCU09ROVZGbEpVY1g2VFBWZ3Ba?= =?utf-8?B?QzdTbVR1akpuUktyb0FkRDlxcmtVVnlSbloycmdpY3A5dmVXMnUrd1dXSjVY?= =?utf-8?B?OGJUN2hxZnNweDJINFBXYys4U3cxTUV1Sk1ocUJaRGZ0b09ScFNPSFBWS0pi?= =?utf-8?B?NnBVanU5bmVFbzNvRWprQWE3SStSQWMyTitxSkVScnlGRjNhTXRPY1l1b051?= =?utf-8?B?VlJUZy8xOHdvNElqb2Z6Mkh1dTJ1UzMyTXlva0pnNUhzSThobnJOMVRtTWlV?= =?utf-8?B?NmRXSll3TDUwR0JPamFuQ2JlbDZRQThJV245c0xkSVI3Q1VpOHpKK3pRZ0or?= =?utf-8?B?d29mWmZmMC80L3phRDZZRks2dEhwQlU1Qk5BaFRNS2VBbkdxTE9IUzBzRzRx?= =?utf-8?B?ZDE5NG5tMExWczFUTHhqRFQwVFoxT285ZkFOYjlmTEI5Rk5tT0plMVVPYU1y?= =?utf-8?B?bld5MXNIMWZ0ZDd3NHhadVJKcTJSam13SEZqZisxV1F0Tk5taXNSS21wR1Bw?= =?utf-8?B?ZXZndVp6R2d6Z0poQUZiMWs3T3ViZGppU2VwWEkrbFc2RnJDVHA1Uis2OFFC?= =?utf-8?B?SEdwS05laHRsVnRpS1R6S3FobFlObjNra1c0M1IyQXU2bnpIUHJkZWN0ZHJk?= =?utf-8?B?cS8ycHVMMUtaMUJMajZIZVphVnJwOFg2QzVwWnJ0Vk1mZ25aZVhZRHJXTCtq?= =?utf-8?B?WjBPMFFQNUhlblhlMnlSSE9UOEh0czNWOU5HWHpxY3dNVFk3Z2gyVmRCcUlP?= =?utf-8?B?eEVRL0RSRGhLdE1ZU2JJcjR2KzhZSklJK2I2dmJpUHdBdDFtOXhKZExkNmgz?= =?utf-8?B?YWxvMEM4Mk14NmY0YzhuSmhFYWlFcU1QRjBhbFBoUFFiWHRuMktZclZlM01Q?= =?utf-8?B?bURCUlhRMUlrRTBLTGVNaWx3ekN5U1Z1ZkVtOU55ZEVCcTFtRFlBbDcrSjBv?= =?utf-8?B?eVdGK0hwM0xmV2lSSnlmeTFXdWtBOWRrU0wvRzlDcDVCRmZvOWpNcDVMQVBQ?= =?utf-8?B?SzJ1elQ1S2FHYUJ3T2xXdzU5ZjdYN1JZMVAvSklrQzA0N1NVUCs1SXcxQnpI?= =?utf-8?B?a3Z6dTMrV2Nrc3ExMnRGZGhzM21OWXZzRmIyZzBRMzJpOHMvL2lYZFJVZzFJ?= =?utf-8?B?VzRLcTVVZUY2MlBkS2FHMHlJNTNrUWxqbExSNmZvSExoOTJzeC9SNWsxVGhR?= =?utf-8?B?THVrUjJscUNWSkxweGNlNjluTXJ0NGZUM3FmMFcyZ3NGbmdLMndLaUxIdERD?= =?utf-8?Q?s8L3DBge4KnCKRfbGC7TJW5re?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4775.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: eaf59354-515f-423e-a253-08dc79fe08e1 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 May 2024 01:25:15.6957 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 775+Pa19bXGGeF/mFtCHMTZQjdKelDDjMuhfH+FiVFb6LU/sxtQNNHDBm/kCYFBjgKL4NoJnpMD5csxCI3BkDQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR11MB6562 X-OriginatorOrg: intel.com 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 PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBGZXJydWggWWlnaXQgPGZlcnJ1 aC55aWdpdEBhbWQuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIE1heSAyMiwgMjAyNCAxOjU4IEFN DQo+IFRvOiBEdSwgRnJhbmsgPGZyYW5rLmR1QGludGVsLmNvbT47IGRldkBkcGRrLm9yZzsgQW5k cmV3IFJ5YmNoZW5rbw0KPiA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+OyBNb3J0ZW4g QnLDuHJ1cA0KPiA8bWJAc21hcnRzaGFyZXN5c3RlbXMuY29tPg0KPiBDYzogTG9mdHVzLCBDaWFy YSA8Y2lhcmEubG9mdHVzQGludGVsLmNvbT47IEJ1cmFrb3YsIEFuYXRvbHkNCj4gPGFuYXRvbHku YnVyYWtvdkBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjJdIG5ldC9hZl94ZHA6 IGZpeCB1bWVtIG1hcCBzaXplIGZvciB6ZXJvIGNvcHkNCj4gDQo+IE9uIDUvMTEvMjAyNCA2OjI2 IEFNLCBGcmFuayBEdSB3cm90ZToNCj4gPiBUaGUgY3VycmVudCBjYWxjdWxhdGlvbiBhc3N1bWVz IHRoYXQgdGhlIG1idWZzIGFyZSBjb250aWd1b3VzLg0KPiA+IEhvd2V2ZXIsIHRoaXMgYXNzdW1w dGlvbiBpcyBpbmNvcnJlY3Qgd2hlbiB0aGUgbWVtb3J5IHNwYW5zIGFjcm9zcyBhIGh1Z2UNCj4g cGFnZS4NCj4gPiBDb3JyZWN0IHRvIGRpcmVjdGx5IHJlYWQgdGhlIHNpemUgZnJvbSB0aGUgbWVt cG9vbCBtZW1vcnkgY2h1bmtzLg0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogRnJhbmsgRHUgPGZy YW5rLmR1QGludGVsLmNvbT4NCj4gPg0KPiA+IC0tLQ0KPiA+IHYyOg0KPiA+ICogQWRkIHZpcnR1 YWwgY29udGlndW91cyBkZXRlY3QgZm9yIGZvciBtdWx0aXBsZSBtZW1oZHJzLg0KPiA+IC0tLQ0K PiA+ICBkcml2ZXJzL25ldC9hZl94ZHAvcnRlX2V0aF9hZl94ZHAuYyB8IDM0DQo+ID4gKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0NCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDI4IGluc2VydGlv bnMoKyksIDYgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv YWZfeGRwL3J0ZV9ldGhfYWZfeGRwLmMNCj4gPiBiL2RyaXZlcnMvbmV0L2FmX3hkcC9ydGVfZXRo X2FmX3hkcC5jDQo+ID4gaW5kZXggMjY4YTEzMGM0OS4uNzQ1NjEwOGQ2ZCAxMDA2NDQNCj4gPiAt LS0gYS9kcml2ZXJzL25ldC9hZl94ZHAvcnRlX2V0aF9hZl94ZHAuYw0KPiA+ICsrKyBiL2RyaXZl cnMvbmV0L2FmX3hkcC9ydGVfZXRoX2FmX3hkcC5jDQo+ID4gQEAgLTEwMzksMTYgKzEwMzksMzUg QEAgZXRoX2xpbmtfdXBkYXRlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2DQo+ID4gX19ydGVfdW51 c2VkLCAgfQ0KPiA+DQo+ID4gICNpZiBkZWZpbmVkKFhEUF9VTUVNX1VOQUxJR05FRF9DSFVOS19G TEFHKQ0KPiA+IC1zdGF0aWMgaW5saW5lIHVpbnRwdHJfdCBnZXRfYmFzZV9hZGRyKHN0cnVjdCBy dGVfbWVtcG9vbCAqbXAsDQo+ID4gdWludDY0X3QgKmFsaWduKQ0KPiA+ICtzdGF0aWMgaW5saW5l IHVpbnRwdHJfdCBnZXRfbWVtaGRyX2luZm8oc3RydWN0IHJ0ZV9tZW1wb29sICptcCwNCj4gPiAr dWludDY0X3QgKmFsaWduLCBzaXplX3QgKmxlbikNCj4gPiAgew0KPiA+IC0Jc3RydWN0IHJ0ZV9t ZW1wb29sX21lbWhkciAqbWVtaGRyOw0KPiA+ICsJc3RydWN0IHJ0ZV9tZW1wb29sX21lbWhkciAq bWVtaGRyLCAqbmV4dDsNCj4gPiAgCXVpbnRwdHJfdCBtZW1oZHJfYWRkciwgYWxpZ25lZF9hZGRy Ow0KPiA+ICsJc2l6ZV90IG1lbWhkcl9sZW4gPSAwOw0KPiA+DQo+ID4gKwkvKiBnZXQgdGhlIG1l bXBvb2wgYmFzZSBhZGRyIGFuZCBhbGlnbiAqLw0KPiA+ICAJbWVtaGRyID0gU1RBSUxRX0ZJUlNU KCZtcC0+bWVtX2xpc3QpOw0KPiA+ICAJbWVtaGRyX2FkZHIgPSAodWludHB0cl90KW1lbWhkci0+ YWRkcjsNCj4gPiAgCWFsaWduZWRfYWRkciA9IG1lbWhkcl9hZGRyICYgfihnZXRwYWdlc2l6ZSgp IC0gMSk7DQo+ID4gIAkqYWxpZ24gPSBtZW1oZHJfYWRkciAtIGFsaWduZWRfYWRkcjsNCj4gPg0K PiANCj4gSSBhbSBhd2FyZSB0aGlzIGlzIG5vdCBwYXJ0IG9mIHRoaXMgcGF0Y2gsIGJ1dCBhcyBu b3RlLCBjYW4ndCB3ZSB1c2UNCj4gJ1JURV9BTElHTl9GTE9PUicgdG8gY2FsY3VsYXRlIGFsaWdu ZWQgYWRkcmVzcy4NCg0KU3VyZSwgd2lsbCB1c2UgUlRFX0FMSUdOX0ZMT09SIGluIG5leHQgdmVy c2lvbi4NCg0KPiANCj4gDQo+ID4gKwltZW1oZHJfbGVuICs9IG1lbWhkci0+bGVuOw0KPiA+ICsN Cj4gPiArCS8qIGNoZWNrIGlmIHZpcnR1YWwgY29udGlndW91cyBtZW1vcnkgZm9yIG11bHRpcGxl IG1lbWhkcnMgKi8NCj4gPiArCW5leHQgPSBTVEFJTFFfTkVYVChtZW1oZHIsIG5leHQpOw0KPiA+ ICsJd2hpbGUgKG5leHQgIT0gTlVMTCkgew0KPiA+ICsJCWlmICgodWludHB0cl90KW5leHQtPmFk ZHIgIT0gKHVpbnRwdHJfdCltZW1oZHItPmFkZHIgKyBtZW1oZHItDQo+ID5sZW4pIHsNCj4gPiAr CQkJQUZfWERQX0xPRyhFUlIsICJtZW1vcnkgY2h1bmtzIG5vdCB2aXJ0dWFsDQo+IGNvbnRpZ3Vv dXMsICINCj4gPiArCQkJCQkibmV4dDogJXAsIGN1cjogJXAobGVuOiAlIiBQUklkNjQNCj4gIiAp XG4iLA0KPiA+ICsJCQkJCW5leHQtPmFkZHIsIG1lbWhkci0+YWRkciwgbWVtaGRyLQ0KPiA+bGVu KTsNCj4gPiArCQkJcmV0dXJuIDA7DQo+ID4gKwkJfQ0KPiA+DQo+IA0KPiBJc24ndCB0aGVyZSBh IG1lbXBvb2wgZmxhZyB0aGF0IGNhbiBoZWxwIHVzIGZpZ3VyZSBvdXQgbWVtcG9vbCBpcyBub3Qg SU9WQQ0KPiBjb250aWd1b3VzPyBJc24ndCBpdCBzdWZmaWNpZW50IG9uIGl0cyBvd24/DQoNCklu ZGVlZCwgd2hhdCB3ZSBuZWVkIHRvIGFzY2VydGFpbiBpcyB3aGV0aGVyIGl0J3MgY29udGlndW91 cyBpbiBDUFUgdmlydHVhbCBzcGFjZSwgbm90IElPVkEuIEkgaGF2ZW4ndCBjb21lIGFjcm9zcyBh IGZsYWcgc3BlY2lmaWNhbGx5IGZvciBDUFUgdmlydHVhbCBjb250aWd1aXR5LiBUaGUgbWFqb3Ig bGltaXRhdGlvbiBpbiBYRFAgaXMgWFNLIFVNRU0gb25seSBzdXBwb3J0cyByZWdpc3RlcmluZyBh IHNpbmdsZSBjb250aWd1b3VzIHZpcnR1YWwgbWVtb3J5IGFyZWEuDQoNCj4gDQo+IA0KPiA+ICsJ CS8qIHZpcnR1YWwgY29udGlndW91cyAqLw0KPiA+ICsJCW1lbWhkciA9IG5leHQ7DQo+ID4gKwkJ bWVtaGRyX2xlbiArPSBtZW1oZHItPmxlbjsNCj4gPiArCQluZXh0ID0gU1RBSUxRX05FWFQobWVt aGRyLCBuZXh0KTsNCj4gPiArCX0NCj4gPg0KPiA+ICsJKmxlbiA9IG1lbWhkcl9sZW47DQo+ID4g IAlyZXR1cm4gYWxpZ25lZF9hZGRyOw0KPiA+ICB9DQo+ID4NCj4gDQo+IFRoaXMgZnVuY3Rpb24g Z29lcyB0b28gbXVjaCBkZXRhaWxzIG9mIHRoZSBtZW1wb29sIG9iamVjdCwgYW5kIGFueSBjaGFu Z2UgaW4NCj4gbWVtcG9vbCBkZXRhaWxzIGhhcyBwb3RlbnRpYWwgdG8gYnJlYWsgdGhpcyBjb2Rl Lg0KPiANCj4gQEFuZHJldywgQE1vcnRlbiwgZG8geW91IHRoaW5rIGRvZXMgaXQgbWFrZSBzZW5z ZSB0byBoYXZlDQo+ICdydGVfbWVtcG9vbF9pbmZvX2dldCgpJyBraW5kIG9mIGZ1bmN0aW9uLCB0 aGF0IHByb3ZpZGVzIGF0IGxlYXN0IGFkZHJlc3MgYW5kDQo+IGxlbmd0aCBvZiB0aGUgbWVtcG9v bCwgYW5kIHVzZWQgaGVyZT8NCj4gDQo+IFRoaXMgaGVscHMgdG8gaGlkZSBpbnRlcm5hbCBkZXRh aWxzIGFuZCBjb21wbGV4aXR5IG9mIHRoZSBtZW1wb29sIGZvciB1c2Vycy4NCj4gDQo+IA0KPiA+ DQo+ID4gQEAgLTExMjUsNiArMTE0NCw3IEBAIHhza191bWVtX2luZm8gKnhkcF91bWVtX2NvbmZp Z3VyZShzdHJ1Y3QNCj4gcG1kX2ludGVybmFscyAqaW50ZXJuYWxzLA0KPiA+ICAJdm9pZCAqYmFz ZV9hZGRyID0gTlVMTDsNCj4gPiAgCXN0cnVjdCBydGVfbWVtcG9vbCAqbWJfcG9vbCA9IHJ4cS0+ bWJfcG9vbDsNCj4gPiAgCXVpbnQ2NF90IHVtZW1fc2l6ZSwgYWxpZ24gPSAwOw0KPiA+ICsJc2l6 ZV90IGxlbiA9IDA7DQo+ID4NCj4gPiAgCWlmIChpbnRlcm5hbHMtPnNoYXJlZF91bWVtKSB7DQo+ ID4gIAkJaWYgKGdldF9zaGFyZWRfdW1lbShyeHEsIGludGVybmFscy0+aWZfbmFtZSwgJnVtZW0p IDwgMCkgQEANCj4gPiAtMTE1NiwxMCArMTE3NiwxMiBAQCB4c2tfdW1lbV9pbmZvICp4ZHBfdW1l bV9jb25maWd1cmUoc3RydWN0DQo+IHBtZF9pbnRlcm5hbHMgKmludGVybmFscywNCj4gPiAgCQl9 DQo+ID4NCj4gPiAgCQl1bWVtLT5tYl9wb29sID0gbWJfcG9vbDsNCj4gPiAtCQliYXNlX2FkZHIg PSAodm9pZCAqKWdldF9iYXNlX2FkZHIobWJfcG9vbCwgJmFsaWduKTsNCj4gPiAtCQl1bWVtX3Np emUgPSAodWludDY0X3QpbWJfcG9vbC0+cG9wdWxhdGVkX3NpemUgKg0KPiA+IC0JCQkJKHVpbnQ2 NF90KXVzcl9jb25maWcuZnJhbWVfc2l6ZSArDQo+ID4gLQkJCQlhbGlnbjsNCj4gPiArCQliYXNl X2FkZHIgPSAodm9pZCAqKWdldF9tZW1oZHJfaW5mbyhtYl9wb29sLCAmYWxpZ24sICZsZW4pOw0K PiA+DQo+IA0KPiBJcyB0aGlzIGNhbGN1bGF0aW9uIGNvcnJlY3QgaWYgbWVtcG9vbCBpcyBub3Qg YWxyZWFkeSBhbGlnbmVkIHRvIHBhZ2Ugc2l6ZT8NCj4gDQo+IExpa2UgaW4gYW4gZXhhbXBsZSBw YWdlIHNpemUgaXMgJzB4MTAwMCcsIGFuZCAibWVtaGRyX2FkZHIgPSAweDAwMGExMDgwIg0KPiBy ZXR1cm5lZCBhbGlnbmVkIGFkZHJlc3MgaXMgJzB4MDAwYTEwMDAnLCAiYmFzZV9hZGRyID0gMHgw MDBhMTAwMCINCj4gDQo+IEFueSBhY2Nlc3MgYmV0d2VlbiAnMHgwMDBhMTAwMCcgJiAnMHgwMDBh MTA4MCcgaXMgaW52YWxpZC4gSXMgdGhpcyBleHBlY3RlZD8NCg0KWWVzLCBzaW5jZSB0aGUgWFNL IFVNRU0gbWVtb3J5IGFyZWEgcmVxdWlyZXMgcGFnZSBhbGlnbm1lbnQuIEhvd2V2ZXIsIG5vIG5l ZWQgdG8gd29ycnk7IHRoZSBtZW1vcnkgcG9pbnRlciBpbiB0aGUgWFNLIFRYL1JYIGRlc2NyaXB0 b3IgaXMgb2J0YWluZWQgZnJvbSB0aGUgbWJ1ZiBkYXRhIGFyZWEuIFdlIGRvbuKAmXQgaGF2ZSBh bnkgY2hhbmNlIHRvIGFjY2VzcyB0aGUgaW52YWxpZCByYW5nZSBbMHgwMDBhMTAwMDogMHgwMDBh MTA4MF0gaGVyZS4NCg0KPiANCj4gDQo+ID4gKwkJaWYgKCFiYXNlX2FkZHIpIHsNCj4gPiArCQkJ QUZfWERQX0xPRyhFUlIsICJGYWlsZWQgdG8gcGFyc2UgbWVtaGRyIGluZm8gZnJvbQ0KPiBwb29s XG4iKTsNCj4gPg0KPiANCj4gTG9nIG1lc3NhZ2UgaXMgbm90IGFjY3VyYXRlLCBpdCBpcyBub3Qg cGFyc2luZyBtZW1oZHIgaW5mbyBmYWlsZWQsIGJ1dCBtZW1wb29sDQo+IHdhcyBub3Qgc2F0aXNm eWluZyBleHBlY3RhdGlvbi4NCg0KVGhhbmtzLCB3aWxsIGNvcnJlY3QgaXQgaW4gbmV4dCB2ZXJz aW9uLg0KDQo+IA0KPiA+ICsJCQlnb3RvIGVycjsNCj4gPiArCQl9DQo+ID4gKwkJdW1lbV9zaXpl ID0gKHVpbnQ2NF90KWxlbiArIGFsaWduOw0KPiA+DQo+ID4gIAkJcmV0ID0geHNrX3VtZW1fX2Ny ZWF0ZSgmdW1lbS0+dW1lbSwgYmFzZV9hZGRyLA0KPiB1bWVtX3NpemUsDQo+ID4gIAkJCQkmcnhx LT5mcSwgJnJ4cS0+Y3EsICZ1c3JfY29uZmlnKTsNCg0K