From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C179F3B8BBB for ; Wed, 24 Jun 2026 14:53:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782312827; cv=none; b=g2TEzCstq8F1TkGjQ6zRDkK4NcAow/axYs19po+rAfYGbdNRIZx+AqiT/X4crleMt7PDfTC6ZRfEuKXj2Z62HvBOF1esCP181kewwBNeqEjNn/cOCkVv6Czaxo+Ey+FIMs2juD818yN6g6hB/Z86ob6WCkPYft90QQii6j6uu/k= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782312827; c=relaxed/simple; bh=VKjN0gNxqpZoqnuGUfnm3VobutF020Ybxl/mWwfDqos=; h=Message-ID:Date:MIME-Version:Subject:To:References:From:Cc: In-Reply-To:Content-Type; b=GatoVtQRKdy0jqhNwKjfcCOqdtgEAiz3xZKTSZs+pcuCgmTJCKGobXC17/vnjuaqQr+9hnEtUViyiWNOyGn9yRRyA7Dc/JELZDXVJYhQk9NtbF+iI+SXDD5+BUa/KdOmCOsHDhDxs80K9mpH6Ci//b2a+1K0WPY8JH5v7pmO31w= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b=Znz1thJ9; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.b="Znz1thJ9" Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5AD212938; Wed, 24 Jun 2026 07:53:40 -0700 (PDT) Received: from [10.2.213.11] (e137867.arm.com [10.2.213.11]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0F3A23F62B; Wed, 24 Jun 2026 07:53:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1782312824; bh=VKjN0gNxqpZoqnuGUfnm3VobutF020Ybxl/mWwfDqos=; h=Date:Subject:To:References:From:Cc:In-Reply-To:From; b=Znz1thJ9AMZxOoNBNzNYFWGyPt1LN3PHgw4womnrdqXUodZcEjyh/os+kuSLRJ+D/ +i45x5YAytdO/kY1WT5oHWd7F5efPW/mp5DlMajJpA7hnM1NMmcur+mIXfGPG4Arpd SXkMhyVcZBoVKK8aRtuWQywLofMrG1a3qzV0541o= Message-ID: <073a55f2-54ff-4770-8457-bef164261a87@arm.com> Date: Wed, 24 Jun 2026 15:53:39 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v15 08/11] arm64/ptrace: Define and use _TIF_SYSCALL_EXIT_WORK To: Jinjie Ruan References: <20260511092103.1974980-1-ruanjinjie@huawei.com> <20260511092103.1974980-9-ruanjinjie@huawei.com> From: Ada Couprie Diaz Cc: Ada Couprie Diaz , catalin.marinas@arm.com, will@kernel.org, oleg@redhat.com, tglx@kernel.org, peterz@infradead.org, luto@kernel.org, kees@kernel.org, wad@chromium.org, mark.rutland@arm.com, yeoreum.yun@arm.com, linusw@kernel.org, kevin.brodsky@arm.com, ldv@strace.io, thuth@redhat.com, james.morse@arm.com, song@kernel.org, anshuman.khandual@arm.com, broonie@kernel.org, ryan.roberts@arm.com, pengcan@kylinos.cn, liqiang01@kylinos.cn, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Content-Language: en-US, en-GB, fr Organization: Arm Ltd. In-Reply-To: <20260511092103.1974980-9-ruanjinjie@huawei.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 11/05/2026 10:21, Jinjie Ruan wrote: > Introduce _TIF_SYSCALL_EXIT_WORK to filter out entry-only flags > during the syscall exit path. This aligns arm64 with the generic > entry framework's SYSCALL_WORK_EXIT semantics. > > [Rationale] > The current syscall exit path uses _TIF_SYSCALL_WORK to decide whether > to invoke syscall_exit_work(). However, _TIF_SYSCALL_WORK includes > flags that are only relevant during syscall entry: > > 1. _TIF_SECCOMP: Seccomp filtering (__secure_computing) only runs > on entry. There is no seccomp callback for syscall exit. > > 2. _TIF_SYSCALL_EMU: In PTRACE_SYSEMU mode, the syscall is > intercepted and skipped on entry. Since the syscall is never > executed, reporting a syscall exit stop is unnecessary. > > [Changes] > - Define _TIF_SYSCALL_EXIT_WORK: A new mask containing only flags > requiring exit processing: _TIF_SYSCALL_TRACE, _TIF_SYSCALL_AUDIT, > and _TIF_SYSCALL_TRACEPOINT. > > - Update exit path: Use _TIF_SYSCALL_EXIT_WORK in > syscall_exit_to_user_mode_work() to avoid redundant calls to > audit and ptrace reporting when only entry-flags are set. > > - Cleanup: Remove the has_syscall_work() helper as it is no longer > needed. Direct flag comparison is now used to distinguish between > entry and exit work requirements. > > [Impact] > audit_syscall_exit() and report_syscall_exit() will no longer be > triggered for seccomp-only or emu-only syscalls. This matches the > generic entry behavior and improves efficiency by skipping unnecessary > exit processing. > > Cc: Mark Rutland > Cc: Will Deacon > Cc: Catalin Marinas > Reviewed-by: Linus Walleij > Reviewed-by: Yeoreum Yun > Signed-off-by: Jinjie Ruan > --- Reviewed-by: Ada Couprie Diaz Definitely not related to this series, but it feels like this brings us quite close to being able to switch to generic TIF flags as well : only TIF_FOREIGN_PSTATE and TIF_MTE_ASYNC_FAULT would need to be moved to the upper 16 bits, with TIF_RESTORE_SIGMASK and TIF_MEMDIE freeing two slots there. Not sure how important the bit number changes would be and if any of the extra generic bits require any arch support (TIF_POLLING_NRFLAG, TIF_USER_RETURN_NOTIFY, TIF_RSEQ, TIF_HRTIMER_REARM)... But again, just thinking out loud ! Thanks, Ada