You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
hi there!
we are facing scap module compilation error on RHEL 9.4:
**_CC [M] /var/lib/dkms/scap/7.0.0+driver/build/main.o
In file included from ./include/linux/linkage.h:7,
from ./include/linux/kernel.h:8,
from ./include/linux/list.h:9,
from ./include/linux/smp.h:12,
from ./include/linux/tracepoint.h:15,
from ./include/trace/syscall.h:5,
from /var/lib/dkms/scap/7.0.0+driver/build/main.c:14:
/var/lib/dkms/scap/7.0.0+driver/build/main.c: In function 'scap_init':
./include/linux/export.h:17:22: error: passing argument 1 of 'class_create' from incompatible pointer type [-Werror=incompatible-pointer-types]
17 | #define THIS_MODULE (&__this_module)
| ~^~~~~~~~~~~~~~~
| |
| struct module *
/var/lib/dkms/scap/7.0.0+driver/build/main.c:2877:36: note: in expansion of macro 'THIS_MODULE'
2877 | g_ppm_class = class_create(THIS_MODULE, DRIVER_DEVICE_NAME);
| ^~~~~~~~~~~
In file included from ./include/linux/device.h:31,
from ./include/linux/node.h:18,
from ./include/linux/cpu.h:17,
from ./include/linux/static_call.h:135,
from ./include/linux/tracepoint.h:22:
./include/linux/device/class.h:230:54: note: expected 'const char *' but argument is of type 'struct module '
230 | struct class * __must_check class_create(const char name);
| ~~~~~~~~~~~~^~~~
/var/lib/dkms/scap/7.0.0+driver/build/main.c:2877:23: error: too many arguments to function 'class_create'
2877 | g_ppm_class = class_create(THIS_MODULE, DRIVER_DEVICE_NAME);
| ^~~~~~~~~~~~
./include/linux/device/class.h:230:29: note: declared here
230 | struct class * _must_check class_create(const char *name);
| ^~~~~~~~~~~~
cc1: some warnings being treated as errors
As we understand class_create patch backported to ReadHat, if we make the following change the compilation succeeds:
if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0)) || (PPM_RHEL_RELEASE_CODE > 0 && PPM_RHEL_RELEASE_CODE >= PPM_RHEL_RELEASE_VERSION(9, 4))
g_ppm_class = class_create(DRIVER_DEVICE_NAME);
else
g_ppm_class = class_create(THIS_MODULE, DRIVER_DEVICE_NAME);
endif
is it possible to add the above to scap driver code?
The text was updated successfully, but these errors were encountered:
Hi! Thanks for opening this issue!
This build failure should've been already addressed by #1452 in 7.2.0+driver, that is part of Falco 0.38.0.
Can you test with it?
I see that there are configure folder with test modules starting from 7.1.0+driver. And changes are there in image starting from sysdig 0.37.0. This should work. Thanks a lot for help
hi there!
we are facing scap module compilation error on RHEL 9.4:
**_CC [M] /var/lib/dkms/scap/7.0.0+driver/build/main.o
In file included from ./include/linux/linkage.h:7,
from ./include/linux/kernel.h:8,
from ./include/linux/list.h:9,
from ./include/linux/smp.h:12,
from ./include/linux/tracepoint.h:15,
from ./include/trace/syscall.h:5,
from /var/lib/dkms/scap/7.0.0+driver/build/main.c:14:
/var/lib/dkms/scap/7.0.0+driver/build/main.c: In function 'scap_init':
./include/linux/export.h:17:22: error: passing argument 1 of 'class_create' from incompatible pointer type [-Werror=incompatible-pointer-types]
17 | #define THIS_MODULE (&__this_module)
| ~^~~~~~~~~~~~~~~
| |
| struct module *
/var/lib/dkms/scap/7.0.0+driver/build/main.c:2877:36: note: in expansion of macro 'THIS_MODULE'
2877 | g_ppm_class = class_create(THIS_MODULE, DRIVER_DEVICE_NAME);
| ^~~~~~~~~~~
In file included from ./include/linux/device.h:31,
from ./include/linux/node.h:18,
from ./include/linux/cpu.h:17,
from ./include/linux/static_call.h:135,
from ./include/linux/tracepoint.h:22:
./include/linux/device/class.h:230:54: note: expected 'const char *' but argument is of type 'struct module '
230 | struct class * __must_check class_create(const char name);
| ~~~~~~~~~~~~^~~~
/var/lib/dkms/scap/7.0.0+driver/build/main.c:2877:23: error: too many arguments to function 'class_create'
2877 | g_ppm_class = class_create(THIS_MODULE, DRIVER_DEVICE_NAME);
| ^~~~~~~~~~~~
./include/linux/device/class.h:230:29: note: declared here
230 | struct class * _must_check class_create(const char *name);
| ^~~~~~~~~~~~
cc1: some warnings being treated as errors
As we understand class_create patch backported to ReadHat, if we make the following change the compilation succeeds:
if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 0)) || (PPM_RHEL_RELEASE_CODE > 0 && PPM_RHEL_RELEASE_CODE >= PPM_RHEL_RELEASE_VERSION(9, 4))
g_ppm_class = class_create(DRIVER_DEVICE_NAME);
else
g_ppm_class = class_create(THIS_MODULE, DRIVER_DEVICE_NAME);
endif
is it possible to add the above to scap driver code?
The text was updated successfully, but these errors were encountered: