github / glb-director

GitHub Load Balancer Director and supporting tooling.
Other
2.37k stars 227 forks source link

glb-director fails to build with kernel linux-5.9.1 #117

Closed uablrek closed 3 years ago

uablrek commented 3 years ago

Only linux-5.9.1 tested, but probably any linux-5.9.x fails. Kernel linux-5.8.1 works fine.

Ninja build

Fails with;

.../workspace/dpdk-stable-19.11.5/kernel/linux/kni/kni_dev.h: In function ‘iova_to_phys’:
.../workspace/dpdk-stable-19.11.5/kernel/linux/kni/kni_dev.h:104:30: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  ret = get_user_pages_remote(tsk, tsk->mm, iova, 1,
                              ^~~

Make build

Fails with;

.../workspace/dpdk-stable-19.11.5/kernel/linux/kni/kni_dev.h: In function ‘iova_to_phys’:
.../workspace/dpdk-stable-19.11.5/kernel/linux/kni/kni_dev.h:104:30: error: passing argument 1 of ‘get_user_pages_remote’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  ret = get_user_pages_remote(tsk, tsk->mm, iova, 1,
                              ^~~
In file included from /home/uablrek/tmp/linux/linux-5.9.1/include/linux/bvec.h:13:0,
                 from /home/uablrek/tmp/linux/linux-5.9.1/include/linux/skbuff.h:17,
                 from /home/uablrek/tmp/linux/linux-5.9.1/include/linux/if_ether.h:19,
                 from /home/uablrek/tmp/linux/linux-5.9.1/include/uapi/linux/ethtool.h:19,
                 from /home/uablrek/tmp/linux/linux-5.9.1/include/linux/ethtool.h:18,
                 from /home/uablrek/tmp/linux/linux-5.9.1/include/linux/netdevice.h:37,
                 from /home/uablrek/tmp/xcluster/workspace/dpdk-stable-19.11.5/x86_64-native-linuxapp-gcc/build/kernel/linux/kni/kni_net.c:14:
/home/uablrek/tmp/linux/linux-5.9.1/include/linux/mm.h:1714:6: note: expected ‘struct mm_struct *’ but argument is of type ‘struct task_struct *’
 long get_user_pages_remote(struct mm_struct *mm,
      ^~~~~~~~~~~~~~~~~~~~~

(more errors follows)

uablrek commented 3 years ago

Seem to work with dpdk 20.11. Closing this issue...

But a kernel dependency matrix in CONTRIBUTING.md would be helpful.