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 661CB3EA968 for ; Mon, 29 Jun 2026 15:05:21 +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=1782745523; cv=none; b=lts0rTl2gY9DXaTHewPldXMYVk/quqxOgVJZeRHpT6f7qqFbX1Uz4gAH2lpJfhoBPp1i+x7m1qdksGUzSygFdZoOleDY3S3N3r9qrUhVnQE+HKiHWPw46NZVC/eBqlSrnPIKlQSXbm03yAlLO6Ku4O+8TG1wdPSqfsV8CllAXWw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782745523; c=relaxed/simple; bh=g7i7gbZ29g+wCfIF3bFzAqB/Tk8+PHLffqDIOwH/gH8=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Lioi/ABdzX6SPyKCjvOA7zS0bN0dcO48sl0x/SYK1Ko0HjhfjyGxuFHn20obgs+G5NB2jZLBBsQUnwJvoZ5Xzw+WcejyR0i0zBqhUuxa9PdmnM2TVlWVbIWHY9BpYC2qI3rUtA2/vRm5iaBsjJE35J6HBcu/TVrIQyIS3TE9HuM= 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=J24S3iJ1; 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="J24S3iJ1" 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 349E7266C; Mon, 29 Jun 2026 08:05:16 -0700 (PDT) Received: from [10.2.213.21] (unknown [10.2.213.21]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 311743F673; Mon, 29 Jun 2026 08:05:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arm.com; s=foss; t=1782745520; bh=g7i7gbZ29g+wCfIF3bFzAqB/Tk8+PHLffqDIOwH/gH8=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=J24S3iJ1WWJTZsIDd1syQGddMMcQKpOP9AJcvVZB+pTn+jr6wRrvejwjNiO96WzBE dFUfrRJjuIbOhTrQ/t0+0QyIL1XQFoqgSkStgwMsq0Ax+mCumea7StT3pAXS4QE8Vw ipdNNX30hRZS5DQiVK3wyIVY/Dbk00fwXkKQJ5dA= Message-ID: <2260831d-6fa2-421c-8107-d04a60de4058@arm.com> Date: Mon, 29 Jun 2026 16:05:15 +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 Cc: 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, Ada Couprie Diaz References: <20260511092103.1974980-1-ruanjinjie@huawei.com> <20260511092103.1974980-9-ruanjinjie@huawei.com> <073a55f2-54ff-4770-8457-bef164261a87@arm.com> From: Ada Couprie Diaz Content-Language: en-US, en-GB, fr Organization: Arm Ltd. In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 25/06/2026 12:41, Jinjie Ruan wrote: > On 6/24/2026 10:53 PM, Ada Couprie Diaz wrote: >> 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 ! > Hi Ada, > > You have incredible foresight! You are absolutely right that this series > lays the perfect groundwork for switching arm64 to generic TIF flags > (HAVE_GENERIC_TIF_BITS). > > I am happy to share that I have already implemented exactly what you > described—including migrating the architecture-specific flags to the > upper 16 bits and enabling the generic TIF infrastructure—in a separate, > dedicated patch series. > > You can find the implementation and discussion here: > > https://lore.kernel.org/all/20260320104222.1381274-1-ruanjinjie@huawei.com/ > > Since that series directly builds on top of the cleanups and > infrastructure introduced here, I plan to actively push it forward right > after we get this core generic entry conversion landed. > > Thanks again for looking so far ahead and validating the direction! > > Best regards, > Jinjie Hi Jinjie, Oh, neat, I evidently missed this series ; glad you confirmed I was on the right track ! I am looking forward to seeing both those works merged then :) Kind regards, Ada