From nobody Fri Apr 17 01:39:56 2026 Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazon11012018.outbound.protection.outlook.com [52.101.43.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C3FFB39E182 for ; Tue, 24 Feb 2026 13:55:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.43.18 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771941349; cv=fail; b=pz00G/ioYRL4p15DC0JZdBdvlnkJcl+16HlFhLNAZxB9Ka8IIJUdvvvyX2jRorlLjpu5Qn7MRbDFQ30Xs16moGcnrrLijvTOq/r7kpArssIoYTau3wk3BZ+h5fmjn8aoQucNBAN9fE8CVIvdlbGn1l3FvhzQZNvMA4v1R/+GYDo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771941349; c=relaxed/simple; bh=22ypx7uiJZXZ0mOKezYWLuXTp0CsChMrVUkhnomjFf4=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=dRTZudI1TiLZHZKiQWpS+RMrSZmi5fUurGzwCLTwO0etNU2kMR90uKJvB+2dgDMyqqM+qbrH3ow10MNeCm5TAEoHDX8lFC1KrFoIaKwZbYYTknHIjKc8OA6Hs1O0DpPmkxcP1PnKDVkVDhcTFvMO1JKZFhes9Y1rcY0guvjFFa4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=j4J+/y6Q; arc=fail smtp.client-ip=52.101.43.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="j4J+/y6Q" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ot/xcpnGSUdtbt1s1tnjNF6zZVB5RJZfdJ1EXsL846SF07dE48b5S6J6q8wGXw5EOFQVQ4sl+qFM4isvWM5dLvyNUAKcPc6O+1Vx0YVsx1+Kg+zQwTx2xfrrIv2F//EvjxdUMTT8pDryTqMUPx/h5LbFpbtmiEbf8Ik/k0mLwg0rXuCq8lVgOA8D44LiI7Gk22dI8LsaaYL+XCdfhmTSMLCNSnhaMzl1pPRm5YqpUBmcE+AodwE55H2hc5wA/SHkLYPAOLplBfBAEEaRmU8VFenBrjXny2giMeVho519+jGeX3FjictIEpaQWNheieJkZfrx4bKhjYSWAUjCMFhD3g== 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=wH2hOh7xofRBH6dlM/3LSCW277p7AMEVPjJEzivrfa4=; b=vonzfbzmY8avSY5nPOriwzHUe1WmEWxjundn2XvSFI2gYXrdHezFlaf2u7o6R3MF/CghkbEr11y+GYLElnClS405qXfMdNlTJUyVe1ofk0pw3gFPM1C9NftUQ1LGtE6d8tODZlOz9t7IInp90cbFSNrSsU/tDtanESj05tBw0fKSXqVJY0gcsmk/RvfOOp6rFrGZEAkOgcH7UhyvSatvRlvl65ldP2qhwql8pt4jWITirS+r6lh3RcdzCm1kin9O4WrkbUNi3lEDgCMKnVtjjDWxfplVhVPF777lQhqPXxpsDR3S/BMszDP3iETydxdbutVWNAZR5Je2i/yFNRPozg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=arm.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) 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=wH2hOh7xofRBH6dlM/3LSCW277p7AMEVPjJEzivrfa4=; b=j4J+/y6Q/rQjV2q9pRl5Pt/8UM1o4A0hQywg6cbGySeg3G2/tcLOdYUV57XyNMoEr4Wzw165uXeTCUxKRTJnpvKoW62qmz9rCDqlRwueKSbNP+XsBswkwUIqox1DPc0KvzilpRBUZZP05+9ELxhKn2DVu0qBaYYAbWEUoBSKbGzVpFFhaILNtp1iFHMvJ05QuqLkWu2NXfLl8HTpWi+WIBZzOiLkpziWKa5xk8x1SPAEqQ7woOQXs2R/o6DUMBG0TfobK/pvhU0bFNtboQp0HCvYviaSQOsiWT1odPijBw96gILVE1XOwHCrGGAo2hjTFO6csGQGyM19yJU3pOxbMQ== Received: from BL0PR02CA0128.namprd02.prod.outlook.com (2603:10b6:208:35::33) by CH3PR12MB9172.namprd12.prod.outlook.com (2603:10b6:610:198::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.22; Tue, 24 Feb 2026 13:55:43 +0000 Received: from MN1PEPF0000F0E2.namprd04.prod.outlook.com (2603:10b6:208:35:cafe::bb) by BL0PR02CA0128.outlook.office365.com (2603:10b6:208:35::33) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.22 via Frontend Transport; Tue, 24 Feb 2026 13:55:45 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by MN1PEPF0000F0E2.mail.protection.outlook.com (10.167.242.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.12 via Frontend Transport; Tue, 24 Feb 2026 13:55:43 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 24 Feb 2026 05:55:19 -0800 Received: from 82875d6-lcedt.nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20; Tue, 24 Feb 2026 05:55:18 -0800 From: Nirmoy Das To: Catalin Marinas , Will Deacon CC: , , Nirmoy Das Subject: [RFC PATCH] arm64: signal: preserve si_addr for addresses in the VA hole Date: Tue, 24 Feb 2026 05:55:03 -0800 Message-ID: <20260224135503.3329100-1-nirmoyd@nvidia.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: rnnvmail203.nvidia.com (10.129.68.9) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0E2:EE_|CH3PR12MB9172:EE_ X-MS-Office365-Filtering-Correlation-Id: 876d5e3d-0c0a-4015-571d-08de73ac6706 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|82310400026|36860700013|1800799024|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?tYfeBiuZhsVYJ/pR0QTD7uQnLDrK9oRnPJZQdj9vWj8muVIFFWZyAGb12b4K?= =?us-ascii?Q?rteBRFHIlE5GB576Vojvydh7PtAFfWla2abJVGd1RFkEvB6CwyZ0CcmX/X5W?= =?us-ascii?Q?ZMrC0NM573S38eH+kb6N4YkysMz2m8/o02NVutBaJDTUbS+a8l3Y0GjMNeSh?= =?us-ascii?Q?jh9vly89EDEd0jKEF3df8HaIrdH8DetGYMzFQDNGf4IAydNCA4Il2pcyJrrc?= =?us-ascii?Q?0h0xhnNiYQJZdOzdyybwcwYjtawiQr/+jgc7G6cYfeOGxbh5dc3qqZStZxW3?= =?us-ascii?Q?ne5EuVVkd4rP4VYybAPfwXEgjGNu0Q5FaGlrjPP3pgwvhH9PGmKAylZVYyP+?= =?us-ascii?Q?lvYJZ+TiOPlr/OFic+5AH0u6Ig5p1h3uK0v+3t7z19AtOOg3z9UAEuUS+AQV?= =?us-ascii?Q?Nk0ZYDPWZLwyjH+K/621Gi1ItPPQLhk56DWR9mnTzKKVABy0PW+8uquT8eGa?= =?us-ascii?Q?9zOkiZG5FupB51HBl2SGZxURZNSqidsAss87S/C2ZVcTrhpIsgFTR+c04ZTY?= =?us-ascii?Q?R1MaUjQIUArMwDeaPNDVJ4C4pE4frYdK7VU/p3xABwiGhZas8y9nhm79kphb?= =?us-ascii?Q?EAJbZuq2RMDkWHd29WxXwx+oWwXi1ouYbN+5+cg6gzXYytDWmh7L+7A47mOC?= =?us-ascii?Q?UJfVPAFc/nlja+uSrltqjJ0SFsK/MNGmaNK1JfW/CnuEWBapDFhkPUPUqXcJ?= =?us-ascii?Q?7ZY1AbGej2cTWX6hR3pB4XeJpKBTdKiFeys55eTPUNiykhzHNa4h0RcTkU+M?= =?us-ascii?Q?EkhKByna/UoixVEJycLmjQz/WwPfIj/9m18kOnDaET+2Ccp/hmuXMsogqBPl?= =?us-ascii?Q?aScFxImfJsoCvs2OFqPrmvZnDlrC0v1f//X3x8ecrI01j5i5ES4i/V0f1JOM?= =?us-ascii?Q?yPUqoWSITR9i5Cx1RU5GxZ9ytUQj2LYvm8V0FmF/FKgtk9L63N+KGTvKB8DS?= =?us-ascii?Q?E5QvdH59Yr8WzewPMKLlpaDQ7RHpljEoozYi2pnTmJ6Ot3kioAK+YAKB256B?= =?us-ascii?Q?gkCYZvsHphO0URdUuXIcab2fL8heOjM8EujA377BVsvBgJFpe3bcDRj2cwxi?= =?us-ascii?Q?lcJTSMJg8cXpB2yEWofOWlADFVTXwHe7bHx3nS6EmQjV3cb/317k2jI9hywq?= =?us-ascii?Q?Xw4FkKZQ2GFpycFoDsKPRFiir8BRzY91x6f6+352oLtEaDPzMw/Y/tnAQs4Y?= =?us-ascii?Q?c1pI68w10D5QpDjd6K7bOZII+xH3hi5eOIAzwX7mkTPSeWU2xvDyu2Ka3t2p?= =?us-ascii?Q?wUI+o/+yHQ6ZlSHo/8tl1gqfoMksN30g7d2YRmYAFdytNYwR0R1qJW9YHSl2?= =?us-ascii?Q?9av/eX0TsU40vrQRK/X22IHBAgBSJTHXDq4Fn0DSxn4qZUBDYXaZrdzF8ODb?= =?us-ascii?Q?lNAs+3mZrxUsMkT+tcP+vySJLIDJ3SBp97R+DHrQfJIkHui09C8oLVJ34YYH?= =?us-ascii?Q?vn5kgTVKY9D78PiUJ2unf/KstR+fhHmctirwT/VT5tQfmWNl8+U0/I7aHdnU?= =?us-ascii?Q?pukofrCKO38yCbIw5h379kzpJdtqloCqy9KZQ6kQW3WRFbqcC862xBp8IvfC?= =?us-ascii?Q?gvUWta+IIw3UMqqfdrrsSGqhrJTqXBsgyLYFa/sFGnASecVLMZ4pw+tVk0mK?= =?us-ascii?Q?Idlv1mBExDasuRGyxJWfgXXUbp7+sxQ8zl/5Y13hx9Q1Eehq9ydGthq4t6x4?= =?us-ascii?Q?UToCoA=3D=3D?= X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230040)(376014)(82310400026)(36860700013)(1800799024)(13003099007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: l7CE2qRwOknJbZ8OB7k/EeLFa1BBIpImLm44aztXt0RNSoRhLZnKsP747QRhKuStZ/ncn6g9fZpTW74ARuFpQQv2iNFotLhVH/IfWN7UOpX8PgTY/3PhzdkCIrQ73FwPqfrlOwmke2Xjt/CxSx/m3Vg4cP2HuTc+E1BqdE8g+OLFyNblOaPJfyuS3gaAPsWuhCuvSTl8EG15x/ZhVI7wmIHVuqTG7w0qMQylxiqrfCyvR0Lb0S1FAIifyNpEc5RD1Z2QQUHMFej5auZY/6Xx0arXAIO7WqmgY2nEnMhk4/ezH8Rq0mU++LcFVlpIKAsqq0rDQX8w17w6bPOCP0gqNPptz5vhfXeU+cPWtvCC7Ly5Ilh5gUoEto2KE3UZ4N6c0UybLP+9BPrC0E/rljkadVjVGW/ImoIDxthwq96MwzbYCmZQ82arq1i0WCdaKGfD X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Feb 2026 13:55:43.1354 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 876d5e3d-0c0a-4015-571d-08de73ac6706 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: MN1PEPF0000F0E2.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9172 Content-Type: text/plain; charset="utf-8" When userspace accesses an address in the "hole" between user and kernel virtual address space, the kernel delivers SIGSEGV with si_addr set to the faulting address. However, untagged_addr() uses sign_extend64() to canonicalize the address which corrupts hole addresses making debugging difficult as userspace cannot see the actual faulting value. Fix this by only stripping the TBI top-byte for addresses that fall within the valid user range (below TASK_SIZE) after masking. For hole addresses, preserve the full original address including any tag bits. Closes: https://bugzilla.kernel.org/show_bug.cgi?id=3D220750 Signed-off-by: Nirmoy Das --- arch/arm64/include/asm/signal.h | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/arch/arm64/include/asm/signal.h b/arch/arm64/include/asm/signa= l.h index ef449f5f4ba8..ca7ff6e5cd2f 100644 --- a/arch/arm64/include/asm/signal.h +++ b/arch/arm64/include/asm/signal.h @@ -3,6 +3,7 @@ #define __ARM64_ASM_SIGNAL_H =20 #include +#include #include #include =20 @@ -10,6 +11,8 @@ static inline void __user *arch_untagged_si_addr(void __u= ser *addr, unsigned long sig, unsigned long si_code) { + unsigned long masked; + /* * For historical reasons, all bits of the fault address are exposed as * address bits for watchpoint exceptions. New architectures should @@ -18,7 +21,16 @@ static inline void __user *arch_untagged_si_addr(void __= user *addr, if (sig =3D=3D SIGTRAP && si_code =3D=3D TRAP_BRKPT) return addr; =20 - return untagged_addr(addr); + /* + * Strip tag bits only for valid user addresses. For addresses + * in the VA hole, preserve the original value so userspace can + * see the actual faulting address for debugging. + */ + masked =3D (unsigned long)addr & ((1UL << 56) - 1); + if (masked >=3D TASK_SIZE) + return addr; + + return (void __user *)masked; } #define arch_untagged_si_addr arch_untagged_si_addr =20 --=20 2.43.0