From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (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 0858A37AA97; Tue, 14 Jul 2026 15:01:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784041302; cv=none; b=FVQr15pk27MEwZiYXdva42VPDjSg3ecYBME5PnHr/Ki3L6zDfQXlEEkI8mQMack0Pu82UKxodOWgTUu3tPsfWNB/pAGSpZBtICPgxciWQ6G+9wpiQFdvuH6P6PNi2PQWVhFPs4mqWxnOmORS4Vifvpx+u6Rd0Iq0O2+1rOeVk68= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784041302; c=relaxed/simple; bh=Oi3lZ0L0cgU65fdrE+pkFHOn3/5UM7Rkt0zipgjWdhg=; h=Date:From:To:Subject:Cc:In-Reply-To:References:MIME-Version: Message-ID:Content-Type; b=lC3gVOBwWcpa1vxHxxZu6PDpSaBJbr9JldBXyeC8CghHxyWhgVUAUh5D5+mQ2R8d2iIIvOkz/x0xxFXb+WBQ5qMBuFoAlLX3gmI6iTArTaQy84BloV68Fts7GDzufOcRouQp1K9OEVqXyWWR/DyGxzixVMNOgkEJSlbt5xRquC0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=NHMXHaM3; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=auRh8kVM; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="NHMXHaM3"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="auRh8kVM" Date: Tue, 14 Jul 2026 15:01:37 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1784041299; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6OOkHNh+0j77RoDdP9GUeDSViblPDMuF+AV7pbxImts=; b=NHMXHaM35TcmcGxqEK5TWH2jHVtJEFjehvhyMFG4ERXt+YIhJruSJU67GhzQqp9umfd68H bIDbM9D2oCbcLu9e1CRySeMrH6Sxw61WCjKfYcBXl5ktzNxGymGX//xed8Xn8rg8xVii91 O1pugeyAHQK+/VjXVsa/0qTG2Rtkj3bVan6AQx0rxwsOeVl9YANwewtuLZVMiCBboXjnic HzdEkYkNW0Wyp/U9oP1U9/7NUtb/3PlMscfjvX3LHwj5KgAfUyNv1x5fYE8Kfo1RLnWQVd E50Cj/d1t87mwga0qFB+mTSdDRHpW6Zzw81KwpFC+Ap8U8N2FZLD3WYmDogvug== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1784041299; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=6OOkHNh+0j77RoDdP9GUeDSViblPDMuF+AV7pbxImts=; b=auRh8kVMBgKK5jIs/E47Q++QoDZQqkV7VXh4NFeoE356PFkl4IXWbwE5axUUAjmaRZjAtq 06vwgfKABp6CuuDA== From: "tip-bot2 for Thomas Gleixner" Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: core/entry] entry: Make return type of syscall_trace_enter() bool Cc: Thomas Gleixner , msuchanek@suse.de, Jinjie Ruan , x86@kernel.org, linux-kernel@vger.kernel.org In-Reply-To: <20260712141346.699072205@kernel.org> References: <20260712141346.699072205@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-ID: <178404129777.1844600.9809449207414013239.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails Precedence: bulk Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable The following commit has been merged into the core/entry branch of tip: Commit-ID: 47076976df1709e8b672ed93066057c9d5331d80 Gitweb: https://git.kernel.org/tip/47076976df1709e8b672ed93066057c9d53= 31d80 Author: Thomas Gleixner AuthorDate: Sun, 12 Jul 2026 23:25:27 +02:00 Committer: Thomas Gleixner CommitterDate: Tue, 14 Jul 2026 16:57:16 +02:00 entry: Make return type of syscall_trace_enter() bool This prepares for changing the return types of syscall_enter_from_user_mode[_work]() to bool, which in turn separates the decision of invoking the syscall from the syscall number, which might have been changed in the call by ptrace, seccomp, tracing. Signed-off-by: Thomas Gleixner Tested-by: Michal Such=C3=A1nek Reviewed-by: Jinjie Ruan Link: https://patch.msgid.link/20260712141346.699072205@kernel.org --- include/linux/entry-common.h | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/include/linux/entry-common.h b/include/linux/entry-common.h index 38d1484..df221d9 100644 --- a/include/linux/entry-common.h +++ b/include/linux/entry-common.h @@ -72,7 +72,7 @@ static __always_inline long syscall_trace_enter(struct pt_r= egs *regs, unsigned l */ if (work & SYSCALL_WORK_SYSCALL_USER_DISPATCH) { if (syscall_user_dispatch(regs)) - return -1L; + return false; } =20 /* @@ -87,7 +87,7 @@ static __always_inline long syscall_trace_enter(struct pt_r= egs *regs, unsigned l if (work & (SYSCALL_WORK_SYSCALL_TRACE | SYSCALL_WORK_SYSCALL_EMU)) { if (!arch_ptrace_report_syscall_permit_entry(regs) || (work & SYSCALL_WORK_SYSCALL_EMU)) - return -1L; + return false; =20 /* ptrace might have changed work flags */ work =3D READ_ONCE(current_thread_info()->syscall_work); @@ -96,7 +96,7 @@ static __always_inline long syscall_trace_enter(struct pt_r= egs *regs, unsigned l /* Do seccomp after ptrace, to catch any tracer changes. */ if (work & SYSCALL_WORK_SECCOMP) { if (!__seccomp_permit_syscall()) - return -1L; + return false; } =20 if (unlikely(work & SYSCALL_WORK_SYSCALL_TRACEPOINT)) @@ -105,8 +105,7 @@ static __always_inline long syscall_trace_enter(struct pt= _regs *regs, unsigned l if (unlikely(audit_context())) syscall_enter_audit(regs); =20 - /* Either of the above might have changed the syscall number */ - return syscall_get_nr(current, regs); + return true; } =20 /** @@ -136,8 +135,13 @@ static __always_inline long syscall_enter_from_user_mode= _work(struct pt_regs *re { unsigned long work =3D READ_ONCE(current_thread_info()->syscall_work); =20 - if (work & SYSCALL_WORK_ENTER) - syscall =3D syscall_trace_enter(regs, work, syscall); + if (work & SYSCALL_WORK_ENTER) { + if (!syscall_trace_enter(regs, work, syscall)) + return -1L; + + /* Reread the syscall number as it might have been modified */ + syscall =3D syscall_get_nr(current, regs); + } =20 return syscall; }