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

From: Stephen Rothwell <[email-masked]>
Date: Fri, 31 Jul 2020 14:08:42 +1000

Hi all,

On Fri, 31 Jul 2020 10:46:52 +0800 Shaokun Zhang <[email-masked]> 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")

-- 
Cheers,
Stephen Rothwell