← Back to team overview

canonical-ubuntu-qa team mailing list archive

[Bug 2112451] [NEW] 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’)

 

Public bug reported:

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'

** Affects: ubuntu-kernel-tests
     Importance: Undecided
         Status: New


** Tags: 6.14 noble sru-s20250414 ubuntu-sysdig-smoke-test

** Description changed:

  Issue found on N/oem-6.14 6.14.0-1003.3, I believe this is affecting
  other Noble 6.14 variants as well.
  
- DKMS build failed with:
-  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)
+ 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'
+  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'

-- 
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:
  New

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