make -f Makefile -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/usr/src/linux-5.10.47-rt46'
CC [M] /var/tmp/portage/sys-cluster/ummunotify-2/work/ummunotify-v2/driver/ummunotify.o
/var/tmp/portage/sys-cluster/ummunotify-2/work/ummunotify-v2/driver/ummunotify.c:204:3: error: ‘const struct mmu_notifier_ops’ has no member named ‘invalidate_page’; did you mean ‘invalidate_range’?
204 | .invalidate_page = ummunotify_invalidate_page,
| ^~~~~~~~~~~~~~~
| invalidate_range
/var/tmp/portage/sys-cluster/ummunotify-2/work/ummunotify-v2/driver/ummunotify.c:204:21: error: initialization of ‘void (*)(struct mmu_notifier *, struct mm_struct *)’ from incompatible pointer type ‘void (*)(struct mmu_notifier *, struct mm_struct *, long unsigned int)’ [-Werror=incompatible-pointer-types]
204 | .invalidate_page = ummunotify_invalidate_page,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/sys-cluster/ummunotify-2/work/ummunotify-v2/driver/ummunotify.c:204:21: note: (near initialization for ‘ummunotify_mmu_notifier_ops.release’)
/var/tmp/portage/sys-cluster/ummunotify-2/work/ummunotify-v2/driver/ummunotify.c:205:28: error: initialization of ‘int (*)(struct mmu_notifier *, const struct mmu_notifier_range *)’ from incompatible pointer type ‘void (*)(struct mmu_notifier *, struct mm_struct *, long unsigned int, long unsigned int)’ [-Werror=incompatible-pointer-types]
205 | .invalidate_range_start = ummunotify_invalidate_range_start,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/sys-cluster/ummunotify-2/work/ummunotify-v2/driver/ummunotify.c:205:28: note: (near initialization for ‘ummunotify_mmu_notifier_ops.invalidate_range_start’)
/var/tmp/portage/sys-cluster/ummunotify-2/work/ummunotify-v2/driver/ummunotify.c: In function ‘ummunotify_close’:
/var/tmp/portage/sys-cluster/ummunotify-2/work/ummunotify-v2/driver/ummunotify.c:265:2: error: implicit declaration of function ‘mmdrop’; did you mean ‘d_drop’? [-Werror=implicit-function-declaration]
265 | mmdrop(priv->mm);
| ^~~~~~
| d_drop
/var/tmp/portage/sys-cluster/ummunotify-2/work/ummunotify-v2/driver/ummunotify.c: At top level:
/var/tmp/portage/sys-cluster/ummunotify-2/work/ummunotify-v2/driver/ummunotify.c:513:12: error: initialization of ‘vm_fault_t (*)(struct vm_fault *)’ {aka ‘unsigned int (*)(struct vm_fault *)’} from incompatible pointer type ‘int (*)(struct vm_area_struct *, struct vm_fault *)’ [-Werror=incompatible-pointer-types]
513 | .fault = ummunotify_fault,
| ^~~~~~~~~~~~~~~~
/var/tmp/portage/sys-cluster/ummunotify-2/work/ummunotify-v2/driver/ummunotify.c:513:12: note: (near initialization for ‘ummunotify_vm_ops.fault’)
cc1: some warnings being treated as errors
It look like that
ummunotify_invalidate_pagewas removed in 4.13