On Thu, Oct 02, 2025 at 05:12:09PM +0900, Byungchul Park wrote: > dept needs to notice every entrance from user to kernel mode to treat > every kernel context independently when tracking wait-event dependencies. > Roughly, system call and user oriented fault are the cases. > > Make dept aware of the entrances of arm64 and add support > CONFIG_ARCH_HAS_DEPT_SUPPORT to arm64. > > Signed-off-by: Byungchul Park <[email protected]> > --- > arch/arm64/Kconfig | 1 + > arch/arm64/kernel/syscall.c | 7 +++++++ > arch/arm64/mm/fault.c | 7 +++++++ > 3 files changed, 15 insertions(+) > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > index e9bbfacc35a6..a8fab2c052dc 100644 > --- a/arch/arm64/Kconfig > +++ b/arch/arm64/Kconfig > @@ -281,6 +281,7 @@ config ARM64 > select USER_STACKTRACE_SUPPORT > select VDSO_GETRANDOM > select VMAP_STACK > + select ARCH_HAS_DEPT_SUPPORT > help > ARM 64-bit (AArch64) Linux support. > > diff --git a/arch/arm64/kernel/syscall.c b/arch/arm64/kernel/syscall.c > index c442fcec6b9e..bbd306335179 100644 > --- a/arch/arm64/kernel/syscall.c > +++ b/arch/arm64/kernel/syscall.c > @@ -7,6 +7,7 @@ > #include <linux/ptrace.h> > #include <linux/randomize_kstack.h> > #include <linux/syscalls.h> > +#include <linux/dept.h> > > #include <asm/debug-monitors.h> > #include <asm/exception.h> > @@ -96,6 +97,12 @@ static void el0_svc_common(struct pt_regs *regs, int scno, > int sc_nr, > * (Similarly for HVC and SMC elsewhere.) > */ > > + /* > + * This is a system call from user mode. Make dept work with a > + * new kernel mode context. > + */ > + dept_update_cxt();
As Mark Brown pointed out in his replies, this patch is missing a whole bunch of cases and does not work correctly as-is. As Dave Hansen pointed out on the x86 patch, you shouldn't do this piecemeal in architecture code, and should instead work with the existing context tracking, e.g. by adding logic to enter_from_user_mode() and exit_to_user_mode(), or by reusing some existing context tracking logic that's called there. Mark.
