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 48B4F45E1E for ; Tue, 3 Dec 2024 19:09:02 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 349C84025D; Tue, 3 Dec 2024 19:09:02 +0100 (CET) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2087.outbound.protection.outlook.com [40.107.94.87]) by mails.dpdk.org (Postfix) with ESMTP id 0A0054025D for ; Tue, 3 Dec 2024 19:09:01 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hAMghxxTPUTlsrAqpMDmP+X0pzM10Vsw4ZsQqmO+nABNFkBKx7kfB8iRBCx5ib8KWlTrd2MCoGqEeTKKXqEYjDD8xGYc+iS12m7E1hfSAjZz8TskjZ+3XlmkyZLnTKlbEFt15V2FbDzwicKsDy880W+Bm8jqgKYqcw95j7zunjhvbfqicUuCi5hRzyJ1Lwp82C8dPyz6UQlGvmOke9d1AVK/SUTTm4LdJ3SoahDMXGlesehRRk2j8MJBhMmlvMGasajxX6KMRuBhuvYkfKTd3+iWU2RFmtITMLToqoa7Hf45kGuFParbQMfeENh+53+ST6+As+HNg6Yz3v3M9GOwZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=Nb6YpcmG1IXbC606xPRnGpfyvPwGk069A2YU/3c6WtQ=; b=o9x4wMCKh7RDHvHSn2cwXRb+vsBLhTGJopxPE16Pyl/ZV2cKSvIMvecT1+O7SpIC9rCqisNcG94Vgoi5PB928DNt6hSLPK5ft2RBfMv7hsXe1rKBLrFvpFHsliINKQX2+PwiudLbB7jERsVm0hl0aT6Tc442s5x2pYSgs3PvRzN3Yj7spWZUC4E4xvqUSZUjq1Q7F3Rn2PjSugkG6LknYzGfyT648GLfBWzfJFKDZN2XV2R9fF0q79fNjH5M9yQWKSPj5qTlsl0rgs+g6LUKNW5ihi0kfcR+Nck6yb9Z8yQt3cvsPym7olClq4lp5WUOEYgH6uCLZIikpsT0U4yNPQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Nb6YpcmG1IXbC606xPRnGpfyvPwGk069A2YU/3c6WtQ=; b=E/rLX2EJtHFuwcCvWbAkJ5+FWplnSp9e99uhxpIoqmobaFi634cyHxXCpsyC+AIrjjdpfyiXtz/Us+VprMQrHUJyYWrQUxYvzTbKSCQ28C86iZcNN6z4HXjWy3olOusFgSkxYKNynlY5T6i3FWp/6qdAymlS0kdD1iCF3gpbe2HBtqFf4Eil71xKrmjpPow2DtmRhXqk/EiIb0qAc6ALFlkXArM7AU2KYSq/7aWXCh8eYKI/KnR9bXcX0Ehndb9VhtjpDKGrDcYvpS5odPQ2IPIV09hQyqMMZjv4gFWK/hkrXSrGEe99klRz/Km2uvFiA9dkxVxuCM9/7AlHRKUtbQ== Received: from DM4PR12MB7501.namprd12.prod.outlook.com (2603:10b6:8:113::14) by CH2PR12MB4199.namprd12.prod.outlook.com (2603:10b6:610:a7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8207.19; Tue, 3 Dec 2024 18:08:57 +0000 Received: from DM4PR12MB7501.namprd12.prod.outlook.com ([fe80::70dc:609d:fad1:379c]) by DM4PR12MB7501.namprd12.prod.outlook.com ([fe80::70dc:609d:fad1:379c%5]) with mapi id 15.20.8207.017; Tue, 3 Dec 2024 18:08:56 +0000 From: Alexander Kozyrev To: Kevin Traynor , "stable@dpdk.org" CC: Slava Ovsiienko Subject: Re: [PATCH 21.11] common/mlx5: fix error CQE handling for 128 bytes CQE Thread-Topic: [PATCH 21.11] common/mlx5: fix error CQE handling for 128 bytes CQE Thread-Index: AQHbRarjKLyM2k/Jr06g6XmkP4DKq7LUzZQAgAADN24= Date: Tue, 3 Dec 2024 18:08:56 +0000 Message-ID: References: <20241127174839.1770671-1-akozyrev@nvidia.com> <4c30bab5-9f6f-4b68-a569-ab3e34cd27ad@redhat.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR12MB7501:EE_|CH2PR12MB4199:EE_ x-ms-office365-filtering-correlation-id: ee95985f-2430-4e5f-2f20-08dd13c58dff x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|8096899003|38070700018; x-microsoft-antispam-message-info: =?iso-8859-1?Q?rtGvf1Y64uS625ExCNMcD9TXq+k1JBgbwPJOt5R9Va9A9LmCxufA076iZL?= =?iso-8859-1?Q?NgOliZ3xhT704xmmmN+FH/ySC9YCN1KK4PKeKkkoCVhgbIoHqpwpkUvRgP?= =?iso-8859-1?Q?xfERRNPtfk89aA5wWCelshD3LCA5af0SbIPgJOgzWLdhoowFJ0/EwoV5Bo?= =?iso-8859-1?Q?BG6o+eD7Jtmhr6X+OnwugbEXtjtEyblgaFx5D62tUX/J98BHIdcppcF3lR?= =?iso-8859-1?Q?nvwHYA0BMy0W3/8yOQP/yTs8d+DyvkV20M6DhTxtg76s63cREm7qTWLkZw?= =?iso-8859-1?Q?8DBU9lzFMmarSughI11PTkRXNJBFQiBnOqo5mijtRX0fS0pDq6aq91ccNT?= =?iso-8859-1?Q?kpNgWudOF/Z0TGifx7LkQRSCGgvooTamWQL3WBHzqg9lFcfvyonkNm4uZU?= =?iso-8859-1?Q?+3R6qw/ZESAm/qFijfekVXibnpDC2ZcDyYML5gacqvtsztt5aBMT94TRh+?= =?iso-8859-1?Q?rxAIfMCGLgovQ6WgtFjwYhrtdr3J1UqYcNakkwZhkF8/y29xEdNRQ3Z8Ky?= =?iso-8859-1?Q?ilYZXCmlk9dNrw1jPXEfvhoC9DaEr1M62IlpGFDb6u4mSLocAV9TqTd564?= =?iso-8859-1?Q?oJrABMrqH2Fxc7AlQZhSvdF6JxTbINiFTQfBVY2BNWznTU3RU2tFUTNHhj?= =?iso-8859-1?Q?zVwl6xAMm22sJPBsNEmCFrsGOE77cYM8vuRbbj75hgjWc6HXDH5FowFcBZ?= =?iso-8859-1?Q?m3UcOs4IrMDm1wb56adzsP44NKSCbwiVuO5JCxjyswtRC4xn49tlyzCPIw?= =?iso-8859-1?Q?XPaJ8FJEPnCqki2o2CDzcOZFgpxExcu9rguHieEI7qwczx/Q9w+CCfy74c?= =?iso-8859-1?Q?AiufNRJJUuUDxDa+yAvvDFcUVVoluDPsXTIsC0xTon/LCJdP4lFrcPu0p/?= =?iso-8859-1?Q?dJ3juhzzPBRmTEj5zVreKMOZqCiMyHqUnUrmPV/zseDn0KcXDJ2Axn+qw8?= =?iso-8859-1?Q?g/h4NaUjp0OknpYsNHKBSpr6WsuVuW26zsB221iF9WqVyUp31xS5aljXJk?= =?iso-8859-1?Q?baptISIaHhTC7MTsZnjxPsYYS5vVU0Jgp3SoxZeD/TNJEs7ZrkyDqlhsHg?= =?iso-8859-1?Q?pmHZ1DJ66y/cNZbCn5RfY9ZlUF5Yvy8bEl6sZ/RqjB5i8IveHztBGZQdWL?= =?iso-8859-1?Q?lU7rhICcrqPaHDcaaYpvSBY3v8jbp0k5RG2IxteI9JfcMKQ//1kCi+cHdt?= =?iso-8859-1?Q?oViSbzsh/UltRMjUFyrTMEl1/9nmZii1M/zPcGcl9dvn8wd+RwdHaWnzq4?= =?iso-8859-1?Q?upBh1YpzbpTemvYLkc3B6nEACmwpmeoKwHr7EpQLhbGTo22wVvduhVDw0L?= =?iso-8859-1?Q?mjK9uz1SIY2AZUfor/Tzc6VbzVpXR6CGk6MV83pPXcBgs4At+8hAoB9fFz?= =?iso-8859-1?Q?r9n8VNYXB/FLFUZ8VlRIZ7eF/NXjCZ7LCHMQTV1Stpvl7MrcwKJu9f736Y?= =?iso-8859-1?Q?tKgvULifSkDDMJRXfoghsT75au132mgREqcHCThIWJ9yatLLQPmQVeqwc/?= =?iso-8859-1?Q?k=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB7501.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(8096899003)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?IHqncBOm4yW9NrEmJO3wswsA5QJWRRI+due5DSaeBsAP7AXP8eZk/2URBw?= =?iso-8859-1?Q?rh93YRGW6jeT3jLi5VDmejQQWzPzsQyA/csYYRrVLyIkuw/iJRnSTXrXtz?= =?iso-8859-1?Q?FUk1jKXe4jby9oKvtT+dACcRDld5rdLuAAC4Gs32aLbVOk4AC9q1bmFOuU?= =?iso-8859-1?Q?WAEAD1WQ+pLypJMBsTJ5hhCJPNHnfERFYoU4RYxl1WnnetX2JM6ZyEPBW5?= =?iso-8859-1?Q?kL1IWe+SxWxkRQpQ/nyWw8rnASkGzaKdOU5eV+XLnhizESAvbJp3UIHN/q?= =?iso-8859-1?Q?+op4UX9KN2L9aGYGPpAZxwGy2sci6jtKliKpCHh7JfjhHzOSkTmUfNjDVi?= =?iso-8859-1?Q?wto1A1JDmzjO/olMoH2NtfB/5Iy8bS8UoSqiSQIWlXm9iSgGsu3kh0pJvc?= =?iso-8859-1?Q?1lSTE9Nx8ZMDiN7QBrNee9MFe23R6aNyadDGKOD7nN7AUbDJXf8euwzMy3?= =?iso-8859-1?Q?fG0XuzqY/D4v0IuO5L2QfKvFZtzIBQK9w7bp4ZLz9EYM6kG5BVdroYvNsd?= =?iso-8859-1?Q?t2EzaKcfmv4TbCtFVptLmPzGbrcI2A/DPEbWD7jamAfTGgHzwxynaZJm5H?= =?iso-8859-1?Q?KzMO5OphUW3u/RHcou5Er2EvvM3/3AYuMYdFBHxRZHqo3z0EffzcybBwk6?= =?iso-8859-1?Q?z4xvjZWHlsQ3Wtg8BTS9Yd8thREuANgf4fSighWWvdif8WnBZ0r/MJAKj6?= =?iso-8859-1?Q?gvdKIKZn2Da2Mryj9dkb8why9e99vc+BPJGl/HQvS2/IJmeTxGEtdNu6+O?= =?iso-8859-1?Q?1UUqF0/9iqRE/0I4e4T0flquJGzAkC/+CAZec3msKayopQ0FSkzW/zGMVr?= =?iso-8859-1?Q?bKoLkxzMbQ7uRTuIoMa5zgUSqcdkMRCRp/mwYAIHWGdJWCgsa+YVnwXXe7?= =?iso-8859-1?Q?xE3i7u7/6ZgqeC87h8MqD/Otn0v8U7+aOgw6VVWOfmu8Ami94+7TDlJCea?= =?iso-8859-1?Q?gFFZi79A+OIuj+ryvZDW+IOh4r8qwcclkHyduo9zO8fxirtkVtRBkqdEV3?= =?iso-8859-1?Q?0fD0gtH5O+Er+vwrJpw59n/f0yR7kFoGRIOJ1tbL+kcj4bfHDFWZLtRbwF?= =?iso-8859-1?Q?Xdb8ZmDhZvyL0jHGYEBQR38cXunUjFpBrkkj0yMd4hOIANg6GuUz5A/QR7?= =?iso-8859-1?Q?NEc8M3DPLzfLmw3upxFMUEyALJFimwZpxD3vI4qmmaKkvkTR64tgFtL8r5?= =?iso-8859-1?Q?RlfNBRPY3BHAIiiA2Hx0cuPT2kmdwShb6o3217bKY07Lipozemp69XAdip?= =?iso-8859-1?Q?DfrqT/hKtku5Vdc89MuMYzNrxOmIUqAi2PQMrwJDBAuuW3zwjWzkP7yiVj?= =?iso-8859-1?Q?Y9t+OErldVcLRduRWaNKmfFxOoNveOc62Vyd0SrGxXEk6bqegZAWqXB2+y?= =?iso-8859-1?Q?4T0u2pjFK8ha9YE1jbOiHXmypNsGe1Rc5uTh6Ybdnw0iUMAWmX40wtPMxp?= =?iso-8859-1?Q?yiUOi5cb8xg/3+appHSHj0rqd6rW2IhJ6ACWCvA9XL9C4DodCR+psatDpP?= =?iso-8859-1?Q?So8fTvgzwAWUdFXialhvZ+2/mcEqRovyFXV+Fkj5JqJKhQVAqNO0fsgCQj?= =?iso-8859-1?Q?5RYTrxNFj1FWbjkhwpgmJFVzKe15v/0LgYLWfantSArZGBu51TFZliox/w?= =?iso-8859-1?Q?8gkS65Jz4iizI=3D?= Content-Type: multipart/mixed; boundary="_004_DM4PR12MB7501E8EA0654F2B858459AC3AF362DM4PR12MB7501namp_" MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB7501.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ee95985f-2430-4e5f-2f20-08dd13c58dff X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Dec 2024 18:08:56.7702 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: oFE9clsXTTM1q8K8Ssyna+PL9gCoDi0t0pst4T3mgvfKzQLz/cDXRKNia+I8mGECE5058vTWynux1zWK5SWpvA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4199 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org --_004_DM4PR12MB7501E8EA0654F2B858459AC3AF362DM4PR12MB7501namp_ Content-Type: multipart/alternative; boundary="_000_DM4PR12MB7501E8EA0654F2B858459AC3AF362DM4PR12MB7501namp_" --_000_DM4PR12MB7501E8EA0654F2B858459AC3AF362DM4PR12MB7501namp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable > On 03/12/2024 18:43, Kevin Traynor wrote: >> On 27/11/2024 18:48, Alexander Kozyrev wrote: >>> [ upstream commit 3cddeba0ca38b00c7dc646277484d08a4cb2d862 ] >>> >>> The completion queue element size can be independently configured >>> to report either 64 or 128 bytes CQEs by programming cqe_sz parameter >>> at CQ creation. This parameter depends on the cache line size and >>> affects both regular CQEs and error CQEs. But the error handling >>> assumes that an error CQE is 64 bytes and doesn't take the padding >>> into consideration on platforms with 128-byte cache lines. >>> Fix the error CQE size in all error handling routines in mlx5. >>> >> Hi Alexander, >> >> This is causing a build error [1] on windows in the crypto code [2]. >> >> ref >> https://dpdkdashboard.iol.unh.edu/results/dashboard/testruns/logs/147554= 3/ >> >> I didn't spend time to analyse. If you have a fix I can apply, or else >> we can drop the patch. >> >> thanks, >> Kevin. >> >> [1] >> ../drivers/crypto/mlx5/mlx5_crypto.c >> ../drivers/crypto/mlx5/mlx5_crypto.c:480:52: error: incomplete >> definition of type 'struct mlx5_err_cqe' >> DRV_LOG(ERR, "CQE ERR:%x.\n", rte_be_to_cpu_32(cqe->syndrome)); >> ~~~^ >> [2] >> mlx5_crypto_cqe_err_handle(struct mlx5_crypto_qp *qp, struct >> rte_crypto_op *op) >> { >> const uint32_t idx =3D qp->ci & (qp->entries_n - 1); >> volatile struct mlx5_err_cqe *cqe =3D (volatile struct mlx5_err_c= qe *) >> &qp->cq_obj.cqes[= idx]; >> >> op->status =3D RTE_CRYPTO_OP_STATUS_ERROR; >> qp->stats.dequeue_err_count++; >> DRV_LOG(ERR, "CQE ERR:%x.\n", rte_be_to_cpu_32(cqe->syndrome)); >> } >> > > btw, the code that was run is ahead of the 21.11 branch. > > It is at: https://dpdk.org/git/dpdk-stable on branch 21.11-staging Sorry, somehow missed the crypto driver on 21.11. Attaching the proper patc= h. --_000_DM4PR12MB7501E8EA0654F2B858459AC3AF362DM4PR12MB7501namp_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
> On 03/12/2024 18:43, Kevin Traynor wrote:
>> On 27/11/= 2024 18:48, Alexander Kozyrev wrote:
>>> [ upstream commit 3cddeba0ca38b00c7dc646277484d08a4cb2d862 ] >>>
>>> The completion queue element size can be independently configu= red
>>> to report either 64 or 128 bytes CQEs by programming cqe_sz pa= rameter
>>> at CQ creation. This parameter depends on the cache line size = and
>>> affects both regular CQEs and error CQEs. But the error handli= ng
>>> assumes that an error CQE is 64 bytes and doesn't take the pad= ding
>>> into consideration on platforms with 128-byte cache lines.
>>> Fix the error CQE size in all error handling routines in mlx5.=
>>>
>> Hi Alexander,
>>
>> This is causing a build error [1] on windows in the crypto code [2= ].
>>
>> ref
>> https://dpdkdashboard.iol.unh.edu/results/dashboard/testruns/logs/1475543/<= /a>
>>
>> I didn't spend time to analyse. If you have a fix I can apply, or = else
>> we can drop the patch.
>>
>> thanks,
>> Kevin.
>>
>> [1]
>> ../drivers/crypto/mlx5/mlx5_crypto.c
>> ../drivers/crypto/mlx5/mlx5_crypto.c:480:52: error: incomplete
>> definition of type 'struct mlx5_err_cqe'
>>         DRV_LOG(ERR, "= ;CQE ERR:%x.\n", rte_be_to_cpu_32(cqe->syndrome));
>>           &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;       ~~~^
>> [2]
>> mlx5_crypto_cqe_err_handle(struct mlx5_crypto_qp *qp, struct
>> rte_crypto_op *op)
>> {
>>        const uint32_t idx =3D q= p->ci & (qp->entries_n - 1);
>>        volatile struct mlx5_err= _cqe *cqe =3D (volatile struct mlx5_err_cqe *)
>>           &= nbsp;           &nbs= p;            &= nbsp;           &nbs= p;       &qp->cq_obj.cqes[idx];
>>
>>        op->status =3D RTE_CR= YPTO_OP_STATUS_ERROR;
>>        qp->stats.dequeue_err= _count++;
>>        DRV_LOG(ERR, "CQE E= RR:%x.\n", rte_be_to_cpu_32(cqe->syndrome));
>> }
>>
>
> btw, the code that was run is ahead of the 21.11 branch.
>
> It is at:
https://dpdk.org/git/dpdk-stable on branch 21.11-staging

Sorry, somehow missed the crypto driver on 21.11. Attaching the proper p= atch.

--_000_DM4PR12MB7501E8EA0654F2B858459AC3AF362DM4PR12MB7501namp_-- --_004_DM4PR12MB7501E8EA0654F2B858459AC3AF362DM4PR12MB7501namp_ Content-Type: application/octet-stream; name="0001-common-mlx5-fix-error-CQE-handling-for-128-bytes-CQE.patch" Content-Description: 0001-common-mlx5-fix-error-CQE-handling-for-128-bytes-CQE.patch Content-Disposition: attachment; filename="0001-common-mlx5-fix-error-CQE-handling-for-128-bytes-CQE.patch"; size=8097; creation-date="Tue, 03 Dec 2024 18:08:40 GMT"; modification-date="Tue, 03 Dec 2024 18:08:56 GMT" Content-Transfer-Encoding: base64 RnJvbSBlZjE2OTZhZDNkYzMwYzczZjE3NWExM2UyOTE5ZWFkZmYxNDkwZmY5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGV4YW5kZXIgS296eXJldiA8YWtvenlyZXZAbnZpZGlhLmNv bT4KRGF0ZTogV2VkLCAyNyBOb3YgMjAyNCAxOTo0ODoyMyArMDIwMApTdWJqZWN0OiBbUEFUQ0hd IGNvbW1vbi9tbHg1OiBmaXggZXJyb3IgQ1FFIGhhbmRsaW5nIGZvciAxMjggYnl0ZXMgQ1FFCgpb IHVwc3RyZWFtIGNvbW1pdCAzY2RkZWJhMGNhMzhiMDBjN2RjNjQ2Mjc3NDg0ZDA4YTRjYjJkODYy IF0KClRoZSBjb21wbGV0aW9uIHF1ZXVlIGVsZW1lbnQgc2l6ZSBjYW4gYmUgaW5kZXBlbmRlbnRs eSBjb25maWd1cmVkCnRvIHJlcG9ydCBlaXRoZXIgNjQgb3IgMTI4IGJ5dGVzIENRRXMgYnkgcHJv Z3JhbW1pbmcgY3FlX3N6IHBhcmFtZXRlcgphdCBDUSBjcmVhdGlvbi4gVGhpcyBwYXJhbWV0ZXIg ZGVwZW5kcyBvbiB0aGUgY2FjaGUgbGluZSBzaXplIGFuZAphZmZlY3RzIGJvdGggcmVndWxhciBD UUVzIGFuZCBlcnJvciBDUUVzLiBCdXQgdGhlIGVycm9yIGhhbmRsaW5nCmFzc3VtZXMgdGhhdCBh biBlcnJvciBDUUUgaXMgNjQgYnl0ZXMgYW5kIGRvZXNuJ3QgdGFrZSB0aGUgcGFkZGluZwppbnRv IGNvbnNpZGVyYXRpb24gb24gcGxhdGZvcm1zIHdpdGggMTI4LWJ5dGUgY2FjaGUgbGluZXMuCkZp eCB0aGUgZXJyb3IgQ1FFIHNpemUgaW4gYWxsIGVycm9yIGhhbmRsaW5nIHJvdXRpbmVzIGluIG1s eDUuCgpGaXhlczogOTU3ZTQ1ZmI3YmNiICgibmV0L21seDU6IGhhbmRsZSBUeCBjb21wbGV0aW9u IHdpdGggZXJyb3IiKQoKU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEtvenlyZXYgPGFrb3p5cmV2 QG52aWRpYS5jb20+CkFja2VkLWJ5OiBWaWFjaGVzbGF2IE92c2lpZW5rbyA8dmlhY2hlc2xhdm9A bnZpZGlhLmNvbT4KLS0tCiBkcml2ZXJzL2NvbW1vbi9tbHg1L21seDVfcHJtLmggICAgICAgICAg ICAgIHwgMjkgKysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2NvbW1vbi9tbHg1L3dpbmRv d3MvbWx4NV93aW5fZGVmcy5oIHwgMTIgLS0tLS0tLS0tCiBkcml2ZXJzL2NvbXByZXNzL21seDUv bWx4NV9jb21wcmVzcy5jICAgICAgIHwgIDQgKy0tCiBkcml2ZXJzL2NyeXB0by9tbHg1L21seDVf Y3J5cHRvLmMgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvbmV0L21seDUvbWx4NV9mbG93X2Fz by5jICAgICAgICAgICAgfCAgNiArKy0tLQogZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4LmMgICAg ICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL25ldC9tbHg1L21seDVfdHguYyAgICAgICAg ICAgICAgICAgIHwgIDggKysrLS0tCiA3IGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyks IDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvY29tbW9uL21seDUvbWx4NV9w cm0uaCBiL2RyaXZlcnMvY29tbW9uL21seDUvbWx4NV9wcm0uaAppbmRleCBmZDVjOGI1YzcyLi5m NTYxZTUzZjZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NvbW1vbi9tbHg1L21seDVfcHJtLmgKKysr IGIvZHJpdmVycy9jb21tb24vbWx4NS9tbHg1X3BybS5oCkBAIC0yNDksOCArMjQ5LDEyIEBACiAv KiBNYXhpbXVtIG51bWJlciBvZiBEUyBpbiBXUUUuIExpbWl0ZWQgYnkgNi1iaXQgZmllbGQuICov CiAjZGVmaW5lIE1MWDVfRFNFR19NQVggNjMKIAotLyogVGhlIDMyIGJpdCBzeW5kcm9tZSBvZmZz ZXQgaW4gc3RydWN0IG1seDVfZXJyX2NxZS4gKi8KKy8qIFRoZSAzMiBiaXQgc3luZHJvbWUgb2Zm c2V0IGluIHN0cnVjdCBtbHg1X2Vycm9yX2NxZS4gKi8KKyNpZiAoUlRFX0NBQ0hFX0xJTkVfU0la RSA9PSAxMjgpCisjZGVmaW5lIE1MWDVfRVJST1JfQ1FFX1NZTkRST01FX09GRlNFVCAxMTYKKyNl bHNlCiAjZGVmaW5lIE1MWDVfRVJST1JfQ1FFX1NZTkRST01FX09GRlNFVCA1MgorI2VuZGlmCiAK IC8qIFRoZSBjb21wbGV0aW9uIG1vZGUgb2Zmc2V0IGluIHRoZSBXUUUgY29udHJvbCBzZWdtZW50 IGxpbmUgMi4gKi8KICNkZWZpbmUgTUxYNV9DT01QX01PREVfT0ZGU0VUIDIKQEAgLTM3OSw2ICsz ODMsMjkgQEAgc3RydWN0IG1seDVfd3FlX21wcnEgewogCiAjZGVmaW5lIE1MWDVfTVBSUV9TVFJJ REVfU0hJRlRfQllURSAyCiAKK3N0cnVjdCBtbHg1X2Vycm9yX2NxZSB7CisjaWYgKFJURV9DQUNI RV9MSU5FX1NJWkUgPT0gMTI4KQorCXVpbnQ4X3QgcGFkZGluZ1s2NF07CisjZW5kaWYKKwl1aW50 OF90IHJzdmQwWzJdOworCXVpbnQxNl90IGV0aF93cWVfaWQ7CisJdWludDhfdAlyc3ZkMVsxNl07 CisJdWludDE2X3QgaWJfc3RyaWRlX2luZGV4OworCXVpbnQ4X3QJcnN2ZDJbMTBdOworCXVpbnQz Ml90IHNycW47CisJdWludDhfdAlyc3ZkM1s4XTsKKwl1aW50MzJfdCBieXRlX2NudDsKKwl1aW50 OF90CXJzdmQ0WzRdOworCXVpbnQ4X3QJaHdfZXJyX3N5bmQ7CisJdWludDhfdAlod19zeW5kX3R5 cGU7CisJdWludDhfdAl2ZW5kb3JfZXJyX3N5bmQ7CisJdWludDhfdAlzeW5kcm9tZTsKKwl1aW50 MzJfdCBzX3dxZV9vcGNvZGVfcXBuOworCXVpbnQxNl90IHdxZV9jb3VudGVyOworCXVpbnQ4X3QJ c2lnbmF0dXJlOworCXVpbnQ4X3QJb3Bfb3duOworfTsKKwogLyogQ1EgZWxlbWVudCBzdHJ1Y3R1 cmUgLSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGNhY2hlIGxpbmUgc2l6ZSAqLwogc3RydWN0IG1s eDVfY3FlIHsKICNpZiAoUlRFX0NBQ0hFX0xJTkVfU0laRSA9PSAxMjgpCmRpZmYgLS1naXQgYS9k cml2ZXJzL2NvbW1vbi9tbHg1L3dpbmRvd3MvbWx4NV93aW5fZGVmcy5oIGIvZHJpdmVycy9jb21t b24vbWx4NS93aW5kb3dzL21seDVfd2luX2RlZnMuaAppbmRleCAwYzA5MzI1NDQ0Li5kNzk3Mjhi Y2RhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2NvbW1vbi9tbHg1L3dpbmRvd3MvbWx4NV93aW5fZGVm cy5oCisrKyBiL2RyaXZlcnMvY29tbW9uL21seDUvd2luZG93cy9tbHg1X3dpbl9kZWZzLmgKQEAg LTIyMywxOCArMjIzLDYgQEAgc3RydWN0IG1seDVfYWN0aW9uIHsKIAl9IGRlc3RfdGlyOwogfTsK IAotc3RydWN0IG1seDVfZXJyX2NxZSB7Ci0JdWludDhfdAkJcnN2ZDBbMzJdOwotCXVpbnQzMl90 CXNycW47Ci0JdWludDhfdAkJcnN2ZDFbMThdOwotCXVpbnQ4X3QJCXZlbmRvcl9lcnJfc3luZDsK LQl1aW50OF90CQlzeW5kcm9tZTsKLQl1aW50MzJfdAlzX3dxZV9vcGNvZGVfcXBuOwotCXVpbnQx Nl90CXdxZV9jb3VudGVyOwotCXVpbnQ4X3QJCXNpZ25hdHVyZTsKLQl1aW50OF90CQlvcF9vd247 Ci19OwotCiBzdHJ1Y3QgbWx4NV93cWVfc3JxX25leHRfc2VnIHsKIAl1aW50OF90CQkJcnN2ZDBb Ml07CiAJcnRlX2JlMTZfdAkJbmV4dF93cWVfaW5kZXg7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nv bXByZXNzL21seDUvbWx4NV9jb21wcmVzcy5jIGIvZHJpdmVycy9jb21wcmVzcy9tbHg1L21seDVf Y29tcHJlc3MuYwppbmRleCA1MTViNWRmYTY3Li5lMWNhNzc3OTVjIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2NvbXByZXNzL21seDUvbWx4NV9jb21wcmVzcy5jCisrKyBiL2RyaXZlcnMvY29tcHJlc3Mv bWx4NS9tbHg1X2NvbXByZXNzLmMKQEAgLTUzNyw3ICs1MzcsNyBAQCBtbHg1X2NvbXByZXNzX2R1 bXBfZXJyX29ianModm9sYXRpbGUgdWludDMyX3QgKmNxZSwgdm9sYXRpbGUgdWludDMyX3QgKndx ZSwKIAlzaXplX3QgaTsKIAogCURSVl9MT0coRVJSLCAiRXJyb3IgY3FlOiIpOwotCWZvciAoaSA9 IDA7IGkgPCBzaXplb2Yoc3RydWN0IG1seDVfZXJyX2NxZSkgPj4gMjsgaSArPSA0KQorCWZvciAo aSA9IDA7IGkgPCBzaXplb2Yoc3RydWN0IG1seDVfZXJyb3JfY3FlKSA+PiAyOyBpICs9IDQpCiAJ CURSVl9MT0coRVJSLCAiJTA4WCAlMDhYICUwOFggJTA4WCIsIGNxZVtpXSwgY3FlW2kgKyAxXSwK IAkJCWNxZVtpICsgMl0sIGNxZVtpICsgM10pOwogCURSVl9MT0coRVJSLCAiXG5FcnJvciB3cWU6 Iik7CkBAIC01NTUsNyArNTU1LDcgQEAgbWx4NV9jb21wcmVzc19jcWVfZXJyX2hhbmRsZShzdHJ1 Y3QgbWx4NV9jb21wcmVzc19xcCAqcXAsCiAJCQkgICAgIHN0cnVjdCBydGVfY29tcF9vcCAqb3Ap CiB7CiAJY29uc3QgdWludDMyX3QgaWR4ID0gcXAtPmNpICYgKHFwLT5lbnRyaWVzX24gLSAxKTsK LQl2b2xhdGlsZSBzdHJ1Y3QgbWx4NV9lcnJfY3FlICpjcWUgPSAodm9sYXRpbGUgc3RydWN0IG1s eDVfZXJyX2NxZSAqKQorCXZvbGF0aWxlIHN0cnVjdCBtbHg1X2Vycm9yX2NxZSAqY3FlID0gKHZv bGF0aWxlIHN0cnVjdCBtbHg1X2Vycm9yX2NxZSAqKQogCQkJCQkJCSAgICAgICZxcC0+Y3EuY3Fl c1tpZHhdOwogCXZvbGF0aWxlIHN0cnVjdCBtbHg1X2dnYV93cWUgKndxZXMgPSAodm9sYXRpbGUg c3RydWN0IG1seDVfZ2dhX3dxZSAqKQogCQkJCQkJCQkgICAgcXAtPnFwLndxZXM7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2NyeXB0by9tbHg1L21seDVfY3J5cHRvLmMgYi9kcml2ZXJzL2NyeXB0by9t bHg1L21seDVfY3J5cHRvLmMKaW5kZXggMzZkYjMxYWFlNS4uOGE1M2FmOGFlZiAxMDA2NDQKLS0t IGEvZHJpdmVycy9jcnlwdG8vbWx4NS9tbHg1X2NyeXB0by5jCisrKyBiL2RyaXZlcnMvY3J5cHRv L21seDUvbWx4NV9jcnlwdG8uYwpAQCAtNDcyLDcgKzQ3Miw3IEBAIHN0YXRpYyBfX3J0ZV9ub2lu bGluZSB2b2lkCiBtbHg1X2NyeXB0b19jcWVfZXJyX2hhbmRsZShzdHJ1Y3QgbWx4NV9jcnlwdG9f cXAgKnFwLCBzdHJ1Y3QgcnRlX2NyeXB0b19vcCAqb3ApCiB7CiAJY29uc3QgdWludDMyX3QgaWR4 ID0gcXAtPmNpICYgKHFwLT5lbnRyaWVzX24gLSAxKTsKLQl2b2xhdGlsZSBzdHJ1Y3QgbWx4NV9l cnJfY3FlICpjcWUgPSAodm9sYXRpbGUgc3RydWN0IG1seDVfZXJyX2NxZSAqKQorCXZvbGF0aWxl IHN0cnVjdCBtbHg1X2Vycm9yX2NxZSAqY3FlID0gKHZvbGF0aWxlIHN0cnVjdCBtbHg1X2Vycm9y X2NxZSAqKQogCQkJCQkJCSZxcC0+Y3Ffb2JqLmNxZXNbaWR4XTsKIAogCW9wLT5zdGF0dXMgPSBS VEVfQ1JZUFRPX09QX1NUQVRVU19FUlJPUjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21seDUv bWx4NV9mbG93X2Fzby5jIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3dfYXNvLmMKaW5kZXgg ZWI3ZmM0M2RhMy4uMGQwMWNhMTMxMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1 X2Zsb3dfYXNvLmMKKysrIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X2Zsb3dfYXNvLmMKQEAgLTQw Niw3ICs0MDYsNyBAQCBtbHg1X2Fzb19kdW1wX2Vycl9vYmpzKHZvbGF0aWxlIHVpbnQzMl90ICpj cWUsIHZvbGF0aWxlIHVpbnQzMl90ICp3cWUpCiAJaW50IGk7CiAKIAlEUlZfTE9HKEVSUiwgIkVy cm9yIGNxZToiKTsKLQlmb3IgKGkgPSAwOyBpIDwgMTY7IGkgKz0gNCkKKwlmb3IgKGkgPSAwOyBp IDwgKGludClzaXplb2Yoc3RydWN0IG1seDVfZXJyb3JfY3FlKSAvIDQ7IGkgKz0gNCkKIAkJRFJW X0xPRyhFUlIsICIlMDhYICUwOFggJTA4WCAlMDhYIiwgY3FlW2ldLCBjcWVbaSArIDFdLAogCQkJ Y3FlW2kgKyAyXSwgY3FlW2kgKyAzXSk7CiAJRFJWX0xPRyhFUlIsICJcbkVycm9yIHdxZToiKTsK QEAgLTQyNiw4ICs0MjYsOCBAQCBtbHg1X2Fzb19jcWVfZXJyX2hhbmRsZShzdHJ1Y3QgbWx4NV9h c29fc3EgKnNxKQogewogCXN0cnVjdCBtbHg1X2Fzb19jcSAqY3EgPSAmc3EtPmNxOwogCXVpbnQz Ml90IGlkeCA9IGNxLT5jcV9jaSAmICgoMSA8PCBjcS0+bG9nX2Rlc2NfbikgLSAxKTsKLQl2b2xh dGlsZSBzdHJ1Y3QgbWx4NV9lcnJfY3FlICpjcWUgPQotCQkJKHZvbGF0aWxlIHN0cnVjdCBtbHg1 X2Vycl9jcWUgKikmY3EtPmNxX29iai5jcWVzW2lkeF07CisJdm9sYXRpbGUgc3RydWN0IG1seDVf ZXJyb3JfY3FlICpjcWUgPQorCQkJKHZvbGF0aWxlIHN0cnVjdCBtbHg1X2Vycm9yX2NxZSAqKSZj cS0+Y3Ffb2JqLmNxZXNbaWR4XTsKIAogCWNxLT5lcnJvcnMrKzsKIAlpZHggPSBydGVfYmVfdG9f Y3B1XzE2KGNxZS0+d3FlX2NvdW50ZXIpICYgKDF1IDw8IHNxLT5sb2dfZGVzY19uKTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L21seDUvbWx4NV9yeC5jIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1 X3J4LmMKaW5kZXggZWVhNmE1YzZjNy4uNzhkMzk0OTI3NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9u ZXQvbWx4NS9tbHg1X3J4LmMKKysrIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3J4LmMKQEAgLTQz Myw3ICs0MzMsNyBAQCBtbHg1X3J4X2Vycl9oYW5kbGUoc3RydWN0IG1seDVfcnhxX2RhdGEgKnJ4 cSwgdWludDhfdCB2ZWMsCiAJCQljb250YWluZXJfb2YocnhxLCBzdHJ1Y3QgbWx4NV9yeHFfY3Ry bCwgcnhxKTsKIAl1bmlvbiB7CiAJCXZvbGF0aWxlIHN0cnVjdCBtbHg1X2NxZSAqY3FlOwotCQl2 b2xhdGlsZSBzdHJ1Y3QgbWx4NV9lcnJfY3FlICplcnJfY3FlOworCQl2b2xhdGlsZSBzdHJ1Y3Qg bWx4NV9lcnJvcl9jcWUgKmVycl9jcWU7CiAJfSB1ID0gewogCQkuY3FlID0gJigqcnhxLT5jcWVz KVsocnhxLT5jcV9jaSAtIHZlYykgJiBjcWVfbWFza10sCiAJfTsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvbmV0L21seDUvbWx4NV90eC5jIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3R4LmMKaW5kZXgg OGYwMzc0Mzk4Ni4uZWRiMWUwMjY1ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvbWx4NS9tbHg1 X3R4LmMKKysrIGIvZHJpdmVycy9uZXQvbWx4NS9tbHg1X3R4LmMKQEAgLTU1LDcgKzU1LDcgQEAg dHhfcmVjb3Zlcl9xcChzdHJ1Y3QgbWx4NV90eHFfY3RybCAqdHhxX2N0cmwpCiAKIC8qIFJldHVy biAxIGlmIHRoZSBlcnJvciBDUUUgaXMgc2lnbmVkIG90aGVyd2lzZSwgc2lnbiBpdCBhbmQgcmV0 dXJuIDAuICovCiBzdGF0aWMgaW50Ci1jaGVja19lcnJfY3FlX3NlZW4odm9sYXRpbGUgc3RydWN0 IG1seDVfZXJyX2NxZSAqZXJyX2NxZSkKK2NoZWNrX2Vycl9jcWVfc2Vlbih2b2xhdGlsZSBzdHJ1 Y3QgbWx4NV9lcnJvcl9jcWUgKmVycl9jcWUpCiB7CiAJc3RhdGljIGNvbnN0IHVpbnQ4X3QgbWFn aWNbXSA9ICJzZWVuIjsKIAlpbnQgcmV0ID0gMTsKQEAgLTgzLDcgKzgzLDcgQEAgY2hlY2tfZXJy X2NxZV9zZWVuKHZvbGF0aWxlIHN0cnVjdCBtbHg1X2Vycl9jcWUgKmVycl9jcWUpCiAgKi8KIHN0 YXRpYyBpbnQKIG1seDVfdHhfZXJyb3JfY3FlX2hhbmRsZShzdHJ1Y3QgbWx4NV90eHFfZGF0YSAq X19ydGVfcmVzdHJpY3QgdHhxLAotCQkJIHZvbGF0aWxlIHN0cnVjdCBtbHg1X2Vycl9jcWUgKmVy cl9jcWUpCisJCQkgdm9sYXRpbGUgc3RydWN0IG1seDVfZXJyb3JfY3FlICplcnJfY3FlKQogewog CWlmIChlcnJfY3FlLT5zeW5kcm9tZSAhPSBNTFg1X0NRRV9TWU5EUk9NRV9XUl9GTFVTSF9FUlIp IHsKIAkJY29uc3QgdWludDE2X3Qgd3FlX20gPSAoKDEgPDwgdHhxLT53cWVfbikgLSAxKTsKQEAg LTEwNyw3ICsxMDcsNyBAQCBtbHg1X3R4X2Vycm9yX2NxZV9oYW5kbGUoc3RydWN0IG1seDVfdHhx X2RhdGEgKl9fcnRlX3Jlc3RyaWN0IHR4cSwKIAkJCW1seDVfZHVtcF9kZWJ1Z19pbmZvcm1hdGlv bihuYW1lLCAiTUxYNSBFcnJvciBDUToiLAogCQkJCQkJICAgIChjb25zdCB2b2lkICopKCh1aW50 cHRyX3QpCiAJCQkJCQkgICAgdHhxLT5jcWVzKSwKLQkJCQkJCSAgICBzaXplb2Yoc3RydWN0IG1s eDVfY3FlKSAqCisJCQkJCQkgICAgc2l6ZW9mKHN0cnVjdCBtbHg1X2Vycm9yX2NxZSkgKgogCQkJ CQkJICAgICgxIDw8IHR4cS0+Y3FlX24pKTsKIAkJCW1seDVfZHVtcF9kZWJ1Z19pbmZvcm1hdGlv bihuYW1lLCAiTUxYNSBFcnJvciBTUToiLAogCQkJCQkJICAgIChjb25zdCB2b2lkICopKCh1aW50 cHRyX3QpCkBAIC0yMzEsNyArMjMxLDcgQEAgbWx4NV90eF9oYW5kbGVfY29tcGxldGlvbihzdHJ1 Y3QgbWx4NV90eHFfZGF0YSAqX19ydGVfcmVzdHJpY3QgdHhxLAogCQkJICovCiAJCQlydGVfd21i KCk7CiAJCQlyZXQgPSBtbHg1X3R4X2Vycm9yX2NxZV9oYW5kbGUKLQkJCQkodHhxLCAodm9sYXRp bGUgc3RydWN0IG1seDVfZXJyX2NxZSAqKWNxZSk7CisJCQkJKHR4cSwgKHZvbGF0aWxlIHN0cnVj dCBtbHg1X2Vycm9yX2NxZSAqKWNxZSk7CiAJCQlpZiAodW5saWtlbHkocmV0IDwgMCkpIHsKIAkJ CQkvKgogCQkJCSAqIFNvbWUgZXJyb3Igb2NjdXJyZWQgb24gcXVldWUgZXJyb3IKLS0gCjIuNDMu NQoK --_004_DM4PR12MB7501E8EA0654F2B858459AC3AF362DM4PR12MB7501namp_--