mirror of https://github.com/torvalds/linux.git
fs: stat: compat: Add __ARCH_WANT_COMPAT_STAT
RISC-V doesn't neeed compat_stat, so using __ARCH_WANT_COMPAT_STAT to exclude unnecessary SYSCALL functions. Signed-off-by: Guo Ren <guoren@linux.alibaba.com> Signed-off-by: Guo Ren <guoren@kernel.org> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Christoph Hellwig <hch@lst.de> Tested-by: Heiko Stuebner <heiko@sntech.de> Acked-by: Helge Deller <deller@gmx.de> # parisc Link: https://lore.kernel.org/r/20220405071314.3225832-6-guoren@kernel.org Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
This commit is contained in:
parent
0cbed0ee1d
commit
f18ed30db2
|
|
@ -3,6 +3,7 @@
|
||||||
* Copyright (C) 2012 ARM Ltd.
|
* Copyright (C) 2012 ARM Ltd.
|
||||||
*/
|
*/
|
||||||
#ifdef CONFIG_COMPAT
|
#ifdef CONFIG_COMPAT
|
||||||
|
#define __ARCH_WANT_COMPAT_STAT
|
||||||
#define __ARCH_WANT_COMPAT_STAT64
|
#define __ARCH_WANT_COMPAT_STAT64
|
||||||
#define __ARCH_WANT_SYS_GETHOSTNAME
|
#define __ARCH_WANT_SYS_GETHOSTNAME
|
||||||
#define __ARCH_WANT_SYS_PAUSE
|
#define __ARCH_WANT_SYS_PAUSE
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,8 @@
|
||||||
# ifdef CONFIG_32BIT
|
# ifdef CONFIG_32BIT
|
||||||
# define __ARCH_WANT_STAT64
|
# define __ARCH_WANT_STAT64
|
||||||
# define __ARCH_WANT_SYS_TIME32
|
# define __ARCH_WANT_SYS_TIME32
|
||||||
|
# else
|
||||||
|
# define __ARCH_WANT_COMPAT_STAT
|
||||||
# endif
|
# endif
|
||||||
# ifdef CONFIG_MIPS32_O32
|
# ifdef CONFIG_MIPS32_O32
|
||||||
# define __ARCH_WANT_SYS_TIME32
|
# define __ARCH_WANT_SYS_TIME32
|
||||||
|
|
|
||||||
|
|
@ -164,6 +164,7 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
|
||||||
#define __ARCH_WANT_SYS_CLONE
|
#define __ARCH_WANT_SYS_CLONE
|
||||||
#define __ARCH_WANT_SYS_CLONE3
|
#define __ARCH_WANT_SYS_CLONE3
|
||||||
#define __ARCH_WANT_COMPAT_SYS_SENDFILE
|
#define __ARCH_WANT_COMPAT_SYS_SENDFILE
|
||||||
|
#define __ARCH_WANT_COMPAT_STAT
|
||||||
|
|
||||||
#ifdef CONFIG_64BIT
|
#ifdef CONFIG_64BIT
|
||||||
#define __ARCH_WANT_SYS_TIME
|
#define __ARCH_WANT_SYS_TIME
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@
|
||||||
#define __ARCH_WANT_SYS_TIME
|
#define __ARCH_WANT_SYS_TIME
|
||||||
#define __ARCH_WANT_SYS_UTIME
|
#define __ARCH_WANT_SYS_UTIME
|
||||||
#define __ARCH_WANT_SYS_NEWFSTATAT
|
#define __ARCH_WANT_SYS_NEWFSTATAT
|
||||||
|
#define __ARCH_WANT_COMPAT_STAT
|
||||||
#define __ARCH_WANT_COMPAT_SYS_SENDFILE
|
#define __ARCH_WANT_COMPAT_SYS_SENDFILE
|
||||||
#endif
|
#endif
|
||||||
#define __ARCH_WANT_SYS_FORK
|
#define __ARCH_WANT_SYS_FORK
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@
|
||||||
#define __ARCH_WANT_SYS_SIGPENDING
|
#define __ARCH_WANT_SYS_SIGPENDING
|
||||||
#define __ARCH_WANT_SYS_SIGPROCMASK
|
#define __ARCH_WANT_SYS_SIGPROCMASK
|
||||||
# ifdef CONFIG_COMPAT
|
# ifdef CONFIG_COMPAT
|
||||||
|
# define __ARCH_WANT_COMPAT_STAT
|
||||||
# define __ARCH_WANT_SYS_TIME32
|
# define __ARCH_WANT_SYS_TIME32
|
||||||
# define __ARCH_WANT_SYS_UTIME32
|
# define __ARCH_WANT_SYS_UTIME32
|
||||||
# endif
|
# endif
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@
|
||||||
#define __ARCH_WANT_SYS_TIME
|
#define __ARCH_WANT_SYS_TIME
|
||||||
#define __ARCH_WANT_SYS_UTIME
|
#define __ARCH_WANT_SYS_UTIME
|
||||||
#define __ARCH_WANT_COMPAT_SYS_SENDFILE
|
#define __ARCH_WANT_COMPAT_SYS_SENDFILE
|
||||||
|
#define __ARCH_WANT_COMPAT_STAT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __32bit_syscall_numbers__
|
#ifdef __32bit_syscall_numbers__
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@
|
||||||
# include <asm/unistd_32_ia32.h>
|
# include <asm/unistd_32_ia32.h>
|
||||||
# define __ARCH_WANT_SYS_TIME
|
# define __ARCH_WANT_SYS_TIME
|
||||||
# define __ARCH_WANT_SYS_UTIME
|
# define __ARCH_WANT_SYS_UTIME
|
||||||
|
# define __ARCH_WANT_COMPAT_STAT
|
||||||
# define __ARCH_WANT_COMPAT_SYS_PREADV64
|
# define __ARCH_WANT_COMPAT_SYS_PREADV64
|
||||||
# define __ARCH_WANT_COMPAT_SYS_PWRITEV64
|
# define __ARCH_WANT_COMPAT_SYS_PWRITEV64
|
||||||
# define __ARCH_WANT_COMPAT_SYS_PREADV64V2
|
# define __ARCH_WANT_COMPAT_SYS_PREADV64V2
|
||||||
|
|
|
||||||
|
|
@ -660,7 +660,7 @@ SYSCALL_DEFINE5(statx,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_COMPAT
|
#if defined(CONFIG_COMPAT) && defined(__ARCH_WANT_COMPAT_STAT)
|
||||||
static int cp_compat_stat(struct kstat *stat, struct compat_stat __user *ubuf)
|
static int cp_compat_stat(struct kstat *stat, struct compat_stat __user *ubuf)
|
||||||
{
|
{
|
||||||
struct compat_stat tmp;
|
struct compat_stat tmp;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue