Warboy ubuntu 22.04 커널 5.15.0-177 에서 드라이버 설치 오류

DKMS make.log for furiosa-driver-warboy-1.9.11 for kernel 5.15.0-177-generic (x86_64)
Thu May  7 09:56:49 AM UTC 2026
make -C /lib/modules/5.15.0-177-generic/build M=/var/lib/dkms/furiosa-driver-warboy/1.9.11/build/npu_plda EXTRA_CFLAGS+="-DCONFIG_NPU_PCI_VENDOR_ID=0x1ed2 -DCONFIG_NPU_PCI_DEVICE_ID=0x0000 -DCONFIG_NPU_MGMT_DEVICE -DCONFIG_NPU_MGMT_GROUP -DCONFIG_NPU_PDMA_DMA_TIMEOUT_MS=5000" modules
make[1]: Entering directory '/usr/src/linux-headers-5.15.0-177-generic'
  CC [M]  /var/lib/dkms/furiosa-driver-warboy/1.9.11/build/npu_plda/npu_pdma.o
In file included from /var/lib/dkms/furiosa-driver-warboy/1.9.11/build/npu_plda/npu_pdma.c:20:
/var/lib/dkms/furiosa-driver-warboy/1.9.11/build/npu_plda/npu_pdma.h:41: warning: "MIN" redefined
   41 | #define MIN(a,b) \
      |
In file included from ./include/linux/kernel.h:17,
                 from /var/lib/dkms/furiosa-driver-warboy/1.9.11/build/npu_plda/npu_pdma.h:23,
                 from /var/lib/dkms/furiosa-driver-warboy/1.9.11/build/npu_plda/npu_pdma.c:20:
./include/linux/minmax.h:314: note: this is the location of the previous definition
  314 | #define MIN(a, b) __cmp(min, a, b)
      |
In file included from ./include/linux/array_size.h:5,
                 from ./include/linux/kernel.h:7,
                 from /var/lib/dkms/furiosa-driver-warboy/1.9.11/build/npu_plda/npu_pdma.h:23,
                 from /var/lib/dkms/furiosa-driver-warboy/1.9.11/build/npu_plda/npu_pdma.c:20:
/var/lib/dkms/furiosa-driver-warboy/1.9.11/build/npu_plda/npu_pdma.c: In function ‘npu_pdma_get_user_pages’:
./arch/x86/include/asm/uaccess.h:74:16: error: implicit declaration of function ‘__access_ok’; did you mean ‘access_ok’? [-Werror=implicit-function-declaration]
   74 |         likely(__access_ok(addr, size));                                \
      |                ^~~~~~~~~~~
./include/linux/compiler.h:77:45: note: in definition of macro ‘likely’
   77 | # define likely(x)      __builtin_expect(!!(x), 1)
      |                                             ^
/var/lib/dkms/furiosa-driver-warboy/1.9.11/build/npu_plda/npu_pdma.c:48:28: note: in expansion of macro ‘access_ok’
   48 | #define __access_ok(X,Y,Z) access_ok(Y,Z)
      |                            ^~~~~~~~~
/var/lib/dkms/furiosa-driver-warboy/1.9.11/build/npu_plda/npu_pdma.c:363:14: note: in expansion of macro ‘__access_ok’
  363 |         if (!__access_ok(VERIFY_WRITE, (void __user *)addr, size)) {
      |              ^~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:297: /var/lib/dkms/furiosa-driver-warboy/1.9.11/build/npu_plda/npu_pdma.o] Error 1
make[1]: *** [Makefile:1928: /var/lib/dkms/furiosa-driver-warboy/1.9.11/build/npu_plda] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-177-generic'
make: *** [Makefile:43: all] Error 2
 

__range_not_ok 라는 macro 지우면서 __access_ok 라는 macro 가 생겼는데, 이게 warboy 드라이버 내부에 있는 macro 랑 이름이 겹쳐서 문제가 발생하는 것으로 보입니다.

안녕하세요, 퓨리오사에이아이 정주희입니다.

말씀 주신 것처럼 해당 문제는 커널 5.15.0-177에 backport된 __access_ok() 함수가 드라이버 내부 매크로(npu_pdma.c:48)와 이름이 겹쳐 발생한 빌드 충돌로 확인됩니다.

다만, 현재 Warboy 드라이버는 차기 릴리즈가 예정되어 있지 않아 정식 패치 제공은 어려운 상황이라, 부득이하게 이전 커널을 사용하시는 방향을 권장드립니다. (해당 변경은 5.15.0-172 ABI 부터 적용되어 있어 5.15.0-171 까지 회귀가 필요한 것으로 보입니다.)

추가 문의 있으시면 회신 부탁드립니다.

감사합니다.