Debdiff to enable support for both 6.8 and 6.14 kernels.
** Description changed:
[ 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
+ 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
+ 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
+ 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)
- | ^~~~~~~~~
+ 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:
+ 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 *
+ 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);
- | ^~~~~~~~~~~
+ 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:
+ 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);
- | ~~~~~~~~~~~~^~~~
+ 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);
- | ^~~~~~~~~~~~
+ 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);
- | ^~~~~~~~~~~~
+ 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;
- | ^
+ 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
+ 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)))
- | ^
+ 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:
+ 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))
- |
+ 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)
- | ^~~~~~~~~~~~~~~~~~~
+ 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)
- | ^~~~~~~~~~~~~~~~~~
+ 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,
- | ^~~~~~~~~~~~~~~~~~~~~~
+ 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){
- | ^~~~~~~~~~~~~~~~~~
+ 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:
+ 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)
- | ^~~~~~~~~
+ 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)
- | ^
+ 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)))
- | ^~~~~~~~~~~~~
+ 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)
- | ^~~~~~~~~
+ 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)
- | ^
+ 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)))
- | ^~~~~~~~~~~~~
+ 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))
{
- | ^
+ 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))
- |
+ 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)
- | ^~~~~~~~~
+ 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))
{
- | ^~~~~~~~~~~~~
+ 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)
- | ^~~~~~~~~~~~~~~~~~~
+ 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)
- | ^~~~~~~~~~~~~~~~~~~
+ 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
+ $ sudo modprobe scap
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
+ Apply upstream commit from falcosecurity-scap
+ (https://github.com/falcosecurity/libs):
- * debian/patches/
+ * 7f01ec89c565fcb45ade833b1312ae69637bc4ec: "fix(driver): fix driver and
+ bpf makefile for linux 6.13."
[ Regression potential ]
We may experience regressions in systems that are using the
falcosecurity-scap drivers, especially with kernels >= 6.8 kernel.
** Patch added: "falcosecurity-support-noble-6.14.debdiff"
https://bugs.launchpad.net/ubuntu/+source/falcosecurity-libs/+bug/2111110/+attachment/5878018/+files/falcosecurity-support-noble-6.14.debdiff
--
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
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs