Re: linux-next: Tree for Jul 30 [build failure on arm64]

From: Naresh Kamboju
Date: Fri Jul 31 2020 - 04:31:14 EST


On Fri, 31 Jul 2020 at 09:38, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Hi all,
>
> On Fri, 31 Jul 2020 10:46:52 +0800 Shaokun Zhang <zhangshaokun@xxxxxxxxxxxxx> 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 <asm/compat.h> directly")

I have reverted this commit
b902bfb3f0e9 ("arm64: stop using <asm/compat.h> directly")

and rebuilt arm64 failed due to below errors/warnings.

make -sk KBUILD_BUILD_USER=TuxBuild -C/linux -j16 ARCH=arm64
CROSS_COMPILE=aarch64-linux-gnu- HOSTCC=gcc CC="sccache
aarch64-linux-gnu-gcc" O=build Image
#
In file included 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:
../arch/arm64/include/asm/stat.h:20:2: error: unknown type name âcompat_u64â
20 | compat_u64 st_dev;
| ^~~~~~~~~~
../arch/arm64/include/asm/stat.h:31:2: error: unknown type name âcompat_u64â
31 | compat_u64 st_rdev;
| ^~~~~~~~~~
../arch/arm64/include/asm/stat.h:34:2: error: unknown type name âcompat_s64â
34 | compat_s64 st_size;
| ^~~~~~~~~~
../arch/arm64/include/asm/stat.h:36:2: error: unknown type name âcompat_u64â
36 | compat_u64 st_blocks; /* Number of 512-byte blocks allocated. */
| ^~~~~~~~~~
../arch/arm64/include/asm/stat.h:47:2: error: unknown type name âcompat_u64â
47 | compat_u64 st_ino;
| ^~~~~~~~~~
make[2]: *** [../scripts/Makefile.build:114:
arch/arm64/kernel/asm-offsets.s] Error 1

- Naresh