--- a/vmnet/Makefile +++ b/vmnet/Makefile @@ -43,7 +43,11 @@ endif +ifdef KVERSION +VM_UNAME = $(KVERSION) +else VM_UNAME = $(shell uname -r) +endif # Header directory for the running kernel ifdef LINUXINCLUDE @@ -137,7 +141,6 @@ endif # Add Spectre options when available -CC_OPTS += $(call vm_check_gcc,-mindirect-branch=thunk -mindirect-branch-register,) include $(SRCROOT)/Makefile.kernel --- a/vmnet/userif.c +++ b/vmnet/userif.c @@ -559,7 +559,12 @@ return -EINVAL; } +#if COMPAT_LINUX_VERSION_CHECK_LT(5, 10, 0) csum = csum_and_copy_to_user(skb->data + offset, curr, len, 0, &err); +#else + csum = csum_and_copy_to_user(skb->data + offset, curr, len); + err = (csum == 0) ? -EFAULT : 0; +#endif if (err) { return err; } @@ -573,8 +578,14 @@ const void *vaddr; vaddr = kmap(skb_frag_page(frag)); +#if COMPAT_LINUX_VERSION_CHECK_LT(5, 10, 0) tmpCsum = csum_and_copy_to_user(vaddr + skb_frag_off(frag), curr, skb_frag_size(frag), 0, &err); +#else + tmpCsum = csum_and_copy_to_user(vaddr + skb_frag_off(frag), + curr, skb_frag_size(frag)); + err = (tmpCsum == 0) ? -EFAULT : 0; +#endif kunmap(skb_frag_page(frag)); if (err) {