From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-VI1-obe.outbound.protection.outlook.com (mail-vi1eur02on2052.outbound.protection.outlook.com [40.107.241.52]) by sourceware.org (Postfix) with ESMTPS id 16EC6385840D for ; Wed, 24 Apr 2024 15:56:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 16EC6385840D Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 16EC6385840D Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.241.52 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1713974179; cv=pass; b=EvUy6Cia7uGSo0em0oyREqWXeg5GepFeI/Rzz9GAtaRHlP729vjp6CDN4BdSqjUBvBcdecQWL++FFoTSsX9KITlvdR8Iooj+B6Q9/CKE2tXfnXk5GFy7BT71rhrMlOyekEMvzR8Of6X9WJUprM3IFNw5che3kC2yKlAoqQigvcI= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1713974179; c=relaxed/simple; bh=+HrQwIPo/JX5wzKDASU3T0QcwEVrp0c2Tfuz47YMVrA=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:To:From:Subject: MIME-Version; b=PlGEGkfBvSLQs8itH53t/4d9j8Cci9eUSuTxmAZa1HNQ0BKeQlpAXhWqoREZ+MxF0JYupoYFHQdK0/cdhcek/k39uMYlRpORucZsvHo/GW/OVBM8slBgiXH0X64SDzpRldKQGFX023WlNV6a9F1DeZHWmJ8qyL4tkjRqr+FapzM= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=oJO/0O+vM9STBHFL00N/VWac/hNHkeoVumPgISp7SZLdPOUnN60mQPd5NdAJD6kuYPGNVt4CGRo+eFG7BwiVZt5lhV4tNVce+MAmh15jXqrV1TzwRCMdBaPBmRKT8ORazBK1KN03e68VDvxi5j+5GG0ELhKncJFrLtDO3Q8rf590Dq5Q/Pnjkk+4vHCLU0+qkmHGQwVxMcivrdwac46Z2R/9mj1JNxYO6Rc8eYtDV5byOyUxCCgmPfQYihy4yxxWGV0LKYiqVqUIGqcAkCK9so7z1pthM054IWvXw1F8EC59gq+g4d/83/qx9AJlXxzwfI8NRRw8vMav0FfuzQbh2Q== ARC-Message-Signature: i=2; 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=Ry94+tyt+z1jY33zBuraXPx2ZIuXnuWB/uZ8ytCg+ig=; b=V0T2d2w16mNzHE+njqDJfxiRvFefCq3hBy6No4rN+w8LScWQf5rPd7GZ0OUBjfIeesHQFcRrjc4/eKzNEKgJUGOHqU+rUGpIO3NiyiJM7UIwVODIntoMx6p1l3B8K1vIS8NIOUjSK1W94PjiosY9y0Df6ZQzHgVRUNT3CX6ZH08qryy34wbXQEQHef6tT9dM6k/kkF9jr4ahR88wmX9wZABRKjmfOKrTOnP9UIAQVwWkW8eQiI4stC0L38B3L9bTPWDX5TxsfRs96CifhZak5TMx3gOnK5tk2o7YmqJkTEnj0UBrbRlNHqi5V0ZUB3gOhasBrjP6FlEyOj1KBiD/yA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ry94+tyt+z1jY33zBuraXPx2ZIuXnuWB/uZ8ytCg+ig=; b=JiZDF1/aXVzB3hK3z15f7GxtNXzeVYxp1pM/ra0tZ+fn5u4r8LRC9oGzPND9uxJTpxBz3GH/y+eyGZ0U+Kx8fGcG/rvPyTFIycfHs23ebCLm+bF44UluiwphKomzcuqx5f98ZS0cVRD/KRlH0YWo80vHim3QJyMy0pD9eN8+xTM= Received: from DB9PR02CA0024.eurprd02.prod.outlook.com (2603:10a6:10:1d9::29) by AS2PR08MB10349.eurprd08.prod.outlook.com (2603:10a6:20b:57b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.22; Wed, 24 Apr 2024 15:56:12 +0000 Received: from DB5PEPF00014B9A.eurprd02.prod.outlook.com (2603:10a6:10:1d9:cafe::38) by DB9PR02CA0024.outlook.office365.com (2603:10a6:10:1d9::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7495.35 via Frontend Transport; Wed, 24 Apr 2024 15:56:12 +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=arm.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 DB5PEPF00014B9A.mail.protection.outlook.com (10.167.8.167) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.7519.19 via Frontend Transport; Wed, 24 Apr 2024 15:56:11 +0000 Received: ("Tessian outbound daa456608199:v315"); Wed, 24 Apr 2024 15:56:10 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: f2f6d9228ab5d9d7 X-CR-MTA-TID: 64aa7808 Received: from 73fa350548ce.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 34A53271-5E2B-4253-9E82-A547345AA1A8.1; Wed, 24 Apr 2024 15:55:59 +0000 Received: from EUR05-AM6-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 73fa350548ce.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 24 Apr 2024 15:55:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TZ/YSClRr9MK7QLY2BkSgSVU6m8/UsH1HjyEKz7HOZ9tGEv01bFuBijIK1DZ9N+JsPvExrJqYWDJ/hbNnCE9zhp+1cTn10pC58/wPfhEp8kTANNV2xnd8or2CVxD2Fp4HgzvPYZg9uAogzLdTToi3yc8AXdm+u6siarvJQksWoxieKd6Wz+kjapODGLKzC0zhqNh+/+G79qOBlqTtRwzB3qePZqlW8f72UxHrBucOdJctDZWc03VLedv+3ts+ziZLhhNTPJ9uNzjTKFsfLCXyjVcJg2Uzw3hJ1enGnfRM5ilp4jWM2SHvcr3XNDp4cqFE/hWl4bLzsVU3C4SFq68LQ== 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=Ry94+tyt+z1jY33zBuraXPx2ZIuXnuWB/uZ8ytCg+ig=; b=I1pBEXMkCYJyc+a4Xc9FIF4Qpg4bImpXv2AQx9JrJTraAzzBN0219JBhSlVVIKLdIPnkKqaHvdlAN60A+GgI8wzTu3Dr1uC99y/qFVuWVVt9qCJu7BkcBeDx/8UhyCXosZxmxtWuVV79Fl8QC48AVkMAYGYbNwUHW89lLIB7D6c5g5ezQMJtDPU2tkx9hfwKQBYQrvHKmJnR7NVcfjsa8le/S2DHrWompc2rV0kq/mGAuDu5lphP9YecndxvGA/3KvUjwi2voLA2du0Ml47jhExGojumvotNxAdKGSuEYonQX9JKeVF6EcWzF4d5doPTiWau1sWpXi7YJjxt7BQloA== 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=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ry94+tyt+z1jY33zBuraXPx2ZIuXnuWB/uZ8ytCg+ig=; b=JiZDF1/aXVzB3hK3z15f7GxtNXzeVYxp1pM/ra0tZ+fn5u4r8LRC9oGzPND9uxJTpxBz3GH/y+eyGZ0U+Kx8fGcG/rvPyTFIycfHs23ebCLm+bF44UluiwphKomzcuqx5f98ZS0cVRD/KRlH0YWo80vHim3QJyMy0pD9eN8+xTM= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from DB9PR08MB6957.eurprd08.prod.outlook.com (2603:10a6:10:2bc::10) by GV2PR08MB9325.eurprd08.prod.outlook.com (2603:10a6:150:d5::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Wed, 24 Apr 2024 15:55:56 +0000 Received: from DB9PR08MB6957.eurprd08.prod.outlook.com ([fe80::5c14:ca3c:588b:1b39]) by DB9PR08MB6957.eurprd08.prod.outlook.com ([fe80::5c14:ca3c:588b:1b39%5]) with mapi id 15.20.7519.021; Wed, 24 Apr 2024 15:55:55 +0000 Content-Type: multipart/mixed; boundary="------------w0vMV0jheL9AvaeWK0sPsoC8" Message-ID: <33b2e8aa-9aa6-48e3-acef-0bab99676595@arm.com> Date: Wed, 24 Apr 2024 16:55:53 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: "gcc-patches@gcc.gnu.org" , Richard Earnshaw , Richard Sandiford , Marcus Shawcroft , Kyrylo Tkachov From: Richard Ball Subject: [PATCH] arm: Zero/Sign extends for CMSE security X-ClientProxiedBy: LO2P265CA0045.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:61::33) To DB9PR08MB6957.eurprd08.prod.outlook.com (2603:10a6:10:2bc::10) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: DB9PR08MB6957:EE_|GV2PR08MB9325:EE_|DB5PEPF00014B9A:EE_|AS2PR08MB10349:EE_ X-MS-Office365-Filtering-Correlation-Id: bbc204da-51e0-4476-33ea-08dc64771093 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: =?us-ascii?Q?Nc6/4xpuRQVl2IZ/wtHfVzV2QRVT+/HcaTm4G54lQIoy60OqeLLG5Fw6KtLD?= =?us-ascii?Q?Wew0kvChQYikB2jwR2c8RaHE4/VJIy6D2EVRX36EvKZYNzAmCOcTvoNV7fPa?= =?us-ascii?Q?byOTYwEN/CEgmIpGAb0qpK04N8JOq3P57uJXOs4lEpllKEes3NZR4tqClVZ8?= =?us-ascii?Q?AOI/4xOECj4k+ygTZbGuBUKoc5wjogEbnSaxlv6AELY5UWOsS8brukKP9yRk?= =?us-ascii?Q?efI9cTT3TAx+oxqqhmMjgYLHmnk7GiE+UQD14OrB5aC72LY0HEPiFH2ZLJrg?= =?us-ascii?Q?4n0jn1k2w80mAmcFihpjy7QGhJiRAByKvlvnY4EMZfEAYfjhXtM7lwZFVPfl?= =?us-ascii?Q?yzSE1H/G6tZDbDkUymQR7M6r1xmbbimJpy/qiIzZgz37XZX45kqkhcgM5ccS?= =?us-ascii?Q?EBiqDIj41EtHBaM0OSOeFJLExAPwjz9TCx5Qyph8KzQTX9fwY/PV2vvJqBC3?= =?us-ascii?Q?zRr+jnkFs173WbG0/BYAiTh44Y9U6BaTHy53rjsGwZU+ivLNFF/FwyHGI2wQ?= =?us-ascii?Q?eYp7ctmIJPUZTH1RmNZyFjeM1pFYpYBPj1bFSo/xUOWTVuh7/aN6fQswKJpv?= =?us-ascii?Q?5YmNyhD+QuRu/D+PC3OjYFXJUYhHKkkT6qRZn+1kLib6OeTrzLCehzqsFPEG?= =?us-ascii?Q?MibC4HwvcFHhPk0ttzdCq1TrSKPb3tuLYedzePfgZdHLW0YI9CmY15Mph6dx?= =?us-ascii?Q?vTm7/RWByFurV94vygu8OmRVGUPzcLjU5cAD/32zX42qEtK+isuePexbnjQ3?= =?us-ascii?Q?VVtdychBoQ/phxdwWQ6gJRaQnC56Eu7OexL1drg+Y5KdeaN+E2hKg73YMCV6?= =?us-ascii?Q?Ni8IBLcUU95ZfYegdctUw5VUDxLYFWx/lUjLkpJ59UVt5hTM4zsyh15Txpp5?= =?us-ascii?Q?tcuXU8BW7hDZqKwWA0F2GQ93oHofzI03ihT3xtE9f15oZhXFMd6l3KxChjPE?= =?us-ascii?Q?GN147iumdv5nZkmueKNooPDxKifAJA2H0J9iPJBzt/IigNGwTqz/3TUQalTl?= =?us-ascii?Q?Z8ToDKZT/odEIuzwsy8mplcTHuXLXQz7ER51crCBzfwLQbnlIKxlfQ0U7lL4?= =?us-ascii?Q?+FVpKQp5VZM5ICOr7QACzS/qKVbVMBdUbj3YWQKwXOYq9mRUuez1pAyJZmc3?= =?us-ascii?Q?G0LGO9IzVIdVMoqj0llOvZ5/8E/7Nc66yWmE3jlHyACePwg0K1g0nSvhVlgt?= =?us-ascii?Q?1IRfMSjpusjah9hXH7gOcBEEEJ3JX64gBpPEYSlm6ueiteWySxYtjaMBDE8?= =?us-ascii?Q?=3D?= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB9PR08MB6957.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB9325 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: DB5PEPF00014B9A.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 14f0506f-538c-4e94-879f-08dc6477068c X-Microsoft-Antispam: BCL:0;ARA:13230031|36860700004|376005|1800799015|82310400014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?cHFMaEFVRHByaVQ5N0FvZUFubWp4cGVwbGxGTjlUU053VUREZkdKalFjNHVU?= =?utf-8?B?SkpyRnlvaEtDYVlVY0c0MnRiSXRoZDRhazU5dkI5YzZUcjJrNWVUblZNVjFX?= =?utf-8?B?elMyb296QStmZFB4cWJjSTVJUlMyeXFSbDMrdGtEY1ZTcEZYc2pVTGdWVlRz?= =?utf-8?B?bEZVejE3cG5TY1ZMQTBWVXhTclRiOGhpckpZTW1IeDIwdVhEbDdxK3dPWVdQ?= =?utf-8?B?YSs5UEZxYXd1MGN5RGxBTDJnU05hWE5Pb0lpZzJUcVlsRW96LzFlc2dFSUN2?= =?utf-8?B?dUdhZTBTSzdOTGJFTjlNOWJCbnJHMnV6Z2t0N2l2Z2YrS2daNFZUWlVCV0cx?= =?utf-8?B?WjAwS3lLV0F0czg1MzlTNlRKQWE5MnMxdHdsTFZuMkg0RWlSWFlKc2pzTGE2?= =?utf-8?B?cDZ2SmJNc3F1YUJoUUxVb1o5RXFiYWdUbThuYW9HTEJRd3ZiL2pnek5ZM3B1?= =?utf-8?B?NTM1K1J0VHdlOE8wcFMvNXhXcnZpWnZ0SXl2SCt4blJrekVLQktHb01tQ3FB?= =?utf-8?B?cy9QNHRZT3RqUTRWbWhTdk9YWFlOQTU3dldYOHZCZkhMN0oyUFhHODBScnM3?= =?utf-8?B?ZkxEZUpwdE5IT0Z3RUlKWk0xeUlWVTBwUThwZmpVRWxuRkpZUkIvNldza2hN?= =?utf-8?B?Vk95SnNwbGRHZTlTbDNkSzhHamYxS0Q4YUp6cVRHN1VsYVVZMTU4RVc4VDln?= =?utf-8?B?TURWdmIzc1FHNWV5MWpxVjhpL2ZYZVNVSUVqOHFIZjJ6c2lveE9saGVqQ0Vp?= =?utf-8?B?c202ZVJKL1BnbzZXckpmb005bmg0ZGh6eUdUMytVOERSTHFNZHVmNHNTd3Q0?= =?utf-8?B?NENBUUE5Z1BYQlpGVWJmMVdxb2YvdXhTMUFYMEY5Unk4Wmt3bGlNUUdFNXpP?= =?utf-8?B?V1RqQ09VSEt2NmgvQlRoWEJDMDNOTjJ0RHdtSlJyVzZkUmNtTDNZUzlkcDk2?= =?utf-8?B?S1RBNWZINmxNeE85Z3VRS0gyaUlDQTlXTE9UUGYrcmJMajhmSlZXaDh3d2p4?= =?utf-8?B?bThoczdkeXlpNmJkV3hKTUxKVFVKL2FIc1FZSlU5ZlhMc2dIb3NDRWlaeWQw?= =?utf-8?B?UktHVWR4MVFCM1dIeGxSTlYvTmtBMEhJNzJrNi8zbUx2bXh2Ymt2czF4MmZD?= =?utf-8?B?RHRadnViWVYxN0pEZFhiT0JOcTJDUHhlV2VJUmJVRGZWUS8xMXBnVWRabGQ4?= =?utf-8?B?SVBoRHJPVW1rQUpCTVV0dld0NE9hTVQrV1g1QWw0bURtaGpoMHk0Vm03dHAv?= =?utf-8?B?L3YreGFsbDdaZnBueE94Ymg5R25IdURzTm5RQmhJeXZMdHBxUnQvRTZMbXMv?= =?utf-8?B?eFk1REJqdkI0M2JyYzNBMmZ0N2w1bHVzMlE5NlJzR24vOWthVkc5UElvMHox?= =?utf-8?B?a1d6SndPUXgrK21kOTMvSk9KbkFaQndrMEd5cHY0aFAvcEZGeXNGamdWZVZP?= =?utf-8?B?QnpYdnlNdjlqSDhheGVZVWZIMk9XVFhSckdMeG00bzlqVGpGcEFFQkh5cXZ1?= =?utf-8?B?dlpXUzlaZWxlNzQ5YXArT0tzTG5QZ1RKR2drZVdUejdZakszUkVVZ09JU25L?= =?utf-8?B?aE9yMmc4RGN6Ukg2RDFheWZ3MG1FTEhWQXdYRHU3MWNZVW1pMlBON1ZYckll?= =?utf-8?B?eUozblcvTENYL3pCWlRIUzJkMmpwYzhBcHFVMkJIUVp3bSt6b040RDIraHNa?= =?utf-8?B?U2ZhS3FRTXlyM1RGTWR5c2xWa3lsL1BzMHdldGM4VytTZEhIelBjOWRzKzlP?= =?utf-8?B?MGVlaXBXUjFIdlBsOGR4U1d5MnJSYVV2NmZEVjlaZHdsaWFJY2RmaVc0c3Zn?= =?utf-8?B?NGlxT0NWMzlxTkdvN1dhdz09?= 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:(13230031)(36860700004)(376005)(1800799015)(82310400014);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Apr 2024 15:56:11.6579 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bbc204da-51e0-4476-33ea-08dc64771093 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: DB5PEPF00014B9A.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB10349 X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FORGED_SPF_HELO,GIT_PATCH_0,KAM_LOTSOFHASH,KAM_SHORT,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --------------w0vMV0jheL9AvaeWK0sPsoC8 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit This patch makes the following changes: 1) When calling a secure function from non-secure code then any arguments smaller than 32-bits that are passed in registers are zero- or sign-extended. 2) After a non-secure function returns into secure code then any return value smaller than 32-bits that is passed in a register is zero- or sign-extended. This patch addresses the following CVE-2024-0151. gcc/ChangeLog: PR target/114837 * config/arm/arm.cc (cmse_nonsecure_call_inline_register_clear): Add zero/sign extend. (arm_expand_prologue): Add zero/sign extend. gcc/testsuite/ChangeLog: * gcc.target/arm/cmse/extend-param.c: New test. * gcc.target/arm/cmse/extend-return.c: New test. --------------w0vMV0jheL9AvaeWK0sPsoC8 Content-Type: text/x-patch; charset=UTF-8; name="CMSEvulnerability.patch" Content-Disposition: attachment; filename="CMSEvulnerability.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvYXJtL2FybS5jYyBiL2djYy9jb25maWcvYXJtL2FybS5j YwppbmRleCAwMjE3YWJjMjE4ZDYwOTU2Y2U3MjdlNmQwMDhkNDZiOTE3NmRkZGM1Li5lYTBjOTYz YTRkNjdlY2Q3MGUxNTcxNjI0ZTg0ZGZlNDZkNzU3ZGY5IDEwMDY0NAotLS0gYS9nY2MvY29uZmln L2FybS9hcm0uY2MKKysrIGIvZ2NjL2NvbmZpZy9hcm0vYXJtLmNjCkBAIC0xOTIxMCw2ICsxOTIx MCwzMCBAQCBjbXNlX25vbnNlY3VyZV9jYWxsX2lubGluZV9yZWdpc3Rlcl9jbGVhciAodm9pZCkK IAkgIGVuZF9zZXF1ZW5jZSAoKTsKIAkgIGVtaXRfaW5zbl9iZWZvcmUgKHNlcSwgaW5zbik7CiAK KwkgIC8qIFRoZSBBQVBDUyByZXF1aXJlcyB0aGUgY2FsbGVlIHRvIHdpZGVuIGludGVncmFsIHR5 cGVzIG5hcnJvd2VyCisJICAgICB0aGFuIDMyIGJpdHMgdG8gdGhlIGZ1bGwgd2lkdGggb2YgdGhl IHJlZ2lzdGVyOyBidXQgd2hlbiBoYW5kbGluZworCSAgICAgY2FsbHMgdG8gbm9uLXNlY3VyZSBz cGFjZSwgd2UgY2Fubm90IHRydXN0IHRoZSBjYWxsZWUgdG8gaGF2ZQorCSAgICAgY29ycmVjdGx5 IGRvbmUgc28uICBTbyBmb3JjaWJseSByZS13aWRlbiB0aGUgcmVzdWx0IGhlcmUuICAqLworCSAg dHJlZSByZXRfdHlwZSA9IFRSRUVfVFlQRSAoZm50eXBlKTsKKwkgIGlmICgoVFJFRV9DT0RFIChy ZXRfdHlwZSkgPT0gSU5URUdFUl9UWVBFCisJICAgICAgfHwgVFJFRV9DT0RFIChyZXRfdHlwZSkg PT0gRU5VTUVSQUxfVFlQRQorCSAgICAgIHx8IFRSRUVfQ09ERSAocmV0X3R5cGUpID09IEJPT0xF QU5fVFlQRSkKKwkgICAgICAmJiBrbm93bl9sdCAoR0VUX01PREVfU0laRSAoVFlQRV9NT0RFIChy ZXRfdHlwZSkpLCA0KSkKKwkgICAgeworCSAgICAgIG1hY2hpbmVfbW9kZSByZXRfbW9kZSA9IFRZ UEVfTU9ERSAocmV0X3R5cGUpOworCSAgICAgIHJ0eCBleHRlbmQ7CisJICAgICAgaWYgKFRZUEVf VU5TSUdORUQgKHJldF90eXBlKSkKKwkJZXh0ZW5kID0gZ2VuX3J0eF9aRVJPX0VYVEVORCAoU0lt b2RlLAorCQkJCQkgICAgICBnZW5fcnR4X1JFRyAocmV0X21vZGUsIFIwX1JFR05VTSkpOworCSAg ICAgIGVsc2UKKwkJZXh0ZW5kID0gZ2VuX3J0eF9TSUdOX0VYVEVORCAoU0ltb2RlLAorCQkJCQkg ICAgICBnZW5fcnR4X1JFRyAocmV0X21vZGUsIFIwX1JFR05VTSkpOworCSAgICAgIGVtaXRfaW5z bl9hZnRlciAoZ2VuX3J0eF9TRVQgKGdlbl9ydHhfUkVHIChTSW1vZGUsIFIwX1JFR05VTSksCisJ CQkJCSAgICAgZXh0ZW5kKSwgaW5zbik7CisKKwkgICAgfQorCisKIAkgIGlmIChUQVJHRVRfSEFW RV9GUENYVF9DTVNFKQogCSAgICB7CiAJICAgICAgcnR4X2luc24gKmxhc3QsICpwb3BfaW5zbiwg KmFmdGVyID0gaW5zbjsKQEAgLTIzNjUyLDYgKzIzNjc2LDUxIEBAIGFybV9leHBhbmRfcHJvbG9n dWUgKHZvaWQpCiAKICAgaXBfcnR4ID0gZ2VuX3J0eF9SRUcgKFNJbW9kZSwgSVBfUkVHTlVNKTsK IAorICAvKiBUaGUgQUFQQ1MgcmVxdWlyZXMgdGhlIGNhbGxlZSB0byB3aWRlbiBpbnRlZ3JhbCB0 eXBlcyBuYXJyb3dlcgorICAgICB0aGFuIDMyIGJpdHMgdG8gdGhlIGZ1bGwgd2lkdGggb2YgdGhl IHJlZ2lzdGVyOyBidXQgd2hlbiBoYW5kbGluZworICAgICBjYWxscyB0byBub24tc2VjdXJlIHNw YWNlLCB3ZSBjYW5ub3QgdHJ1c3QgdGhlIGNhbGxlZSB0byBoYXZlCisgICAgIGNvcnJlY3RseSBk b25lIHNvLiAgU28gZm9yY2libHkgcmUtd2lkZW4gdGhlIHJlc3VsdCBoZXJlLiAgKi8KKyAgaWYg KElTX0NNU0VfRU5UUlkgKGZ1bmNfdHlwZSkpCisgICAgeworICAgICAgZnVuY3Rpb25fYXJnc19p dGVyYXRvciBhcmdzX2l0ZXI7CisgICAgICBDVU1VTEFUSVZFX0FSR1MgYXJnc19zb19mYXJfdjsK KyAgICAgIGN1bXVsYXRpdmVfYXJnc190IGFyZ3Nfc29fZmFyOworICAgICAgYm9vbCBmaXJzdF9w YXJhbSA9IHRydWU7CisgICAgICB0cmVlIGFyZ190eXBlOworICAgICAgdHJlZSBmbmRlY2wgPSBj dXJyZW50X2Z1bmN0aW9uX2RlY2w7CisgICAgICB0cmVlIGZudHlwZSA9IFRSRUVfVFlQRSAoZm5k ZWNsKTsKKyAgICAgIGFybV9pbml0X2N1bXVsYXRpdmVfYXJncyAoJmFyZ3Nfc29fZmFyX3YsIGZu dHlwZSwgTlVMTF9SVFgsIGZuZGVjbCk7CisgICAgICBhcmdzX3NvX2ZhciA9IHBhY2tfY3VtdWxh dGl2ZV9hcmdzICgmYXJnc19zb19mYXJfdik7CisgICAgICBGT1JFQUNIX0ZVTkNUSU9OX0FSR1Mg KGZudHlwZSwgYXJnX3R5cGUsIGFyZ3NfaXRlcikKKwl7CisJICBydHggYXJnX3J0eDsKKworCSAg aWYgKFZPSURfVFlQRV9QIChhcmdfdHlwZSkpCisJICAgIGJyZWFrOworCisJICBmdW5jdGlvbl9h cmdfaW5mbyBhcmcgKGFyZ190eXBlLCAvKm5hbWVkPSovdHJ1ZSk7CisJICBpZiAoIWZpcnN0X3Bh cmFtKQorCSAgICAvKiBXZSBzaG91bGQgYWR2YW5jZSBhZnRlciBwcm9jZXNzaW5nIHRoZSBhcmd1 bWVudCBhbmQgcGFzcworCSAgICAgICB0aGUgYXJndW1lbnQgd2UncmUgYWR2YW5jaW5nIHBhc3Qu ICAqLworCSAgICBhcm1fZnVuY3Rpb25fYXJnX2FkdmFuY2UgKGFyZ3Nfc29fZmFyLCBhcmcpOwor CSAgZmlyc3RfcGFyYW0gPSBmYWxzZTsKKwkgIGFyZ19ydHggPSBhcm1fZnVuY3Rpb25fYXJnIChh cmdzX3NvX2ZhciwgYXJnKTsKKwkgIGdjY19hc3NlcnQgKFJFR19QIChhcmdfcnR4KSk7CisJICBp ZiAoKFRSRUVfQ09ERSAoYXJnX3R5cGUpID09IElOVEVHRVJfVFlQRQorCSAgICAgIHx8IFRSRUVf Q09ERSAoYXJnX3R5cGUpID09IEVOVU1FUkFMX1RZUEUKKwkgICAgICB8fCBUUkVFX0NPREUgKGFy Z190eXBlKSA9PSBCT09MRUFOX1RZUEUpCisJICAgICAgJiYga25vd25fbHQgKEdFVF9NT0RFX1NJ WkUgKEdFVF9NT0RFIChhcmdfcnR4KSksIDQpKQorCSAgICB7CisJICAgICAgaWYgKFRZUEVfVU5T SUdORUQgKGFyZ190eXBlKSkKKwkJZW1pdF9zZXRfaW5zbiAoZ2VuX3J0eF9SRUcgKFNJbW9kZSwg UkVHTk8gKGFyZ19ydHgpKSwKKwkJCSAgICAgICBnZW5fcnR4X1pFUk9fRVhURU5EIChTSW1vZGUs IGFyZ19ydHgpKTsKKwkgICAgICBlbHNlCisJCWVtaXRfc2V0X2luc24gKGdlbl9ydHhfUkVHIChT SW1vZGUsIFJFR05PIChhcmdfcnR4KSksCisJCQkgICAgICAgZ2VuX3J0eF9TSUdOX0VYVEVORCAo U0ltb2RlLCBhcmdfcnR4KSk7CisJICAgIH0KKwl9CisgICAgfQorCiAgIGlmIChJU19TVEFDS0FM SUdOIChmdW5jX3R5cGUpKQogICAgIHsKICAgICAgIHJ0eCByMCwgcjE7CmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvYXJtL2Ntc2UvZXh0ZW5kLXBhcmFtLmMgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvYXJtL2Ntc2UvZXh0ZW5kLXBhcmFtLmMKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFm YWM3ODYyMzg1Zjg3MWYzZWNjMjQ2ZWRlOTVlZWExODBiZTAyNQotLS0gL2Rldi9udWxsCisrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9hcm0vY21zZS9leHRlbmQtcGFyYW0uYwpAQCAtMCww ICsxLDk2IEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1vcHRpb25zICItbWNt c2UiIH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiAi IiB9IH0gKi8KKworI2luY2x1ZGUgPGFybV9jbXNlLmg+CisjaW5jbHVkZSA8c3RkYm9vbC5oPgor CisjZGVmaW5lIEFSUkFZX1NJWkUgKDI1NikKK2NoYXIgYXJyYXlbQVJSQVlfU0laRV07CisKK2Vu dW0gb2Zmc2V0Cit7CisgICAgemVybyA9IDAsCisgICAgb25lID0gMSwKKyAgICB0d28gPSAyCit9 OworCisvKgorKipfX2FjbGVfc2VfdW5zaWduU2VjdXJlRnVuYzoKKyoqCS4uLgorKioJdXh0Ygly MCwgcjAKKyoqCS4uLgorKi8KK19fYXR0cmlidXRlX18oKGNtc2Vfbm9uc2VjdXJlX2VudHJ5KSkg Y2hhciB1bnNpZ25TZWN1cmVGdW5jICh1bnNpZ25lZCBjaGFyIGluZGV4KSB7CisgICAgaWYgKGlu ZGV4ID49IEFSUkFZX1NJWkUpCisgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gYXJyYXlbaW5k ZXhdOworfQorCisvKgorKipfX2FjbGVfc2Vfc2lnblNlY3VyZUZ1bmM6CisqKgkuLi4KKyoqCXN4 dGIJcjAsIHIwCisqKgkuLi4KKyovCitfX2F0dHJpYnV0ZV9fKChjbXNlX25vbnNlY3VyZV9lbnRy eSkpIGNoYXIgc2lnblNlY3VyZUZ1bmMgKHNpZ25lZCBjaGFyIGluZGV4KSB7CisgICAgaWYgKGlu ZGV4ID49IEFSUkFZX1NJWkUpCisgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gYXJyYXlbaW5k ZXhdOworfQorCisvKgorKipfX2FjbGVfc2Vfc2hvcnRVbnNpZ25TZWN1cmVGdW5jOgorKioJLi4u CisqKgl1eHRoCXIwLCByMAorKioJLi4uCisqLworX19hdHRyaWJ1dGVfXygoY21zZV9ub25zZWN1 cmVfZW50cnkpKSBjaGFyIHNob3J0VW5zaWduU2VjdXJlRnVuYyAodW5zaWduZWQgc2hvcnQgaW5k ZXgpIHsKKyAgICBpZiAoaW5kZXggPj0gQVJSQVlfU0laRSkKKyAgICAgIHJldHVybiAwOworICAg IHJldHVybiBhcnJheVtpbmRleF07Cit9CisKKy8qCisqKl9fYWNsZV9zZV9zaG9ydFNpZ25TZWN1 cmVGdW5jOgorKioJLi4uCisqKglzeHRoCXIwLCByMAorKioJLi4uCisqLworX19hdHRyaWJ1dGVf XygoY21zZV9ub25zZWN1cmVfZW50cnkpKSBjaGFyIHNob3J0U2lnblNlY3VyZUZ1bmMgKHNpZ25l ZCBzaG9ydCBpbmRleCkgeworICAgIGlmIChpbmRleCA+PSBBUlJBWV9TSVpFKQorICAgICAgcmV0 dXJuIDA7CisgICAgcmV0dXJuIGFycmF5W2luZGV4XTsKK30KKworLyoKKyoqX19hY2xlX3NlX2Vu dW1TZWN1cmVGdW5jOgorKioJLi4uCisqKgl1eHRiCXIwLCByMAorKioJLi4uCisqLworX19hdHRy aWJ1dGVfXygoY21zZV9ub25zZWN1cmVfZW50cnkpKSBjaGFyIGVudW1TZWN1cmVGdW5jIChlbnVt IG9mZnNldCBpbmRleCkgeworCisgIC8vIENvbXBpbGVyIG1heSBvcHRpbWl6ZSBhd2F5IGJvdW5k cyBjaGVjayBhcyB2YWx1ZSBpcyBhbiB1bnNpZ25lZCBjaGFyLgorCisgIC8vIEFjY29yZGluZyB0 byBBQVBDUyBjYWxsZXIgd2lsbCB6ZXJvIGV4dGVuZCB0byBlbnN1cmUgdmFsdWUgaXMgPCAyNTYu CisKKyAgaWYgKGluZGV4ID49IEFSUkFZX1NJWkUpCisgICAgcmV0dXJuIDA7CisgIHJldHVybiBh cnJheVtpbmRleF07CisKK30KKworLyoKKyoqX19hY2xlX3NlX2Jvb2xTZWN1cmVGdW5jOgorKioJ Li4uCisqKgl1eHRiCXIwLCByMAorKioJLi4uCisqLworX19hdHRyaWJ1dGVfXygoY21zZV9ub25z ZWN1cmVfZW50cnkpKSBjaGFyIGJvb2xTZWN1cmVGdW5jIChib29sIGluZGV4KSB7CisKKyAgaWYg KGluZGV4ID49IEFSUkFZX1NJWkUpCisgICAgcmV0dXJuIDA7CisgIHJldHVybiBhcnJheVtpbmRl eF07CisKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvYXJtL2Ntc2UvZXh0ZW5kLXJldHVybi5jIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L2FybS9jbXNlL2V4dGVuZC1yZXR1cm4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZjczMWVk MzNkZjdlNmRjMTAxMzIwYzE5NzAwMTZmMDFiMTRjNTlhCi0tLSAvZGV2L251bGwKKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L2FybS9jbXNlL2V4dGVuZC1yZXR1cm4uYwpAQCAtMCwwICsx LDkyIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1vcHRpb25zICItbWNtc2Ui IH0gKi8KKy8qIHsgZGctZmluYWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiAiIiB9 IH0gKi8KKworI2luY2x1ZGUgPGFybV9jbXNlLmg+CisjaW5jbHVkZSA8c3RkYm9vbC5oPgorCitl bnVtIG9mZnNldAoreworICAgIHplcm8gPSAwLAorICAgIG9uZSA9IDEsCisgICAgdHdvID0gMgor fTsKKwordHlwZWRlZiB1bnNpZ25lZCBjaGFyIF9fYXR0cmlidXRlX18gKChjbXNlX25vbnNlY3Vy ZV9jYWxsKSkgbnNfdW5zaWduX2Zvb190ICh2b2lkKTsKK3R5cGVkZWYgc2lnbmVkIGNoYXIgX19h dHRyaWJ1dGVfXyAoKGNtc2Vfbm9uc2VjdXJlX2NhbGwpKSBuc19zaWduX2Zvb190ICh2b2lkKTsK K3R5cGVkZWYgdW5zaWduZWQgc2hvcnQgX19hdHRyaWJ1dGVfXyAoKGNtc2Vfbm9uc2VjdXJlX2Nh bGwpKSBuc19zaG9ydF91bnNpZ25fZm9vX3QgKHZvaWQpOwordHlwZWRlZiBzaWduZWQgc2hvcnQg X19hdHRyaWJ1dGVfXyAoKGNtc2Vfbm9uc2VjdXJlX2NhbGwpKSBuc19zaG9ydF9zaWduX2Zvb190 ICh2b2lkKTsKK3R5cGVkZWYgZW51bSBvZmZzZXQgX19hdHRyaWJ1dGVfXyAoKGNtc2Vfbm9uc2Vj dXJlX2NhbGwpKSBuc19lbnVtX2Zvb190ICh2b2lkKTsKK3R5cGVkZWYgYm9vbCBfX2F0dHJpYnV0 ZV9fICgoY21zZV9ub25zZWN1cmVfY2FsbCkpIG5zX2Jvb2xfZm9vX3QgKHZvaWQpOworCisvKgor Kip1bnNpZ25Ob25zZWN1cmUwOgorKioJLi4uCisqKglibAlfX2dudV9jbXNlX25vbnNlY3VyZV9j YWxsCisqKgl1eHRiCXIwLCByMAorKioJLi4uCisqLwordW5zaWduZWQgY2hhciB1bnNpZ25Ob25z ZWN1cmUwIChuc191bnNpZ25fZm9vX3QgKiBuc19mb29fcCkKK3sKKyAgcmV0dXJuIG5zX2Zvb19w ICgpOworfQorCisvKgorKipzaWduTm9uc2VjdXJlMDoKKyoqCS4uLgorKioJYmwJX19nbnVfY21z ZV9ub25zZWN1cmVfY2FsbAorKioJc3h0YglyMCwgcjAKKyoqCS4uLgorKi8KK3NpZ25lZCBjaGFy IHNpZ25Ob25zZWN1cmUwIChuc19zaWduX2Zvb190ICogbnNfZm9vX3ApCit7CisgIHJldHVybiBu c19mb29fcCAoKTsKK30KKworLyoKKyoqc2hvcnRVbnNpZ25Ob25zZWN1cmUwOgorKioJLi4uCisq KglibAlfX2dudV9jbXNlX25vbnNlY3VyZV9jYWxsCisqKgl1eHRoCXIwLCByMAorKioJLi4uCisq LwordW5zaWduZWQgc2hvcnQgc2hvcnRVbnNpZ25Ob25zZWN1cmUwIChuc19zaG9ydF91bnNpZ25f Zm9vX3QgKiBuc19mb29fcCkKK3sKKyAgcmV0dXJuIG5zX2Zvb19wICgpOworfQorCisvKgorKipz aG9ydFNpZ25Ob25zZWN1cmUwOgorKioJLi4uCisqKglibAlfX2dudV9jbXNlX25vbnNlY3VyZV9j YWxsCisqKglzeHRoCXIwLCByMAorKioJLi4uCisqLworc2lnbmVkIHNob3J0IHNob3J0U2lnbk5v bnNlY3VyZTAgKG5zX3Nob3J0X3NpZ25fZm9vX3QgKiBuc19mb29fcCkKK3sKKyAgcmV0dXJuIG5z X2Zvb19wICgpOworfQorCisvKgorKiplbnVtTm9uc2VjdXJlMDoKKyoqCS4uLgorKioJYmwJX19n bnVfY21zZV9ub25zZWN1cmVfY2FsbAorKioJdXh0YglyMCwgcjAKKyoqCS4uLgorKi8KK3Vuc2ln bmVkIGNoYXIgX19hdHRyaWJ1dGVfXygobm9pcGEpKSBlbnVtTm9uc2VjdXJlMCAobnNfZW51bV9m b29fdCAqIG5zX2Zvb19wKQoreworICByZXR1cm4gbnNfZm9vX3AgKCk7Cit9CisKKy8qCisqKmJv b2xOb25zZWN1cmUwOgorKioJLi4uCisqKglibAlfX2dudV9jbXNlX25vbnNlY3VyZV9jYWxsCisq Kgl1eHRiCXIwLCByMAorKioJLi4uCisqLwordW5zaWduZWQgY2hhciBib29sTm9uc2VjdXJlMCAo bnNfYm9vbF9mb29fdCAqIG5zX2Zvb19wKQoreworICByZXR1cm4gbnNfZm9vX3AgKCk7Cit9Clwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo= --------------w0vMV0jheL9AvaeWK0sPsoC8--