← Back to team overview

canonical-ubuntu-qa team mailing list archive

[Bug 2112451] Re: scap DKMS for ubuntu_sysdig_smoke_test failed to build on N-6.14 variant (main.c:2872:23: error: too many arguments to function ‘class_create’)

 

Looks OK with:
n/hwe-6.14 6.14.0-28.28~24.04.1 
n/aws-6.14 6.14.0-1009.9~24.04.1 
n/oem-6.14 6.14.0-1007.7 
n/oracle-6.14 6.14.0-1009.9~24.04.1 

These are the only hints that use this bug report.
As this issue has been fixed, I will close this bug and remove those hints.

** Changed in: ubuntu-kernel-tests
       Status: New => Fix Released

-- 
You received this bug notification because you are a member of Canonical
Platform QA Team, which is subscribed to ubuntu-kernel-tests.
https://bugs.launchpad.net/bugs/2112451

Title:
  scap DKMS for ubuntu_sysdig_smoke_test failed to build on N-6.14
  variant (main.c:2872:23: error: too many arguments to function
  ‘class_create’)

Status in ubuntu-kernel-tests:
  Fix Released

Bug description:
  Issue found on N/oem-6.14 6.14.0-1003.3, I believe this is affecting
  other Noble 6.14 variants as well.

  Here is the DKMS build log with N/oem-6.14 6.14.0-1004.4:
   Error! Bad return status for module build on kernel: 6.14.0-1004-oem (x86_64)
   Consult /var/lib/dkms/scap/0.15.1/build/make.log for more information.
   dpkg: error processing package falcosecurity-scap-dkms (--configure):
    installed falcosecurity-scap-dkms package post-installation script subprocess returned error exit status 10
   Setting up g++-x86-64-linux-gnu (4:13.2.0-7ubuntu1) ...
   Setting up g++-13 (13.3.0-6ubuntu2~24.04) ...
   Setting up g++ (4:13.2.0-7ubuntu1) ...
   update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
   Setting up build-essential (12.10ubuntu1) ...
   Processing triggers for man-db (2.12.0-4build2) ...
   Processing triggers for libc-bin (2.39-0ubuntu8.4) ...
   Errors were encountered while processing:
    falcosecurity-scap-dkms
   needrestart is being skipped since dpkg has failed
   W: --force-yes is deprecated, use one of the options starting with --allow instead.
   E: Sub-process /usr/bin/dpkg returned an error code (1)
  'dkms status -m scap | grep installed'
  'cat /var/lib/dkms/scap/*/build/make.log'
   DKMS make.log for scap-0.15.1 for kernel 6.14.0-1004-oem (x86_64)
   Wed Jun  4 09:34:32 UTC 2025
   make: Entering directory '/usr/src/linux-headers-6.14.0-1004-oem'
   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/CLASS_CREATE_1/Makefile.inc /var/lib/dkms/scap/0.15.1/build//configure/ACCESS_OK_2/Makefile.inc /var/lib/dkms/scap/0.15.1/build//configure/DEVNODE_ARG1_CONST/Makefile.inc
   [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'
   [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'
     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
   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-1004-oem/include/linux/printk.h:6,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/kernel.h:31,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/cpumask.h:11,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/smp.h:13,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/tracepoint.h:15,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/trace/syscall.h:5,
                    from main.c:14:
   main.c: In function ‘scap_init’:
   /usr/src/linux-headers-6.14.0-1004-oem/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-1004-oem/include/linux/device.h:31,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/node.h:18,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/cpu.h:17,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/static_call.h:135,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/tracepoint.h:22:
   /usr/src/linux-headers-6.14.0-1004-oem/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-1004-oem/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)
         |      ^~~~~~~~~
   cc1: some warnings being treated as errors
   make[3]: *** [/usr/src/linux-headers-6.14.0-1004-oem/scripts/Makefile.build:207: main.o] Error 1
   make[3]: *** Waiting for unfinished jobs....
   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-1004-oem/arch/x86/include/asm/uaccess.h:25,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/uaccess.h:12,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/sched/task.h:13,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/sched/signal.h:9,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/rcuwait.h:6,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/percpu-rwsem.h:7,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/fs.h:33,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/compat.h:17,
                    from ppm_events.c:13:
   /usr/src/linux-headers-6.14.0-1004-oem/include/asm-generic/access_ok.h:45: note: macro "access_ok" defined here
      45 | #define access_ok(addr, size) likely(__access_ok(addr, size))
         |
   In file included from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/export.h:5,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/linkage.h:7,
                    from /usr/src/linux-headers-6.14.0-1004-oem/arch/x86/include/asm/cache.h:5,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/cache.h:6,
                    from /usr/src/linux-headers-6.14.0-1004-oem/include/linux/time.h:5,
                    from /usr/src/linux-headers-6.14.0-1004-oem/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-1004-oem/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-1004-oem/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-1004-oem/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_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)) {
         |                      ^~~~~~~~~~~~~
   make[3]: *** [/usr/src/linux-headers-6.14.0-1004-oem/scripts/Makefile.build:207: ppm_events.o] Error 1
   make[2]: *** [/usr/src/linux-headers-6.14.0-1004-oem/Makefile:1999: .] Error 2
   make[1]: *** [/usr/src/linux-headers-6.14.0-1004-oem/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-1004-oem'

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/2112451/+subscriptions



References