Public bug reported: [ Impact ]
DKMS make.log for scap-0.15.1 for kernel 6.14.0-15-generic (x86_64) Fri May 16 14:34:09 UTC 2025 make: Entering directory '/usr/src/linux-headers-6.14.0-15-generic' make[1]: Entering directory '/var/lib/dkms/scap/0.15.1/build' warning: the compiler differs from the one used to build the kernel The kernel was built by: x86_64-linux-gnu-gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 You are using: gcc-13 (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 [configure-kmod] Including /var/lib/dkms/scap/0.15.1/build//configure/DEVNODE_ARG1_CONST/Makefile.inc /var/lib/dkms/scap/0.15.1/build//configure/CLASS_CREATE_1/Makefile.inc /var/lib/dkms/scap/0.15.1/build//configure/ACCESS_OK_2/Makefile.inc [configure-kmod] Build output for HAS_DEVNODE_ARG1_CONST: [configure-kmod] make: Entering directory '/var/lib/dkms/scap/0.15.1/build/configure/DEVNODE_ARG1_CONST' make -C /var/lib/dkms/scap/0.15.1/build M=/var/lib/dkms/scap/0.15.1/build/configure/DEVNODE_ARG1_CONST modules make[1]: Entering directory '/var/lib/dkms/scap/0.15.1/build' make[1]: *** No rule to make target 'modules'. Stop. make[1]: Leaving directory '/var/lib/dkms/scap/0.15.1/build' make: *** [Makefile:15: all] Error 2 make: Leaving directory '/var/lib/dkms/scap/0.15.1/build/configure/DEVNODE_ARG1_CONST' [configure-kmod] Build output for HAS_CLASS_CREATE_1: [configure-kmod] make: Entering directory '/var/lib/dkms/scap/0.15.1/build/configure/CLASS_CREATE_1' make -C /var/lib/dkms/scap/0.15.1/build M=/var/lib/dkms/scap/0.15.1/build/configure/CLASS_CREATE_1 modules make[1]: Entering directory '/var/lib/dkms/scap/0.15.1/build' make[1]: *** No rule to make target 'modules'. Stop. make[1]: Leaving directory '/var/lib/dkms/scap/0.15.1/build' make: *** [Makefile:15: all] Error 2 make: Leaving directory '/var/lib/dkms/scap/0.15.1/build/configure/CLASS_CREATE_1' [configure-kmod] Build output for HAS_ACCESS_OK_2: [configure-kmod] make: Entering directory '/var/lib/dkms/scap/0.15.1/build/configure/ACCESS_OK_2' make -C /var/lib/dkms/scap/0.15.1/build M=/var/lib/dkms/scap/0.15.1/build/configure/ACCESS_OK_2 modules make[1]: Entering directory '/var/lib/dkms/scap/0.15.1/build' make[1]: *** No rule to make target 'modules'. Stop. make[1]: Leaving directory '/var/lib/dkms/scap/0.15.1/build' make: *** [Makefile:15: all] Error 2 make: Leaving directory '/var/lib/dkms/scap/0.15.1/build/configure/ACCESS_OK_2' CC [M] main.o CC [M] dynamic_params_table.o CC [M] fillers_table.o CC [M] flags_table.o CC [M] ppm_events.o CC [M] ppm_fillers.o CC [M] event_table.o CC [M] syscall_table64.o CC [M] ppm_cputime.o ppm_cputime.c:353:10: warning: no previous prototype for ‘nsec_to_clock_t’ [-Wmissing-prototypes] 353 | uint64_t nsec_to_clock_t(uint64_t x) | ^~~~~~~~~~~~~~~ CC [M] ppm_tp.o main.c:2833:5: warning: no previous prototype for ‘scap_init’ [-Wmissing-prototypes] 2833 | int scap_init(void) | ^~~~~~~~~ In file included from /usr/src/linux-headers-6.14.0-15-generic/include/linux/printk.h:6, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/kernel.h:31, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/cpumask.h:11, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/smp.h:13, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/tracepoint.h:15, from /usr/src/linux-headers-6.14.0-15-generic/include/trace/syscall.h:5, from main.c:14: main.c: In function ‘scap_init’: /usr/src/linux-headers-6.14.0-15-generic/include/linux/init.h:180:22: error: passing argument 1 of ‘class_create’ from incompatible pointer type [-Werror=incompatible-pointer-types] 180 | #define THIS_MODULE (&__this_module) | ~^~~~~~~~~~~~~~~ | | | struct module * main.c:2872:36: note: in expansion of macro ‘THIS_MODULE’ 2872 | g_ppm_class = class_create(THIS_MODULE, DRIVER_DEVICE_NAME); | ^~~~~~~~~~~ In file included from /usr/src/linux-headers-6.14.0-15-generic/include/linux/device.h:31, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/node.h:18, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/cpu.h:17, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/static_call.h:135, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/tracepoint.h:22: /usr/src/linux-headers-6.14.0-15-generic/include/linux/device/class.h:226:54: note: expected ‘const char *’ but argument is of type ‘struct module *’ 226 | struct class * __must_check class_create(const char *name); | ~~~~~~~~~~~~^~~~ main.c:2872:23: error: too many arguments to function ‘class_create’ 2872 | g_ppm_class = class_create(THIS_MODULE, DRIVER_DEVICE_NAME); | ^~~~~~~~~~~~ /usr/src/linux-headers-6.14.0-15-generic/include/linux/device/class.h:226:29: note: declared here 226 | struct class * __must_check class_create(const char *name); | ^~~~~~~~~~~~ main.c:2883:30: error: assignment to ‘char * (*)(const struct device *, umode_t *)’ {aka ‘char * (*)(const struct device *, short unsigned int *)’} from incompatible pointer type ‘char * (*)(struct device *, umode_t *)’ {aka ‘char * (*)(struct device *, short unsigned int *)’} [-Werror=incompatible-pointer-types] 2883 | g_ppm_class->devnode = ppm_devnode; | ^ main.c: At top level: main.c:2996:6: warning: no previous prototype for ‘scap_exit’ [-Wmissing-prototypes] 2996 | void scap_exit(void) | ^~~~~~~~~ CC [M] syscall_ia32_64_map.o ppm_events.c: In function ‘ppm_copy_from_user’: ppm_events.c:94:55: error: macro "access_ok" passed 3 arguments, but takes just 2 94 | if (likely(ppm_access_ok(VERIFY_READ, from, n))) | ^ In file included from /usr/src/linux-headers-6.14.0-15-generic/arch/x86/include/asm/uaccess.h:25, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/uaccess.h:12, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/sched/task.h:13, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/sched/signal.h:9, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/rcuwait.h:6, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/percpu-rwsem.h:7, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/fs.h:33, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/compat.h:17, from ppm_events.c:13: /usr/src/linux-headers-6.14.0-15-generic/include/asm-generic/access_ok.h:45: note: macro "access_ok" defined here 45 | #define access_ok(addr, size) likely(__access_ok(addr, size)) | ppm_fillers.c:509:14: warning: no previous prototype for ‘ppm_get_mm_exe_file’ [-Wmissing-prototypes] 509 | struct file *ppm_get_mm_exe_file(struct mm_struct *mm) | ^~~~~~~~~~~~~~~~~~~ ppm_fillers.c:550:15: warning: no previous prototype for ‘ppm_get_mm_counter’ [-Wmissing-prototypes] 550 | unsigned long ppm_get_mm_counter(struct mm_struct *mm, int member) | ^~~~~~~~~~~~~~~~~~ ppm_fillers.c:728:5: warning: no previous prototype for ‘accumulate_argv_or_env’ [-Wmissing-prototypes] 728 | int accumulate_argv_or_env(const char __user * __user *argv, | ^~~~~~~~~~~~~~~~~~~~~~ ppm_fillers.c:874:6: warning: no previous prototype for ‘ppm_is_upper_layer’ [-Wmissing-prototypes] 874 | bool ppm_is_upper_layer(struct file *exe_file){ | ^~~~~~~~~~~~~~~~~~ In file included from /usr/src/linux-headers-6.14.0-15-generic/include/linux/export.h:5, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/linkage.h:7, from /usr/src/linux-headers-6.14.0-15-generic/arch/x86/include/asm/cache.h:5, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/cache.h:6, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/time.h:5, from /usr/src/linux-headers-6.14.0-15-generic/include/linux/compat.h:10: ppm_events.c:50:41: error: ‘access_ok’ undeclared (first use in this function) 50 | #define ppm_access_ok(type, addr, size) access_ok(type, addr, size) | ^~~~~~~~~ /usr/src/linux-headers-6.14.0-15-generic/include/linux/compiler.h:76:45: note: in definition of macro ‘likely’ 76 | # define likely(x) __builtin_expect(!!(x), 1) | ^ ppm_events.c:94:20: note: in expansion of macro ‘ppm_access_ok’ 94 | if (likely(ppm_access_ok(VERIFY_READ, from, n))) | ^~~~~~~~~~~~~ ppm_events.c:50:41: note: each undeclared identifier is reported only once for each function it appears in 50 | #define ppm_access_ok(type, addr, size) access_ok(type, addr, size) | ^~~~~~~~~ /usr/src/linux-headers-6.14.0-15-generic/include/linux/compiler.h:76:45: note: in definition of macro ‘likely’ 76 | # define likely(x) __builtin_expect(!!(x), 1) | ^ ppm_events.c:94:20: note: in expansion of macro ‘ppm_access_ok’ 94 | if (likely(ppm_access_ok(VERIFY_READ, from, n))) | ^~~~~~~~~~~~~ ppm_events.c: In function ‘ppm_strncpy_from_user’: ppm_events.c:129:68: error: macro "access_ok" passed 3 arguments, but takes just 2 129 | if (!ppm_access_ok(VERIFY_READ, from, bytes_to_read)) { | ^ /usr/src/linux-headers-6.14.0-15-generic/include/asm-generic/access_ok.h:45: note: macro "access_ok" defined here 45 | #define access_ok(addr, size) likely(__access_ok(addr, size)) | cc1: some warnings being treated as errors ppm_events.c:50:41: error: ‘access_ok’ undeclared (first use in this function) 50 | #define ppm_access_ok(type, addr, size) access_ok(type, addr, size) | ^~~~~~~~~ ppm_events.c:129:22: note: in expansion of macro ‘ppm_access_ok’ 129 | if (!ppm_access_ok(VERIFY_READ, from, bytes_to_read)) { | ^~~~~~~~~~~~~ ppm_fillers.c:2269:5: warning: no previous prototype for ‘f_sys_send_e_common’ [-Wmissing-prototypes] 2269 | int f_sys_send_e_common(struct event_filler_arguments *args, int *fd) | ^~~~~~~~~~~~~~~~~~~ make[3]: *** [/usr/src/linux-headers-6.14.0-15-generic/scripts/Makefile.build:207: main.o] Error 1 make[3]: *** Waiting for unfinished jobs.... ppm_fillers.c:2405:5: warning: no previous prototype for ‘f_sys_recv_x_common’ [-Wmissing-prototypes] 2405 | int f_sys_recv_x_common(struct event_filler_arguments *args, int64_t *retval) | ^~~~~~~~~~~~~~~~~~~ make[3]: *** [/usr/src/linux-headers-6.14.0-15-generic/scripts/Makefile.build:207: ppm_events.o] Error 1 make[2]: *** [/usr/src/linux-headers-6.14.0-15-generic/Makefile:1999: .] Error 2 make[1]: *** [/usr/src/linux-headers-6.14.0-15-generic/Makefile:251: __sub-make] Error 2 make[1]: Leaving directory '/var/lib/dkms/scap/0.15.1/build' make: *** [Makefile:251: __sub-make] Error 2 make: Leaving directory '/usr/src/linux-headers-6.14.0-15-generic' [ Test case ] Install the latest linux-6.14 kernel on Noble: $ sudo add-apt-repository ppa:canonical-kernel-team/ppa $ sudo apt install linux-generic-hwe-24.04-wip Install falcosecurity-scap-dkms: $ sudo apt install falcosecurity-scap-dkms Load the modules: $ sudo modprobe The same procedure can be repeated on linux-6.8 to test for possible regressions. [ Fix ] Apply patch from falcosecurity-scap-dkms Plucky release enabling 6.14 * debian/patches/ [ Regression potential ] We may experience regressions in systems that are using the falcosecurity-scap drivers, especially with kernels >= 6.8 kernel. ** Affects: falcosecurity-libs (Ubuntu) Importance: Undecided Status: New ** Affects: falcosecurity-libs (Ubuntu Noble) Importance: Undecided Assignee: John Cabaj (john-cabaj) Status: In Progress ** Also affects: falcosecurity-libs (Ubuntu Noble) Importance: Undecided Status: New ** Changed in: falcosecurity-libs (Ubuntu Noble) Status: New => In Progress ** Changed in: falcosecurity-libs (Ubuntu Noble) Assignee: (unassigned) => John Cabaj (john-cabaj) -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2111110 Title: falcosecurity-scap-dkms FTBS in Noble with the linux-6.14-hwe kernel To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/falcosecurity-libs/+bug/2111110/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs