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

Reply via email to