The patch titled Subject: kfence: replace local_clock() with ktime_get_boot_fast_ns() has been added to the -mm mm-unstable branch. Its filename is kfence-replace-local_clock-with-ktime_get_boot_fast_ns.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/kfence-replace-local_clock-with-ktime_get_boot_fast_ns.patch This patch will later appear in the mm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Juntong Deng <juntong.deng@xxxxxxxxxxx> Subject: kfence: replace local_clock() with ktime_get_boot_fast_ns() Date: Wed, 22 Nov 2023 20:00:26 +0000 The time obtained by local_clock() is the local CPU time, which may drift between CPUs and is not suitable for comparison across CPUs. It is possible for allocation and free to occur on different CPUs, and using local_clock() to record timestamps may cause confusion. ktime_get_boot_fast_ns() is based on clock sources and can be used reliably and accurately for comparison across CPUs. Link: https://lkml.kernel.org/r/VI1P193MB0752A2F21C050D701945B62799BAA@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Juntong Deng <juntong.deng@xxxxxxxxxxx> Cc: Alexander Potapenko <glider@xxxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Cc: Marco Elver <elver@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/kfence/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/mm/kfence/core.c~kfence-replace-local_clock-with-ktime_get_boot_fast_ns +++ a/mm/kfence/core.c @@ -295,7 +295,7 @@ metadata_update_state(struct kfence_meta track->num_stack_entries = num_stack_entries; track->pid = task_pid_nr(current); track->cpu = raw_smp_processor_id(); - track->ts_nsec = local_clock(); /* Same source as printk timestamps. */ + track->ts_nsec = ktime_get_boot_fast_ns(); /* * Pairs with READ_ONCE() in _ Patches currently in -mm which might be from juntong.deng@xxxxxxxxxxx are kasan-improve-free-meta-storage-in-generic-kasan.patch kfence-replace-local_clock-with-ktime_get_boot_fast_ns.patch