Hi all, On Fri, 31 Jul 2020 10:46:52 +0800 Shaokun Zhang wrote: > > There's a build failure on arm64: > > In file included from ./include/linux/compat.h:17:0, > from ./arch/arm64/include/asm/stat.h:13, > from ./include/linux/stat.h:6, > from ./include/linux/sysfs.h:22, > from ./include/linux/kobject.h:20, > from ./include/linux/of.h:17, > from ./include/linux/irqdomain.h:35, > from ./include/linux/acpi.h:13, > from ./include/acpi/apei.h:9, > from ./include/acpi/ghes.h:5, > from ./include/linux/arm_sdei.h:8, > from arch/arm64/kernel/asm-offsets.c:10: > ./include/linux/fs.h: In function ‘vfs_whiteout’: > ./include/linux/fs.h:1709:32: error: ‘S_IFCHR’ undeclared (first use in this function) > return vfs_mknod(dir, dentry, S_IFCHR | WHITEOUT_MODE, WHITEOUT_DEV); > ^ > ./include/linux/fs.h:1709:32: note: each undeclared identifier is reported only once for each > function it appears in > ./include/linux/fs.h: At top level: > ./include/linux/fs.h:1855:46: warning: ‘struct kstat’ declared inside parameter list > int (*getattr) (const struct path *, struct kstat *, u32, unsigned int); > ^ > ./include/linux/fs.h:1855:46: warning: its scope is only this definition or declaration, which is > probably not what you want > ./include/linux/fs.h: In function ‘__mandatory_lock’: > ./include/linux/fs.h:2325:25: error: ‘S_ISGID’ undeclared (first use in this function) > return (ino->i_mode & (S_ISGID | S_IXGRP)) == S_ISGID; > ^ > ./include/linux/fs.h:2325:35: error: ‘S_IXGRP’ undeclared (first use in this function) > return (ino->i_mode & (S_ISGID | S_IXGRP)) == S_ISGID; > ^ > ./include/linux/fs.h: In function ‘invalidate_remote_inode’: > ./include/linux/fs.h:2588:6: error: implicit declaration of function ‘S_ISREG’ > [-Werror=implicit-function-declaration] > if (S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) || > ^ > ./include/linux/fs.h:2588:32: error: implicit declaration of function ‘S_ISDIR’ > [-Werror=implicit-function-declaration] > if (S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) || > ^ > ./include/linux/fs.h:2589:6: error: implicit declaration of function ‘S_ISLNK’ > [-Werror=implicit-function-declaration] > S_ISLNK(inode->i_mode)) > ^ > ./include/linux/fs.h: In function ‘execute_ok’: > ./include/linux/fs.h:2768:26: error: ‘S_IXUGO’ undeclared (first use in this function) > return (inode->i_mode & S_IXUGO) || S_ISDIR(inode->i_mode); Presumably caused by commit b902bfb3f0e9 ("arm64: stop using directly") -- Cheers, Stephen Rothwell