Re: [tip:timers/cleanups 5/10] kernel/time/timer_list.c:49:77: error: too few arguments provided to function-like macro invocation

From: Nam Cao
Date: Fri Apr 04 2025 - 13:34:01 EST


On Sat, Apr 05, 2025 at 01:04:04AM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/cleanups
> head: 5c4da3a96bf484f965057c281f1ef48ac46987bc
> commit: 9453228aa82f20c07670d22c3d54f1be6c4244b4 [5/10] hrtimers: Make callback function pointer private
...
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@xxxxxxxxx>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202504050045.fyyfMGEQ-lkp@xxxxxxxxx/
>
> All errors (new ones prefixed by >>):
>
> >> kernel/time/timer_list.c:49:77: error: too few arguments provided to function-like macro invocation
> 49 | SEQ_printf(m, " #%d: <%p>, %ps", idx, taddr, ACCESS_PRIVATE(timer->function));
> | ^
> include/linux/compiler_types.h:78:10: note: macro 'ACCESS_PRIVATE' defined here
> 78 | # define ACCESS_PRIVATE(p, member) ((p)->member)
> | ^
> >> kernel/time/timer_list.c:49:47: error: use of undeclared identifier 'ACCESS_PRIVATE'
> 49 | SEQ_printf(m, " #%d: <%p>, %ps", idx, taddr, ACCESS_PRIVATE(timer->function));
> | ^
> 2 errors generated.

Not sure how did this even get pass by build-test..

Patch below cures it. Thomas, can you stuff it into tip tree, or what do
you prefer?

Best regards,
Nam

diff --git a/kernel/time/timer_list.c b/kernel/time/timer_list.c
index 51fa7ae5e2dd..b03d0ada6469 100644
--- a/kernel/time/timer_list.c
+++ b/kernel/time/timer_list.c
@@ -46,7 +46,7 @@ static void
print_timer(struct seq_file *m, struct hrtimer *taddr, struct hrtimer *timer,
int idx, u64 now)
{
- SEQ_printf(m, " #%d: <%p>, %ps", idx, taddr, ACCESS_PRIVATE(timer->function));
+ SEQ_printf(m, " #%d: <%p>, %ps", idx, taddr, ACCESS_PRIVATE(timer, function));
SEQ_printf(m, ", S:%02x", timer->state);
SEQ_printf(m, "\n");
SEQ_printf(m, " # expires at %Lu-%Lu nsecs [in %Ld to %Ld nsecs]\n",