[Bug translator/33978] New: Systemtap not compatible with kernel-7.0.0-0.rc2.21.fc45

mcermak at redhat dot com sourceware-bugzilla@sourceware.org
Wed Mar 11 13:41:09 GMT 2026


https://sourceware.org/bugzilla/show_bug.cgi?id=33978

            Bug ID: 33978
           Summary: Systemtap not compatible with
                    kernel-7.0.0-0.rc2.21.fc45
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: translator
          Assignee: systemtap at sourceware dot org
          Reporter: mcermak at redhat dot com
  Target Milestone: ---

Fresh systemtap (commit f3f673dcabac8d18d3bebd19764ecbbab1ded6fe is not
compatible with kernel-7.0.0-0.rc2.21.fc45).  After applying patches pr33975
and pr33976 that are hitting a compile time failure with GCC-16, we'get the
following run time problem:

[ ... stuff deleted ... ]
f45 x86_64 # stap -ve 'probe syscall.madvise {printdln(" ", advice_str,
execname())}'

Pass 3: translated to C into
"/tmp/stapZHpCVM/stap_e926ac5084c3952d5fab8230d8391952_67824_src.c" using
503832virt/263572res/19820shr/278044data kb, in 0usr/0sys/1real ms.
warning: pahole version differs from the one used to build the kernel
  The kernel was built with: 130         
  You are using:             0                 
In file included from
/usr/local/share/systemtap/runtime/linux/task_finder2.c:4,
                 from
/usr/local/share/systemtap/runtime/linux/task_finder.c:15,
                 from /usr/local/share/systemtap/runtime/linux/runtime.h:347,
                 from /usr/local/share/systemtap/runtime/runtime.h:26,          
                 from stap_e926ac5084c3952d5fab8230d8391952_67824_src.c:21:
/usr/local/share/systemtap/runtime/stp_utrace.c:318:17: error:
‘__lock_task_sighand’ undeclared here (not in a function); did you mean
‘unlock_task_sighand’?
  318 | typedef typeof(&__lock_task_sighand) __lock_task_sighand_fn;
      |                 ^~~~~~~~~~~~~~~~~~~                                     
      |                 unlock_task_sighand   
/usr/local/share/systemtap/runtime/stp_utrace.c: In function
‘stp_lock_task_sighand’:
/usr/local/share/systemtap/runtime/stp_utrace.c:319:72: error: invalid type
argument of unary ‘*’ (have ‘int’)
  319 | #define __lock_task_sighand(a,b) ibt_wrapper(struct sighand_struct *,
(* (__lock_task_sighand_fn)kallsyms___lock_task_sighand)((a), (b)))
      |                                                                       
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/share/systemtap/runtime/linux/runtime.h:317:21: note: in definition
of macro ‘ibt_wrapper’
  317 |   rettype retval = (function);                  \
      |                     ^~~~~~~~
/usr/local/share/systemtap/runtime/stp_utrace.c:332:15: note: in expansion of
macro ‘__lock_task_sighand’
  332 |         ret = __lock_task_sighand(tsk, flags);
      |               ^~~~~~~~~~~~~~~~~~~
/usr/local/share/systemtap/runtime/stp_utrace.c:333:15: error: implicit
declaration of function ‘__cond_lock’; did you mean ‘__folio_lock’?
[-Wimplicit-function-declaration]
  333 |         (void)__cond_lock(&tsk->sighand->siglock, ret);
      |               ^~~~~~~~~~~
      |               __folio_lock
make[2]: ***
[/usr/src/kernels/7.0.0-0.rc2.21.fc45.x86_64/scripts/Makefile.build:289:
stap_e926ac5084c3952d5fab8230d8391952_67824_src.o] Error 1
make[1]: *** [/usr/src/kernels/7.0.0-0.rc2.21.fc45.x86_64/Makefile:2137: .]
Error 2
make: *** [Makefile:248: __sub-make] Error 2
WARNING: kbuild exited with status: 2


I think this problem happens because of the following kernel commit:


$ git show e4588c25c9d122b5847b88e18b184404b6959160
commit e4588c25c9d122b5847b88e18b184404b6959160
Author: Marco Elver <elver@google.com>
Date:   Fri Dec 19 16:40:13 2025 +0100

    compiler-context-analysis: Remove __cond_lock() function-like helper

    As discussed in [1], removing __cond_lock() will improve the readability
    of trylock code. Now that Sparse context tracking support has been
    removed, we can also remove __cond_lock().

    Change existing APIs to either drop __cond_lock() completely, or make
    use of the __cond_acquires() function attribute instead.

    In particular, spinlock and rwlock implementations required switching
    over to inline helpers rather than statement-expressions for their
    trylock_* variants.

    Suggested-by: Peter Zijlstra <peterz@infradead.org>
    Signed-off-by: Marco Elver <elver@google.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link:
https://lore.kernel.org/all/20250207082832.GU7145@noisy.programming.kicks-ass.net/
[1]
    Link: https://patch.msgid.link/20251219154418.3592607-25-elver@google.com

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Systemtap mailing list