Bug 2304143
| Summary: | systemtap-5.1-2.fc40 (and fc39) do not work with Linux 6.10 kernels | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | William Cohen <wcohen> |
| Component: | systemtap | Assignee: | Frank Ch. Eigler <fche> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 40 | CC: | amerey, fche, mcermak, mjw, scox, wcohen |
| Target Milestone: | --- | Flags: | wcohen:
mirror+
|
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | systemtap-5.2~pre17250223gd07e4284-1.fc39 systemtap-5.2~pre17250223gd07e4284-1.fc40 systemtap-5.2~pre17250223gd07e4284-1.fc41 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2024-09-06 03:52:57 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
A dummy message to check that mirroring is working. FEDORA-2024-e33854a64b (systemtap-5.2~pre17250223gd07e4284-1.fc41) has been submitted as an update to Fedora 41. https://bodhi.fedoraproject.org/updates/FEDORA-2024-e33854a64b FEDORA-2024-b4e453e470 (systemtap-5.2~pre17250223gd07e4284-1.fc40) has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2024-b4e453e470 FEDORA-2024-053e9322ab (systemtap-5.2~pre17250223gd07e4284-1.fc39) has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2024-053e9322ab FEDORA-2024-b4e453e470 has been pushed to the Fedora 40 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-b4e453e470` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-b4e453e470 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. FEDORA-2024-053e9322ab has been pushed to the Fedora 39 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-053e9322ab` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-053e9322ab See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. FEDORA-2024-e33854a64b has been pushed to the Fedora 41 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-e33854a64b` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-e33854a64b See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. Verified with kernel-6.10.6-100.fc39 and systemtap-5.2~pre17250223gd07e4284-1.fc39 . Verified also with kernel-6.10.6-200.fc40 and systemtap-5.2~pre17250223gd07e4284-1.fc40 . FEDORA-2024-053e9322ab (systemtap-5.2~pre17250223gd07e4284-1.fc39) has been pushed to the Fedora 39 stable repository. If problem still persists, please make note of it in this bug report. FEDORA-2024-b4e453e470 (systemtap-5.2~pre17250223gd07e4284-1.fc40) has been pushed to the Fedora 40 stable repository. If problem still persists, please make note of it in this bug report. FEDORA-2024-e33854a64b (systemtap-5.2~pre17250223gd07e4284-1.fc41) has been pushed to the Fedora 41 stable repository. If problem still persists, please make note of it in this bug report. |
Changes in the linux 6.10 naming of function task_work_cancel to task_work_cancel_func causes systemtap to fail to compile kernel instrumentation. Upstream systemtap git commit a64dc4e2e0195ca80c6509df511a42459b40e9af addresses this issue. Reproducible: Always Steps to Reproduce: 1. sudo dnf install "systemtap*" 2. sudo stap-prep 3. sudo stap --example helloworld.stp Actual Results: In file included from ./include/linux/percpu.h:5, from ./arch/x86/include/asm/msr.h:15, from ./arch/x86/include/asm/tsc.h:10, from ./arch/x86/include/asm/timex.h:6, from ./include/linux/timex.h:67, from ./include/linux/time32.h:13, from ./include/linux/time.h:60, from ./include/linux/jiffies.h:10, from ./include/linux/ktime.h:25, from ./include/linux/timer.h:6, from ./include/linux/workqueue.h:9, from ./include/linux/srcu.h:21, from ./include/linux/notifier.h:16, from ./arch/x86/include/asm/uprobes.h:13, from ./include/linux/uprobes.h:49, from ./include/linux/mm_types.h:16, from ./include/linux/mmzone.h:22, from ./include/linux/gfp.h:7, from /usr/share/systemtap/runtime/linux/runtime_defines.h:1, from /usr/share/systemtap/runtime/runtime_defines.h:8, from /tmp/stap7o0rhr/stap_8c8240a849cea0022e6eb29b6c42bdec_1028_src.c:12: ./include/linux/alloc_tag.h:212:2: error: expected identifier or ‘(’ before ‘{’ token 212 | ({ \ | ^ ./include/linux/vmalloc.h:147:33: note: in expansion of macro ‘alloc_hooks’ 147 | #define vzalloc(...) alloc_hooks(vzalloc_noprof(__VA_ARGS__)) | ^~~~~~~~~~~ /usr/share/systemtap/runtime/linux/alloc.c:408:14: note: in expansion of macro ‘vzalloc’ 408 | static void *vzalloc(unsigned long size) | ^~~~~~~ ./include/linux/alloc_tag.h:212:2: error: expected identifier or ‘(’ before ‘{’ token 212 | ({ \ | ^ ./include/linux/vmalloc.h:153:33: note: in expansion of macro ‘alloc_hooks’ 153 | #define vmalloc_node(...) alloc_hooks(vmalloc_node_noprof(__VA_ARGS__)) | ^~~~~~~~~~~ /usr/share/systemtap/runtime/linux/alloc.c:443:14: note: in expansion of macro ‘vmalloc_node’ 443 | static void *vmalloc_node(unsigned long size, int node __attribute__((unused))) | ^~~~~~~~~~~~ ./include/linux/alloc_tag.h:212:2: error: expected identifier or ‘(’ before ‘{’ token 212 | ({ \ | ^ ./include/linux/vmalloc.h:156:33: note: in expansion of macro ‘alloc_hooks’ 156 | #define vzalloc_node(...) alloc_hooks(vzalloc_node_noprof(__VA_ARGS__)) | ^~~~~~~~~~~ /usr/share/systemtap/runtime/linux/alloc.c:450:14: note: in expansion of macro ‘vzalloc_node’ 450 | static void *vzalloc_node(unsigned long size, int node) | ^~~~~~~~~~~~ In file included from /usr/share/systemtap/runtime/runtime.h:26, from /tmp/stap7o0rhr/stap_8c8240a849cea0022e6eb29b6c42bdec_1028_src.c:21: /usr/share/systemtap/runtime/stp_task_work.c: In function ‘stp_task_work_cancel’: /usr/share/systemtap/runtime/stp_task_work.c:13:123: error: passing argument 2 of ‘(bool (*)(struct task_struct *, struct callback_head *))kallsyms_task_work_cancel’ from incompatible pointer type [-Wincompatible-pointer-types] 13 | k_head *, (* (task_work_cancel_fn)kallsyms_task_work_cancel)((a), (b))) | ^~~ | | | task_work_func_t {aka void (*)(struct callback_head *)} /usr/share/systemtap/runtime/linux/runtime.h:317:21: note: in definition of macro ‘ibt_wrapper’ 317 | rettype retval = (function); \ | ^~~~~~~~ /usr/share/systemtap/runtime/stp_task_work.c:107:17: note: in expansion of macro ‘task_work_cancel’ 107 | twork = task_work_cancel(task, func); | ^~~~~~~~~~~~~~~~ /usr/share/systemtap/runtime/stp_task_work.c:13:123: note: expected ‘struct callback_head *’ but argument is of type ‘task_work_func_t’ {aka ‘void (*)(struct callback_head *)’} 13 | k_head *, (* (task_work_cancel_fn)kallsyms_task_work_cancel)((a), (b))) | ^~~ /usr/share/systemtap/runtime/linux/runtime.h:317:21: note: in definition of macro ‘ibt_wrapper’ 317 | rettype retval = (function); \ | ^~~~~~~~ /usr/share/systemtap/runtime/stp_task_work.c:107:17: note: in expansion of macro ‘task_work_cancel’ 107 | twork = task_work_cancel(task, func); | ^~~~~~~~~~~~~~~~ /usr/share/systemtap/runtime/linux/runtime.h:317:20: error: incompatible types when initializing type ‘struct callback_head *’ using type ‘bool’ {aka ‘_Bool’} 317 | rettype retval = (function); \ | ^ /usr/share/systemtap/runtime/stp_task_work.c:13:31: note: in expansion of macro ‘ibt_wrapper’ 13 | #define task_work_cancel(a,b) ibt_wrapper(struct callback_head *, (* (task_work_cancel_fn)kallsyms_task_work_cancel)((a), (b))) | ^~~~~~~~~~~ /usr/share/systemtap/runtime/stp_task_work.c:107:17: note: in expansion of macro ‘task_work_cancel’ 107 | twork = task_work_cancel(task, func); | ^~~~~~~~~~~~~~~~ In file included from /usr/share/systemtap/runtime/linux/runtime.h:207: /usr/share/systemtap/runtime/transport/relay_v2.c: In function ‘__stp_relay_wakeup_timer’: /usr/share/systemtap/runtime/linux/debug.h:47:36: error: suggest braces around empty body in an ‘else’ statement [-Werror=empty-body] 47 | #define dbug_trans(level, args...) ; | ^ /usr/share/systemtap/runtime/transport/relay_v2.c:195:17: note: in expansion of macro ‘dbug_trans’ 195 | dbug_trans(0, "relay_v2 wakeup timer expiry\n"); | ^~~~~~~~~~ /usr/share/systemtap/runtime/transport/symbols.c: In function ‘_stp_set_stext’: /usr/share/systemtap/runtime/linux/debug.h:103:34: error: suggest braces around empty body in an ‘else’ statement [-Werror=empty-body] 103 | #define dbug_sym(level, args...) ; | ^ /usr/share/systemtap/runtime/transport/symbols.c:44:17: note: in expansion of macro ‘dbug_sym’ 44 | dbug_sym(1, "found kernel _stext load address: 0x%lx\n", | ^~~~~~~~ /tmp/stap7o0rhr/stap_8c8240a849cea0022e6eb29b6c42bdec_1028_src.c: At top level: /tmp/stap7o0rhr/stap_8c8240a849cea0022e6eb29b6c42bdec_1028_src.c:105:1: error: ‘static’ is not at beginning of declaration [-Werror=old-style-declaration] 105 | } static stap_probes[]; | ^ cc1: all warnings being treated as errors make[1]: *** [scripts/Makefile.build:244: /tmp/stap7o0rhr/stap_8c8240a849cea0022e6eb29b6c42bdec_1028_src.o] Error 1 make: *** [Makefile:1946: /tmp/stap7o0rhr] Error 2 WARNING: kbuild exited with status: 2 Pass 4: compilation failed. [man error::pass4] Kernel version 6.10.3 is outside tested range 2.6.32 ... 6.9-rc0 Expected Results: $ sudo stap --example helloworld.stp hello world The current upstream systemtap git repo works with the f40 (and f39) 6.10 kernels. $ sudo ../install/bin/stap --example helloworld.stp hello world