From nobody Tue Sep 29 09:08:37 2026 Received: from ZRZP278CU001.outbound.protection.outlook.com (mail-switzerlandnorthazon11021122.outbound.protection.outlook.com [40.107.167.122]) (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 14A543515D3 for ; Mon, 10 Aug 2026 07:23:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.167.122 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786346610; cv=fail; b=tV5Q2BSZJgJEz/chc9LC06Q7KP2CUSZhXY6Ly16NykvSeK5dFJyf90IqWZylDf537ATF7Athwts69Zme4OniKtoRBXDu5qtgbvcFvXTqULVdOqRwHoXO4akioBjueHU+5DsYPA7xaTLz/t7sL4SpaQkYoeeRSEMkSFy+JTjMMHI= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786346610; c=relaxed/simple; bh=FO1JrEnfFIpMhuIW7zm/qFCzZCWtY1THTql8kEWHU/c=; h=From:To:Cc:Subject:Date:Message-ID:Content-Type:MIME-Version; b=gTBup3kwyecSPTYLA2clF+mALp2oDPmxskegGhls0eSPlVWsui1fuNKjQTeY94dJCPTZaz5dJI08rEKw1NmRXDvOO7M2AHiRXjcrCIHuf1XW23Rs4FHclj3TOxtMTbagJLobB84Dnuxln55MRXQdES5yMyy+kue9kLnOfYQWbRw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ethz.ch; spf=pass smtp.mailfrom=student.ethz.ch; dkim=pass (2048-bit key) header.d=ethz.ch header.i=@ethz.ch header.b=irWphXKI; arc=fail smtp.client-ip=40.107.167.122 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ethz.ch Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=student.ethz.ch Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ethz.ch header.i=@ethz.ch header.b="irWphXKI" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VOd3KGvKsYaIga4qLA+ylR2ms06V8s6yHVYnO6fxvwYwtLzEd0IQHFYl6g3ujIIp50NfuSDcA/QTxebEEsHn+HwGEwuoLYMjHAcT44vhISR0uT1nTEiSqM7j0yofcC54xJ90PjKgW07DF2RYV/hK1VR1MdoFxTKqiHb0IZ5Aub5mpr95gwtuLKMT2x/DBv45djeeuE8Yy1N72j0yNk0s5aS0zevzU0MH/MKFWV9vsVVlhfIui+DbtwAyN/ImwZuYLuvILqHJaH3XmK8IuV2kzvvXL36+47T3VlsNwJtKV8NC5PsPdLEo4enbYAvZ3Z2QUnIh12tGifAmVYPvf4pssQ== 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=997EWhN83TXvBRZKC1/KQX9+x2Pg4+b4mslKzDXX1GE=; b=WhlrKBQrun95YILGZinPE11EiX1YRwaPb1hkwGbyrRDoaTu9vAS/hS/xGPA9F6wuI9WcHs5pp2sjfNEXGaz17inxDBqcvnFg0Ih+8itD8q7NrfpCniidrpyEaJlOXo+XbYeGO+8BmJYdIAN4L1Y4FIbMmyKwSOStgYGKqjOl237AHm1zhsWzvjw9vTgAu4kEqc7VtLjl5Pr9htfmGvPO3CFc5GhaIDKaFvOFZxj3ZBRTg2/RIxoVz+/FKhAT2k0+jMkslx8qgqCLqCQxuqfmPTl2BUor0r+3vBl1RhFHkI4PS8zMSMnfXx6P5/0VSGWSQB7tWKZzwKSKH+bSaVc9zQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=student.ethz.ch; dmarc=pass action=none header.from=ethz.ch; dkim=pass header.d=ethz.ch; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ethz.ch; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=997EWhN83TXvBRZKC1/KQX9+x2Pg4+b4mslKzDXX1GE=; b=irWphXKIMpjx6qhczysoxSqWyzpIaNCjS2iZWe0sf6GksXSFgzCG2xRAcBLTtK32YU22R77hE/i6+RTSahwVu8DhLYb7Ohenq0eGtTcpSSZcOineIluG7uTuKkiD221crc43bz7y/T4YCL4yPWCaaZX3dTvjFK4afVHlJ40A0yTZvjzbcCCS3JIvjSCelaa34SBo6ITbB4rNZmVycQsyDlEBdDiAz9JMUL4rb/R2fhxZc5mpdS5PPrlEopfvbVj7xOBWdgacUIET7q03FhJHElt33waTRMxkWMPcOBcnON6jrf3yRsYfPrcznG4RsiK2ncpYQTDlwtFf0ylGsHx4dA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ethz.ch; Received: from ZRAP278MB0079.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:12::11) by ZR5P278MB1943.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:af::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.25; Mon, 10 Aug 2026 07:23:21 +0000 Received: from ZRAP278MB0079.CHEP278.PROD.OUTLOOK.COM ([fe80::9bb9:c29a:8aae:520d]) by ZRAP278MB0079.CHEP278.PROD.OUTLOOK.COM ([fe80::9bb9:c29a:8aae:520d%3]) with mapi id 15.21.0292.024; Mon, 10 Aug 2026 07:23:21 +0000 From: Niels Pressel To: Peter Zijlstra , Mathieu Desnoyers , "Paul E . McKenney" , Boqun Feng Cc: Thomas Gleixner , linux-kernel@vger.kernel.org, Niels Pressel Subject: [PATCH v3] rseq: Fix hard lockup on granted time slice extension Date: Mon, 10 Aug 2026 09:22:19 +0200 Message-ID: <20260810072219.14122-1-npressel@ethz.ch> X-Mailer: git-send-email 2.50.1 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: ZR2P278CA0071.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:52::17) To ZRAP278MB0079.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:12::11) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: ZRAP278MB0079:EE_|ZR5P278MB1943:EE_ X-MS-Office365-Filtering-Correlation-Id: e08d35d0-24d2-498a-f867-08def6b041e3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|366016|1800799024|23010399003|376014|786006|10070799003|10067099003|56012099006|11063799006|18002099003; X-Microsoft-Antispam-Message-Info: nAEVM1BL+5wEuA2CNfw7HcIFHK6Mlr1dFCLWWYqoAxH63tUaS8U9g4hxJEXiT5IF21ME8SusQTU+g7SRxaTocX2KPOd+b0uQWv/WE3PWovQW/+ql030+cn/oswQgAnJG19Hw6B2jGl41nG4xdROzgwflVYApIXHO6VvxReA3e88RVH/4RNBWLJh+Exj9wlmgPgJof7SunY1PFAyu72ujauvuH0jhdojUbWaRGJlFhPJX96z0NXrC0gkrfYOJohPYNC2KKc6hVqnbXwQ2jtNke5/YpbfT6+a/HmTYR28waDPSpZe6qQAUqUlZm2S40liRldTNm38RflFahzJUXSW8igB67Lf6SJP5Z7VOF2ZC12doLS8/NBNSWA7tXw+XPw97Y6kkiUY5SLtBWLggGJgh0R7UtmYD925TAO2TJtK9nejVks/ISHm6HWNxPjadxPN16D0KzLCYn8mORTw3rMY7+f04yCtr5gAypkxBbaAC8euOkFPITkpxWGGI2C/ZHjDu0D1zOsv0PUsDNoBLaEZMM04dIO5pbbQb3xuGDAbiPa5gebXORtVHbsgSb0oE54+aiYHKI+x+590WIPMseGunrdtsNuaajPVBPTDPz8iavaHyoUPrxZq3ViKHWlWzFXBmkC6iiw4LiA6qffuSrsZ2GYiZnGyxkaPWmhy9hprMPrA= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:ZRAP278MB0079.CHEP278.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(366016)(1800799024)(23010399003)(376014)(786006)(10070799003)(10067099003)(56012099006)(11063799006)(18002099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?G2SEDqA1K0EyQsmR1LYGTpVrgRDw445uE3gAixTRmr2CUWTVNwZhVgvppwM5?= =?us-ascii?Q?rYQBKs4UkSkV7rWoF56of88G8Xk65VY7NOJFMrEcb2g2t+tGRWtulWMr7to8?= =?us-ascii?Q?wWKmeKwqaaKbLc5G2dbSxRAR4zO7RYAGaI6w9KaIy4wuVP9IiOjVT9AT+El4?= =?us-ascii?Q?bSuEgR/Rts/2YlWah7qvtkCWmDjGV6oOk3opi3voUZJ7IN6HhB/u6deCbWp5?= =?us-ascii?Q?WOzkVxZLnsuo70Zlaz7fx+hNz1C1lH/ExiMrUOUD6wXmk/hCEZnH5EIB+AKj?= =?us-ascii?Q?RJqxasLXtbM6PvmguIIVmDKigKvl9dGoJHmVAn/TTwSiP0CmuzyizV9jVzx6?= =?us-ascii?Q?qC9UGYZnVUDEhz5G3oEVn49kfVvtVLapRUhGVrAUSTegYyXcjijIJsA0s4VR?= =?us-ascii?Q?V/7U7fc+PF2UQBID7oPwoW5Vx9ccd7blklu/gNQlUcf2mp0vubHoWZg2tkc7?= =?us-ascii?Q?l9lxyUuQHHb1iLLGm0meHGJwE15RL3KbhcNcAlmD0oVtk9oiqjNkPhf5GHk2?= =?us-ascii?Q?uZENAPB3Vs1bSlQEwD6XmG5WPA4y6+PX2z08H4+BK/icvaZDxMD2GvpnIMER?= =?us-ascii?Q?3zi4hYWnWwEJbddHXZ51kUEZNOJZSCxtUT/54+EdTkFguhDs/6Z3Hj5HL1I/?= =?us-ascii?Q?NqWVU6dFK/pmdC8oiS5ScGLtQW+pWJzb0Fmd05rsysaLmNRBcKlZsda3C2NS?= =?us-ascii?Q?LeAidtLVr4hKndc3UcuwBMp+q0F4CvSGPD3Nsqq2RdOzhi/9j0/49emVQpTS?= =?us-ascii?Q?7YKi9yyTA+tG3mUeqcWjzS6pQNgJWbCFQxFf70/xBRd2Wk1vQfmhBUPvfEyT?= =?us-ascii?Q?D0YYejfkvgUdGspy4ORtcX7aNVwzHLMAS+UsvaHJ577DJ9HGhlPr+n7cgWga?= =?us-ascii?Q?540IjvLcfbjBqAP2w3MN/kvg6E6l6agfFKOd5U1hF/meUguhd3lPPJM8Zm0j?= =?us-ascii?Q?6/jC7cGXjJvHwlrrVdrgnrsM+jAEfrPEQjpu5Nn5+TKv5RrhW5IhnPds0a3a?= =?us-ascii?Q?WeCp1pjyPKMgQUUKc3FuwM2PFYASiiHoDaRAVBxJ5QCHJXVjuYPruZSRH/Jr?= =?us-ascii?Q?kVoM3yZbSbIvQNdn9CetfENygViW7lYFrvtsEDy5RaRjsJYL1eVhOqNsQxWU?= =?us-ascii?Q?e1dC6xebYyWgf9iVKTx6g2gp++3n1vmqV4UoR3+LrWt6ydYlWAF8qkFQ0zeg?= =?us-ascii?Q?2F1EeG74ndTVGeVZeHIGNWFZSkQYGOC3lXLyKZcC5ml+LvkgJrHaDLD3xvn6?= =?us-ascii?Q?tCGDKAdpadRurQJmNNly4BiCDveBVGiy1KcKSFDv1kS2PsDJsS69orHjeMfI?= =?us-ascii?Q?SZWTeZwKzv8ZRhg1opCFhZnq19aelmYHgQnZstLvobYZWXQurpH+FNtqF8Se?= =?us-ascii?Q?S4TeoGapO70Q7K+Znl448M2YYAo13OkRlOWfTxRBDwmazYK2QitBdH4yyU7J?= =?us-ascii?Q?4Of5/Ib+eFOnbRmRugdjvqeXLtH9TMGy4rq5ELToJh5glEkUeDf8GVKru/Tv?= =?us-ascii?Q?O59ZPpVuOwqwaOEWxCJZeIGklSbt6Z0nCQ51FnnHbSKS2EU7X/2BW9HmJElU?= =?us-ascii?Q?qAuhet2Op5ro2m9fWFpDPZJWlqfGb/Yn4V42NwBDMMqMfvDLIle2xxBVYhre?= =?us-ascii?Q?DKhaa8bGGwnikElclKBjROdQtdi5+6d4cCdWL0C5jmz3rzc+RCWG7zLsa6gq?= =?us-ascii?Q?jH+1ffZXPApgmTAtj3XiygKzwnZW5fOMlDoucccHMKQTfpUAdxklzNkPRs3F?= =?us-ascii?Q?fPHzm7y4nU8vEFkHEQhJch0L1FMD8ew=3D?= X-OriginatorOrg: ethz.ch X-MS-Exchange-CrossTenant-Network-Message-Id: e08d35d0-24d2-498a-f867-08def6b041e3 X-MS-Exchange-CrossTenant-AuthSource: ZRAP278MB0079.CHEP278.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Aug 2026 07:23:21.5906 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 9634a6ec-a266-45a3-ab14-74c4211fc582 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: qrHMhKifOkfWe2VEpQTLGKrd71GLE1AOJhvLH78Zo4x/Bx5wSX+hq6qfoHnrydmP48PAluO9VBWDPqp6WHTmDw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: ZR5P278MB1943 Content-Type: text/plain; charset="utf-8" In __exit_to_user_mode_loop(), rseq time slice extension (TSE) eligibility is checked while interrupts are enabled. Granting a TSE might involve rearming the hrtimers. However, hrtimer_rearm_deferred_tif() is expected to be called with interrupts disabled. Calling the function with IRQs enabled can lead to a hard lockup because __hrtimer_rearm_deferred() acquires a raw spinlock (without disabling IRQs) that is also acquired in hard IRQ context within hrtimer_run_queues(). Lockdep flags the issue when running the rseq selftests on the 7.2-rc5 release: WARNING: ./include/linux/hrtimer_rearm.h:17 at irqentry_exit, CPU#1: sl= ice_test Originally, the issue was discovered because of intermittent lockups when heavily using rseq TSEs. Fix this potential lockup by disabling IRQs before rearming the hrtimer when a TSE is granted. Fixes: 15dd3a948855 ("hrtimer: Push reprogramming timers into the interrupt= return path") Signed-off-by: Niels Pressel --- Changes in v3: - Revert to the v1 approach of disabling IRQs around the timer rearm because of issues in v2 pointed out by Thomas Gleixner - Rebased on v7.2-rc7 - Link to v2: https://lore.kernel.org/all/20260806113429.38333-1-npressel@e= thz.ch/ Changes in v2: - Move to enabling IRQS in __exit_to_user_mode_loop() after the rseq=20 TSE check - Remove IRQ disable in __rseq_grant_slice_extension() - Rebased on core/entry - Link to v1: https://lore.kernel.org/all/20260802124423.51616-1-npressel@e= thz.ch/ include/linux/rseq_entry.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/linux/rseq_entry.h b/include/linux/rseq_entry.h index ed9da6e41a2a..31ce349ed42c 100644 --- a/include/linux/rseq_entry.h +++ b/include/linux/rseq_entry.h @@ -233,6 +233,7 @@ static __always_inline bool __rseq_grant_slice_extensio= n(bool work_pending) static __always_inline bool rseq_grant_slice_extension(unsigned long ti_wo= rk, unsigned long mask) { if (unlikely(__rseq_grant_slice_extension(ti_work & mask))) { + guard(irq)(); hrtimer_rearm_deferred_tif(ti_work); return true; } base-commit: db2ddb87143519e20a95aa36c60b36107b736a58 --=20 2.50.1 (Apple Git-155)