$ make
cc -std=gnu99 -Wall -o mkfs.simplefs mkfs.c
make -C /lib/modules/6.3.1-231vbox-30/build M=/tmp/simplefs modules
make[1]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
make[1]: Entering directory '/usr/src/linux-6.3.1'
CC [M] /tmp/simplefs/fs.o
CC [M] /tmp/simplefs/super.o
/tmp/simplefs/super.c: In function ‘simplefs_fill_super’:
/tmp/simplefs/super.c:286:22: error: passing argument 1 of ‘inode_init_owner’ from incompatible pointer type [-Werror=incompatible-pointer-types]
286 | inode_init_owner(&init_user_ns, root_inode, NULL, root_inode->i_mode);
| ^~~~~~~~~~~~~
| |
| struct user_namespace *
In file included from ./include/linux/highmem.h:5,
from ./include/linux/bvec.h:10,
from ./include/linux/blk_types.h:10,
from ./include/linux/buffer_head.h:12,
from /tmp/simplefs/super.c:3:
./include/linux/fs.h:1682:41: note: expected ‘struct mnt_idmap *’ but argument is of type ‘struct user_namespace *’
1682 | void inode_init_owner(struct mnt_idmap *idmap, struct inode *inode,
| ~~~~~~~~~~~~~~~~~~^~~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:252: /tmp/simplefs/super.o] Error 1
make[1]: *** [Makefile:2025: /tmp/simplefs] Error 2
make[1]: Leaving directory '/usr/src/linux-6.3.1'
make: *** [Makefile:9: all] Error 2
I can not compile it with kernel version 6.3