Open MarcKarasek opened 6 years ago
Tried this from clean checkout on master:
make clean
make
Got this:
make[1]: Entering directory '/usr/src/linux-headers-5.10.17+'
CC [M] /<redacted>/rpi_rgb_ledmatrix-kerneldriver/leddrvr.o
<redacted>/rpi_rgb_ledmatrix-kerneldriver/leddrvr.c: In function ‘led_ioctl’:
<redacted>/rpi_rgb_ledmatrix-kerneldriver/leddrvr.c:289:68: error: macro "access_ok" passed 3 arguments, but takes just 2
err = !access_ok(VERIFY_WRITE, (void __user *)arg, _IOC_SIZE(cmd));
^
<redacted>/rpi_rgb_ledmatrix-kerneldriver/leddrvr.c:289:10: error: ‘access_ok’ undeclared (first use in this function)
err = !access_ok(VERIFY_WRITE, (void __user *)arg, _IOC_SIZE(cmd));
^~~~~~~~~
<redacted>/rpi_rgb_ledmatrix-kerneldriver/leddrvr.c:289:10: note: each undeclared identifier is reported only once for each function it appears in
<redacted>/rpi_rgb_ledmatrix-kerneldriver/leddrvr.c:291:68: error: macro "access_ok" passed 3 arguments, but takes just 2
err = !access_ok(VERIFY_READ, (void __user *)arg, _IOC_SIZE(cmd));
^
make[2]: *** [scripts/Makefile.build:279: <redacted>/rpi_rgb_ledmatrix-kerneldriver/leddrvr.o] Error 1
make[1]: *** [Makefile:1804: <redacted>/rpi_rgb_ledmatrix-kerneldriver] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.10.17+'
make: *** [Makefile:13: all] Error 2
Seems copy_to_user() has moved its definition in more recent kernels.
Old -> asm/uaccess.h New -> linux/uaccess.h