Messages in this thread |  | | Date | Sun, 31 Oct 2021 15:28:18 +0800 | From | kernel test robot <> | Subject | [arnd-playground:randconfig-5.16-next 137/151] arch/mips/include/asm/futex.h:132:1: warning: ISO C90 forbids mixed declarations and code |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git randconfig-5.16-next head: d18f89e8161c4cf63dd554521b305dd3374b52b3 commit: 2db331c581c8cc2f8742223470ca5cdd8d7fc312 [137/151] [SUBMITTED 20211026] futex: ensure futex_atomic_cmpxchg_inatomic() is present config: mips-ci20_defconfig (attached as .config) compiler: mipsel-linux-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/commit/?id=2db331c581c8cc2f8742223470ca5cdd8d7fc312 git remote add arnd-playground https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git git fetch --no-tags arnd-playground randconfig-5.16-next git checkout 2db331c581c8cc2f8742223470ca5cdd8d7fc312 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=mips
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
In file included from kernel/futex/futex.h:12, from kernel/futex/core.c:41: arch/mips/include/asm/futex.h: In function 'arch_futex_atomic_op_inuser': arch/mips/include/asm/futex.h:89:23: error: implicit declaration of function 'arch_futex_atomic_op_inuser_local'; did you mean 'futex_atomic_op_inuser_local'? [-Werror=implicit-function-declaration] 89 | ret = arch_futex_atomic_op_inuser_local(op, oparg, oval,\ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/mips/include/asm/futex.h:89:23: note: in definition of macro '__futex_atomic_op' 89 | ret = arch_futex_atomic_op_inuser_local(op, oparg, oval,\ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from kernel/futex/futex.h:12, from kernel/futex/core.c:41: arch/mips/include/asm/futex.h:23:39: error: invalid storage class for function 'futex_atomic_cmpxchg_inatomic' 23 | #define futex_atomic_cmpxchg_inatomic futex_atomic_cmpxchg_inatomic | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/mips/include/asm/futex.h:133:1: note: in expansion of macro 'futex_atomic_cmpxchg_inatomic' 133 | futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from kernel/futex/futex.h:12, from kernel/futex/core.c:41: >> arch/mips/include/asm/futex.h:132:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 132 | static inline int | ^~~~~~ In file included from kernel/futex/core.c:41: kernel/futex/futex.h:33:27: error: section attribute cannot be specified for local variables 33 | extern int __read_mostly futex_cmpxchg_enabled; | ^~~~~~~~~~~~~~~~~~~~~ kernel/futex/futex.h:39:20: error: invalid storage class for function 'should_fail_futex' 39 | static inline bool should_fail_futex(bool fshared) | ^~~~~~~~~~~~~~~~~ kernel/futex/futex.h:140:19: error: invalid storage class for function 'futex_match' 140 | static inline int futex_match(union futex_key *key1, union futex_key *key2) | ^~~~~~~~~~~ kernel/futex/futex.h:175:20: error: invalid storage class for function 'futex_queue' 175 | static inline void futex_queue(struct futex_q *q, struct futex_hash_bucket *hb) | ^~~~~~~~~~~ kernel/futex/futex.h:189:20: error: invalid storage class for function 'futex_hb_waiters_inc' 189 | static inline void futex_hb_waiters_inc(struct futex_hash_bucket *hb) | ^~~~~~~~~~~~~~~~~~~~ kernel/futex/futex.h:204:20: error: invalid storage class for function 'futex_hb_waiters_dec' 204 | static inline void futex_hb_waiters_dec(struct futex_hash_bucket *hb) | ^~~~~~~~~~~~~~~~~~~~ kernel/futex/futex.h:211:19: error: invalid storage class for function 'futex_hb_waiters_pending' 211 | static inline int futex_hb_waiters_pending(struct futex_hash_bucket *hb) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/futex/futex.h:244:1: error: invalid storage class for function 'double_lock_hb' 244 | double_lock_hb(struct futex_hash_bucket *hb1, struct futex_hash_bucket *hb2) | ^~~~~~~~~~~~~~ kernel/futex/futex.h:255:1: error: invalid storage class for function 'double_unlock_hb' 255 | double_unlock_hb(struct futex_hash_bucket *hb1, struct futex_hash_bucket *hb2) | ^~~~~~~~~~~~~~~~ In file included from kernel/futex/core.c:42: kernel/futex/../locking/rtmutex_common.h:93:19: error: invalid storage class for function 'rt_mutex_has_waiters' 93 | static inline int rt_mutex_has_waiters(struct rt_mutex_base *lock) | ^~~~~~~~~~~~~~~~~~~~ kernel/futex/../locking/rtmutex_common.h:103:20: error: invalid storage class for function 'rt_mutex_waiter_is_top_waiter' 103 | static inline bool rt_mutex_waiter_is_top_waiter(struct rt_mutex_base *lock, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/futex/../locking/rtmutex_common.h:111:39: error: invalid storage class for function 'rt_mutex_top_waiter' 111 | static inline struct rt_mutex_waiter *rt_mutex_top_waiter(struct rt_mutex_base *lock) | ^~~~~~~~~~~~~~~~~~~ kernel/futex/../locking/rtmutex_common.h:123:19: error: invalid storage class for function 'task_has_pi_waiters' 123 | static inline int task_has_pi_waiters(struct task_struct *p) | ^~~~~~~~~~~~~~~~~~~ kernel/futex/../locking/rtmutex_common.h:128:39: error: invalid storage class for function 'task_top_pi_waiter' 128 | static inline struct rt_mutex_waiter *task_top_pi_waiter(struct task_struct *p) | ^~~~~~~~~~~~~~~~~~ kernel/futex/../locking/rtmutex_common.h:136:35: error: invalid storage class for function 'rt_mutex_owner' 136 | static inline struct task_struct *rt_mutex_owner(struct rt_mutex_base *lock) | ^~~~~~~~~~~~~~ kernel/futex/../locking/rtmutex_common.h:158:20: error: invalid storage class for function '__rt_mutex_base_init' 158 | static inline void __rt_mutex_base_init(struct rt_mutex_base *lock) | ^~~~~~~~~~~~~~~~~~~~ kernel/futex/../locking/rtmutex_common.h:166:20: error: invalid storage class for function 'debug_rt_mutex_unlock' 166 | static inline void debug_rt_mutex_unlock(struct rt_mutex_base *lock) | ^~~~~~~~~~~~~~~~~~~~~ kernel/futex/../locking/rtmutex_common.h:172:20: error: invalid storage class for function 'debug_rt_mutex_proxy_unlock' 172 | static inline void debug_rt_mutex_proxy_unlock(struct rt_mutex_base *lock) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/futex/../locking/rtmutex_common.h:178:20: error: invalid storage class for function 'debug_rt_mutex_init_waiter' 178 | static inline void debug_rt_mutex_init_waiter(struct rt_mutex_waiter *waiter) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/futex/../locking/rtmutex_common.h:184:20: error: invalid storage class for function 'debug_rt_mutex_free_waiter' 184 | static inline void debug_rt_mutex_free_waiter(struct rt_mutex_waiter *waiter) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/futex/../locking/rtmutex_common.h:190:20: error: invalid storage class for function 'rt_mutex_init_waiter' 190 | static inline void rt_mutex_init_waiter(struct rt_mutex_waiter *waiter) | ^~~~~~~~~~~~~~~~~~~~ kernel/futex/../locking/rtmutex_common.h:199:20: error: invalid storage class for function 'rt_mutex_init_rtlock_waiter' 199 | static inline void rt_mutex_init_rtlock_waiter(struct rt_mutex_waiter *waiter) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/futex/core.c:45:20: error: section attribute cannot be specified for local variables 45 | int __read_mostly futex_cmpxchg_enabled; | ^~~~~~~~~~~~~~~~~~~~~ kernel/futex/core.c:45:20: error: declaration of 'futex_cmpxchg_enabled' with no linkage follows extern declaration In file included from kernel/futex/core.c:41: kernel/futex/futex.h:33:27: note: previous declaration of 'futex_cmpxchg_enabled' with type 'int' 33 | extern int __read_mostly futex_cmpxchg_enabled; | ^~~~~~~~~~~~~~~~~~~~~ kernel/futex/core.c:120:27: error: static declaration of 'futex_hash' follows non-static declaration 120 | struct futex_hash_bucket *futex_hash(union futex_key *key) | ^~~~~~~~~~ In file included from kernel/futex/core.c:41: kernel/futex/futex.h:131:34: note: previous declaration of 'futex_hash' with type 'struct futex_hash_bucket *(union futex_key *)' 131 | extern struct futex_hash_bucket *futex_hash(union futex_key *key); | ^~~~~~~~~~ kernel/futex/core.c:140:1: error: static declaration of 'futex_setup_timer' follows non-static declaration 140 | futex_setup_timer(ktime_t *time, struct hrtimer_sleeper *timeout, | ^~~~~~~~~~~~~~~~~ In file included from kernel/futex/core.c:41: kernel/futex/futex.h:128:1: note: previous declaration of 'futex_setup_timer' with type 'struct hrtimer_sleeper *(ktime_t *, struct hrtimer_sleeper *, int, u64)' {aka 'struct hrtimer_sleeper *(long long int *, struct hrtimer_sleeper *, int, long long unsigned int)'} 128 | futex_setup_timer(ktime_t *time, struct hrtimer_sleeper *timeout, | ^~~~~~~~~~~~~~~~~ kernel/futex/core.c:176:12: error: invalid storage class for function 'get_inode_sequence_number' 176 | static u64 get_inode_sequence_number(struct inode *inode) | ^~~~~~~~~~~~~~~~~~~~~~~~~ kernel/futex/core.c:225:5: error: static declaration of 'get_futex_key' follows non-static declaration 225 | int get_futex_key(u32 __user *uaddr, bool fshared, union futex_key *key, | ^~~~~~~~~~~~~ In file included from kernel/futex/core.c:41: kernel/futex/futex.h:124:12: note: previous declaration of 'get_futex_key' with type 'int(u32 *, bool, union futex_key *, enum futex_access)' {aka 'int(unsigned int *, _Bool, union futex_key *, enum futex_access)'} -- In file included from kernel/futex/futex.h:12, from kernel/futex/syscalls.c:7: arch/mips/include/asm/futex.h: In function 'arch_futex_atomic_op_inuser': arch/mips/include/asm/futex.h:89:23: error: implicit declaration of function 'arch_futex_atomic_op_inuser_local'; did you mean 'futex_atomic_op_inuser_local'? [-Werror=implicit-function-declaration] 89 | ret = arch_futex_atomic_op_inuser_local(op, oparg, oval,\ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/mips/include/asm/futex.h:89:23: note: in definition of macro '__futex_atomic_op' 89 | ret = arch_futex_atomic_op_inuser_local(op, oparg, oval,\ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from kernel/futex/futex.h:12, from kernel/futex/syscalls.c:7: arch/mips/include/asm/futex.h:23:39: error: invalid storage class for function 'futex_atomic_cmpxchg_inatomic' 23 | #define futex_atomic_cmpxchg_inatomic futex_atomic_cmpxchg_inatomic | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/mips/include/asm/futex.h:133:1: note: in expansion of macro 'futex_atomic_cmpxchg_inatomic' 133 | futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from kernel/futex/futex.h:12, from kernel/futex/syscalls.c:7: >> arch/mips/include/asm/futex.h:132:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 132 | static inline int | ^~~~~~ In file included from kernel/futex/syscalls.c:7: kernel/futex/futex.h:33:27: error: section attribute cannot be specified for local variables 33 | extern int __read_mostly futex_cmpxchg_enabled; | ^~~~~~~~~~~~~~~~~~~~~ kernel/futex/futex.h:39:20: error: invalid storage class for function 'should_fail_futex' 39 | static inline bool should_fail_futex(bool fshared) | ^~~~~~~~~~~~~~~~~ kernel/futex/futex.h:140:19: error: invalid storage class for function 'futex_match' 140 | static inline int futex_match(union futex_key *key1, union futex_key *key2) | ^~~~~~~~~~~ kernel/futex/futex.h:175:20: error: invalid storage class for function 'futex_queue' 175 | static inline void futex_queue(struct futex_q *q, struct futex_hash_bucket *hb) | ^~~~~~~~~~~ kernel/futex/futex.h:189:20: error: invalid storage class for function 'futex_hb_waiters_inc' 189 | static inline void futex_hb_waiters_inc(struct futex_hash_bucket *hb) | ^~~~~~~~~~~~~~~~~~~~ kernel/futex/futex.h:204:20: error: invalid storage class for function 'futex_hb_waiters_dec' 204 | static inline void futex_hb_waiters_dec(struct futex_hash_bucket *hb) | ^~~~~~~~~~~~~~~~~~~~ kernel/futex/futex.h:211:19: error: invalid storage class for function 'futex_hb_waiters_pending' 211 | static inline int futex_hb_waiters_pending(struct futex_hash_bucket *hb) | ^~~~~~~~~~~~~~~~~~~~~~~~ kernel/futex/futex.h:244:1: error: invalid storage class for function 'double_lock_hb' 244 | double_lock_hb(struct futex_hash_bucket *hb1, struct futex_hash_bucket *hb2) | ^~~~~~~~~~~~~~ kernel/futex/futex.h:255:1: error: invalid storage class for function 'double_unlock_hb' 255 | double_unlock_hb(struct futex_hash_bucket *hb1, struct futex_hash_bucket *hb2) | ^~~~~~~~~~~~~~~~ In file included from kernel/futex/syscalls.c:4: >> kernel/futex/syscalls.c:29:41: warning: 'alias' attribute ignored [-Wattributes] 29 | SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head, | ^~~~~~~~~~~~~~~~ include/linux/syscalls.h:119:25: note: in definition of macro '__SC_DECL' 119 | #define __SC_DECL(t, a) t a | ^ include/linux/syscalls.h:117:22: note: in expansion of macro '__MAP2' 117 | #define __MAP(n,...) __MAP##n(__VA_ARGS__) | ^~~~~ include/linux/syscalls.h:243:35: note: in expansion of macro '__MAP' 243 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:219:36: note: in expansion of macro 'SYSCALL_DEFINEx' 219 | #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:29:1: note: in expansion of macro 'SYSCALL_DEFINE2' 29 | SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head, | ^~~~~~~~~~~~~~~ >> include/linux/syscalls.h:243:20: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 243 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:219:36: note: in expansion of macro 'SYSCALL_DEFINEx' 219 | #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:29:1: note: in expansion of macro 'SYSCALL_DEFINE2' 29 | SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:246:28: error: invalid storage class for function '__do_sys_set_robust_list' 246 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:219:36: note: in expansion of macro 'SYSCALL_DEFINEx' 219 | #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:29:1: note: in expansion of macro 'SYSCALL_DEFINE2' 29 | SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:246:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 246 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | ^~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:219:36: note: in expansion of macro 'SYSCALL_DEFINEx' 219 | #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:29:1: note: in expansion of macro 'SYSCALL_DEFINE2' 29 | SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:248:25: error: static declaration of '__se_sys_set_robust_list' follows non-static declaration 248 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:219:36: note: in expansion of macro 'SYSCALL_DEFINEx' 219 | #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:29:1: note: in expansion of macro 'SYSCALL_DEFINE2' 29 | SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:247:25: note: previous declaration of '__se_sys_set_robust_list' with type 'long int(long int, long int)' 247 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:219:36: note: in expansion of macro 'SYSCALL_DEFINEx' 219 | #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:29:1: note: in expansion of macro 'SYSCALL_DEFINE2' 29 | SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head, | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c: In function '__se_sys_set_robust_list': include/linux/syscalls.h:250:28: error: implicit declaration of function '__do_sys_set_robust_list'; did you mean '__se_sys_set_robust_list'? [-Werror=implicit-function-declaration] 250 | long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:219:36: note: in expansion of macro 'SYSCALL_DEFINEx' 219 | #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:29:1: note: in expansion of macro 'SYSCALL_DEFINE2' 29 | SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head, | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c: In function 'arch_futex_atomic_op_inuser': include/linux/syscalls.h:256:28: error: invalid storage class for function '__do_sys_set_robust_list' 256 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:219:36: note: in expansion of macro 'SYSCALL_DEFINEx' 219 | #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:29:1: note: in expansion of macro 'SYSCALL_DEFINE2' 29 | SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:256:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 256 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) | ^~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:219:36: note: in expansion of macro 'SYSCALL_DEFINEx' 219 | #define SYSCALL_DEFINE2(name, ...) SYSCALL_DEFINEx(2, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:29:1: note: in expansion of macro 'SYSCALL_DEFINE2' 29 | SYSCALL_DEFINE2(set_robust_list, struct robust_list_head __user *, head, | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:52:24: warning: 'alias' attribute ignored [-Wattributes] 52 | struct robust_list_head __user * __user *, head_ptr, | ^~~~~~~~~~~~~~~~ include/linux/syscalls.h:119:25: note: in definition of macro '__SC_DECL' 119 | #define __SC_DECL(t, a) t a | ^ include/linux/syscalls.h:113:35: note: in expansion of macro '__MAP2' 113 | #define __MAP3(m,t,a,...) m(t,a), __MAP2(m,__VA_ARGS__) | ^~~~~~ include/linux/syscalls.h:117:22: note: in expansion of macro '__MAP3' 117 | #define __MAP(n,...) __MAP##n(__VA_ARGS__) | ^~~~~ include/linux/syscalls.h:243:35: note: in expansion of macro '__MAP' 243 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:220:36: note: in expansion of macro 'SYSCALL_DEFINEx' 220 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:51:1: note: in expansion of macro 'SYSCALL_DEFINE3' 51 | SYSCALL_DEFINE3(get_robust_list, int, pid, | ^~~~~~~~~~~~~~~ >> include/linux/syscalls.h:243:20: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 243 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:220:36: note: in expansion of macro 'SYSCALL_DEFINEx' 220 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:51:1: note: in expansion of macro 'SYSCALL_DEFINE3' 51 | SYSCALL_DEFINE3(get_robust_list, int, pid, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:246:28: error: invalid storage class for function '__do_sys_get_robust_list' 246 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:220:36: note: in expansion of macro 'SYSCALL_DEFINEx' 220 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:51:1: note: in expansion of macro 'SYSCALL_DEFINE3' 51 | SYSCALL_DEFINE3(get_robust_list, int, pid, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:246:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 246 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | ^~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:220:36: note: in expansion of macro 'SYSCALL_DEFINEx' 220 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:51:1: note: in expansion of macro 'SYSCALL_DEFINE3' 51 | SYSCALL_DEFINE3(get_robust_list, int, pid, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:248:25: error: static declaration of '__se_sys_get_robust_list' follows non-static declaration 248 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:220:36: note: in expansion of macro 'SYSCALL_DEFINEx' 220 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:51:1: note: in expansion of macro 'SYSCALL_DEFINE3' 51 | SYSCALL_DEFINE3(get_robust_list, int, pid, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:247:25: note: previous declaration of '__se_sys_get_robust_list' with type 'long int(long int, long int, long int)' 247 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:220:36: note: in expansion of macro 'SYSCALL_DEFINEx' 220 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:51:1: note: in expansion of macro 'SYSCALL_DEFINE3' 51 | SYSCALL_DEFINE3(get_robust_list, int, pid, | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c: In function '__se_sys_get_robust_list': include/linux/syscalls.h:250:28: error: implicit declaration of function '__do_sys_get_robust_list'; did you mean '__do_sys_set_robust_list'? [-Werror=implicit-function-declaration] 250 | long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:220:36: note: in expansion of macro 'SYSCALL_DEFINEx' 220 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:51:1: note: in expansion of macro 'SYSCALL_DEFINE3' 51 | SYSCALL_DEFINE3(get_robust_list, int, pid, | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c: In function 'arch_futex_atomic_op_inuser': include/linux/syscalls.h:256:28: error: invalid storage class for function '__do_sys_get_robust_list' 256 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:220:36: note: in expansion of macro 'SYSCALL_DEFINEx' 220 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:51:1: note: in expansion of macro 'SYSCALL_DEFINE3' 51 | SYSCALL_DEFINE3(get_robust_list, int, pid, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:256:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 256 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) | ^~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:220:36: note: in expansion of macro 'SYSCALL_DEFINEx' 220 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:51:1: note: in expansion of macro 'SYSCALL_DEFINE3' 51 | SYSCALL_DEFINE3(get_robust_list, int, pid, | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:153:29: error: invalid storage class for function 'futex_cmd_has_timeout' 153 | static __always_inline bool futex_cmd_has_timeout(u32 cmd) | ^~~~~~~~~~~~~~~~~~~~~ kernel/futex/syscalls.c:167:1: error: invalid storage class for function 'futex_init_timeout' 167 | futex_init_timeout(u32 cmd, u32 op, struct timespec64 *ts, ktime_t *t) | ^~~~~~~~~~~~~~~~~~ In file included from kernel/futex/syscalls.c:4: kernel/futex/syscalls.c:181:30: warning: 'alias' attribute ignored [-Wattributes] 181 | const struct __kernel_timespec __user *, utime, | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:119:25: note: in definition of macro '__SC_DECL' 119 | #define __SC_DECL(t, a) t a | ^ include/linux/syscalls.h:114:35: note: in expansion of macro '__MAP3' 114 | #define __MAP4(m,t,a,...) m(t,a), __MAP3(m,__VA_ARGS__) | ^~~~~~ include/linux/syscalls.h:115:35: note: in expansion of macro '__MAP4' 115 | #define __MAP5(m,t,a,...) m(t,a), __MAP4(m,__VA_ARGS__) | ^~~~~~ include/linux/syscalls.h:116:35: note: in expansion of macro '__MAP5' 116 | #define __MAP6(m,t,a,...) m(t,a), __MAP5(m,__VA_ARGS__) | ^~~~~~ include/linux/syscalls.h:117:22: note: in expansion of macro '__MAP6' 117 | #define __MAP(n,...) __MAP##n(__VA_ARGS__) | ^~~~~ include/linux/syscalls.h:243:35: note: in expansion of macro '__MAP' 243 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:180:1: note: in expansion of macro 'SYSCALL_DEFINE6' 180 | SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ >> include/linux/syscalls.h:243:20: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 243 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:180:1: note: in expansion of macro 'SYSCALL_DEFINE6' 180 | SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:246:28: error: invalid storage class for function '__do_sys_futex' 246 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:180:1: note: in expansion of macro 'SYSCALL_DEFINE6' 180 | SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:246:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 246 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | ^~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:180:1: note: in expansion of macro 'SYSCALL_DEFINE6' 180 | SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:248:25: error: static declaration of '__se_sys_futex' follows non-static declaration 248 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:180:1: note: in expansion of macro 'SYSCALL_DEFINE6' 180 | SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:247:25: note: previous declaration of '__se_sys_futex' with type 'long int(long int, long int, long int, long int, long int, long int)' 247 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:180:1: note: in expansion of macro 'SYSCALL_DEFINE6' 180 | SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c: In function '__se_sys_futex': include/linux/syscalls.h:250:28: error: implicit declaration of function '__do_sys_futex'; did you mean '__se_sys_futex'? [-Werror=implicit-function-declaration] 250 | long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:180:1: note: in expansion of macro 'SYSCALL_DEFINE6' 180 | SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c: In function 'arch_futex_atomic_op_inuser': include/linux/syscalls.h:256:28: error: invalid storage class for function '__do_sys_futex' 256 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:180:1: note: in expansion of macro 'SYSCALL_DEFINE6' 180 | SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:256:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 256 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) | ^~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:180:1: note: in expansion of macro 'SYSCALL_DEFINE6' 180 | SYSCALL_DEFINE6(futex, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:213:12: error: invalid storage class for function 'futex_parse_waitv' 213 | static int futex_parse_waitv(struct futex_vector *futexv, | ^~~~~~~~~~~~~~~~~ In file included from kernel/futex/syscalls.c:4: kernel/futex/syscalls.c:264:24: warning: 'alias' attribute ignored [-Wattributes] 264 | struct __kernel_timespec __user *, timeout, clockid_t, clockid) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:119:25: note: in definition of macro '__SC_DECL' 119 | #define __SC_DECL(t, a) t a | ^ include/linux/syscalls.h:113:35: note: in expansion of macro '__MAP2' 113 | #define __MAP3(m,t,a,...) m(t,a), __MAP2(m,__VA_ARGS__) | ^~~~~~ include/linux/syscalls.h:114:35: note: in expansion of macro '__MAP3' 114 | #define __MAP4(m,t,a,...) m(t,a), __MAP3(m,__VA_ARGS__) | ^~~~~~ include/linux/syscalls.h:115:35: note: in expansion of macro '__MAP4' 115 | #define __MAP5(m,t,a,...) m(t,a), __MAP4(m,__VA_ARGS__) | ^~~~~~ include/linux/syscalls.h:117:22: note: in expansion of macro '__MAP5' 117 | #define __MAP(n,...) __MAP##n(__VA_ARGS__) | ^~~~~ include/linux/syscalls.h:243:35: note: in expansion of macro '__MAP' 243 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:222:36: note: in expansion of macro 'SYSCALL_DEFINEx' 222 | #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:262:1: note: in expansion of macro 'SYSCALL_DEFINE5' 262 | SYSCALL_DEFINE5(futex_waitv, struct futex_waitv __user *, waiters, | ^~~~~~~~~~~~~~~ >> include/linux/syscalls.h:243:20: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 243 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:222:36: note: in expansion of macro 'SYSCALL_DEFINEx' 222 | #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:262:1: note: in expansion of macro 'SYSCALL_DEFINE5' 262 | SYSCALL_DEFINE5(futex_waitv, struct futex_waitv __user *, waiters, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:246:28: error: invalid storage class for function '__do_sys_futex_waitv' 246 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:222:36: note: in expansion of macro 'SYSCALL_DEFINEx' 222 | #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:262:1: note: in expansion of macro 'SYSCALL_DEFINE5' 262 | SYSCALL_DEFINE5(futex_waitv, struct futex_waitv __user *, waiters, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:246:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 246 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | ^~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:222:36: note: in expansion of macro 'SYSCALL_DEFINEx' 222 | #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:262:1: note: in expansion of macro 'SYSCALL_DEFINE5' 262 | SYSCALL_DEFINE5(futex_waitv, struct futex_waitv __user *, waiters, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:248:25: error: static declaration of '__se_sys_futex_waitv' follows non-static declaration 248 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:222:36: note: in expansion of macro 'SYSCALL_DEFINEx' 222 | #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:262:1: note: in expansion of macro 'SYSCALL_DEFINE5' 262 | SYSCALL_DEFINE5(futex_waitv, struct futex_waitv __user *, waiters, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:247:25: note: previous declaration of '__se_sys_futex_waitv' with type 'long int(long int, long int, long int, long int, long int)' 247 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:222:36: note: in expansion of macro 'SYSCALL_DEFINEx' 222 | #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:262:1: note: in expansion of macro 'SYSCALL_DEFINE5' 262 | SYSCALL_DEFINE5(futex_waitv, struct futex_waitv __user *, waiters, | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c: In function '__se_sys_futex_waitv': include/linux/syscalls.h:250:28: error: implicit declaration of function '__do_sys_futex_waitv'; did you mean '__se_sys_futex_waitv'? [-Werror=implicit-function-declaration] 250 | long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:222:36: note: in expansion of macro 'SYSCALL_DEFINEx' 222 | #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:262:1: note: in expansion of macro 'SYSCALL_DEFINE5' 262 | SYSCALL_DEFINE5(futex_waitv, struct futex_waitv __user *, waiters, | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c: In function 'arch_futex_atomic_op_inuser': include/linux/syscalls.h:256:28: error: invalid storage class for function '__do_sys_futex_waitv' 256 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:222:36: note: in expansion of macro 'SYSCALL_DEFINEx' 222 | #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:262:1: note: in expansion of macro 'SYSCALL_DEFINE5' 262 | SYSCALL_DEFINE5(futex_waitv, struct futex_waitv __user *, waiters, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:256:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 256 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) | ^~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:222:36: note: in expansion of macro 'SYSCALL_DEFINEx' 222 | #define SYSCALL_DEFINE5(name, ...) SYSCALL_DEFINEx(5, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:262:1: note: in expansion of macro 'SYSCALL_DEFINE5' 262 | SYSCALL_DEFINE5(futex_waitv, struct futex_waitv __user *, waiters, | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:379:30: warning: 'alias' attribute ignored [-Wattributes] 379 | const struct old_timespec32 __user *, utime, u32 __user *, uaddr2, | ^~~~~~~~~~~~~~ include/linux/syscalls.h:119:25: note: in definition of macro '__SC_DECL' 119 | #define __SC_DECL(t, a) t a | ^ include/linux/syscalls.h:114:35: note: in expansion of macro '__MAP3' 114 | #define __MAP4(m,t,a,...) m(t,a), __MAP3(m,__VA_ARGS__) | ^~~~~~ include/linux/syscalls.h:115:35: note: in expansion of macro '__MAP4' 115 | #define __MAP5(m,t,a,...) m(t,a), __MAP4(m,__VA_ARGS__) | ^~~~~~ include/linux/syscalls.h:116:35: note: in expansion of macro '__MAP5' 116 | #define __MAP6(m,t,a,...) m(t,a), __MAP5(m,__VA_ARGS__) | ^~~~~~ include/linux/syscalls.h:117:22: note: in expansion of macro '__MAP6' 117 | #define __MAP(n,...) __MAP##n(__VA_ARGS__) | ^~~~~ include/linux/syscalls.h:243:35: note: in expansion of macro '__MAP' 243 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:378:1: note: in expansion of macro 'SYSCALL_DEFINE6' 378 | SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ >> include/linux/syscalls.h:243:20: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 243 | asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \ | ^~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:378:1: note: in expansion of macro 'SYSCALL_DEFINE6' 378 | SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:246:28: error: invalid storage class for function '__do_sys_futex_time32' 246 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:378:1: note: in expansion of macro 'SYSCALL_DEFINE6' 378 | SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:246:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 246 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | ^~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:378:1: note: in expansion of macro 'SYSCALL_DEFINE6' 378 | SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:248:25: error: static declaration of '__se_sys_futex_time32' follows non-static declaration 248 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:378:1: note: in expansion of macro 'SYSCALL_DEFINE6' 378 | SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:247:25: note: previous declaration of '__se_sys_futex_time32' with type 'long int(long int, long int, long int, long int, long int, long int)' 247 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:378:1: note: in expansion of macro 'SYSCALL_DEFINE6' 378 | SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c: In function '__se_sys_futex_time32': include/linux/syscalls.h:250:28: error: implicit declaration of function '__do_sys_futex_time32'; did you mean '__se_sys_futex_time32'? [-Werror=implicit-function-declaration] 250 | long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:378:1: note: in expansion of macro 'SYSCALL_DEFINE6' 378 | SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c: In function 'arch_futex_atomic_op_inuser': include/linux/syscalls.h:256:28: error: invalid storage class for function '__do_sys_futex_time32' 256 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) | ^~~~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:378:1: note: in expansion of macro 'SYSCALL_DEFINE6' 378 | SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:256:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 256 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) | ^~~~~~ include/linux/syscalls.h:229:9: note: in expansion of macro '__SYSCALL_DEFINEx' 229 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:223:36: note: in expansion of macro 'SYSCALL_DEFINEx' 223 | #define SYSCALL_DEFINE6(name, ...) SYSCALL_DEFINEx(6, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:378:1: note: in expansion of macro 'SYSCALL_DEFINE6' 378 | SYSCALL_DEFINE6(futex_time32, u32 __user *, uaddr, int, op, u32, val, | ^~~~~~~~~~~~~~~ kernel/futex/syscalls.c:396:1: error: expected declaration or statement at end of input 396 | } | ^ ..
vim +132 arch/mips/include/asm/futex.h
4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 21 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 22 #define arch_futex_atomic_op_inuser arch_futex_atomic_op_inuser 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 @23 #define futex_atomic_cmpxchg_inatomic futex_atomic_cmpxchg_inatomic 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 24 #include <asm-generic/futex.h> 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 25 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 26 #define __futex_atomic_op(op, insn, ret, oldval, uaddr, oparg) \ ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 27 { \ 256ec489f1c772 arch/mips/include/asm/futex.h Thomas Bogendoerfer 2020-08-24 28 if (cpu_has_llsc && IS_ENABLED(CONFIG_WAR_R10000_LLSC)) { \ ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 29 __asm__ __volatile__( \ ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 30 " .set push \n" \ ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 31 " .set noat \n" \ 378ed6f0e3c525 arch/mips/include/asm/futex.h Paul Burton 2018-11-08 32 " .set push \n" \ a809d46066d517 arch/mips/include/asm/futex.h Ralf Baechle 2014-03-30 33 " .set arch=r4000 \n" \ 0307e8d024dffc include/asm-mips/futex.h Atsushi Nemoto 2006-06-11 34 "1: ll %1, %4 # __futex_atomic_op \n" \ 378ed6f0e3c525 arch/mips/include/asm/futex.h Paul Burton 2018-11-08 35 " .set pop \n" \ ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 36 " " insn " \n" \ a809d46066d517 arch/mips/include/asm/futex.h Ralf Baechle 2014-03-30 37 " .set arch=r4000 \n" \ 0307e8d024dffc include/asm-mips/futex.h Atsushi Nemoto 2006-06-11 38 "2: sc $1, %2 \n" \ ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 39 " beqzl $1, 1b \n" \ fd7710cb491f90 arch/mips/include/asm/futex.h Paul Burton 2019-10-07 40 __stringify(__WEAK_LLSC_MB) " \n" \ ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 41 "3: \n" \ 0e525e48f73cc8 arch/mips/include/asm/futex.h Maciej W. Rozycki 2014-11-15 42 " .insn \n" \ ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 43 " .set pop \n" \ ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 44 " .section .fixup,\"ax\" \n" \ 0307e8d024dffc include/asm-mips/futex.h Atsushi Nemoto 2006-06-11 45 "4: li %0, %6 \n" \ 0f67e90e1caea4 include/asm-mips/futex.h Ralf Baechle 2007-11-20 46 " j 3b \n" \ ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 47 " .previous \n" \ ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 48 " .section __ex_table,\"a\" \n" \ ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 49 " "__UA_ADDR "\t1b, 4b \n" \ ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 50 " "__UA_ADDR "\t2b, 4b \n" \ ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 51 " .previous \n" \ b0984c43702f0f arch/mips/include/asm/futex.h Maciej W. Rozycki 2014-11-15 52 : "=r" (ret), "=&r" (oldval), \ 94bfb75ace81f7 arch/mips/include/asm/futex.h Markos Chandras 2015-01-26 53 "=" GCC_OFF_SMALL_ASM() (*uaddr) \ 94bfb75ace81f7 arch/mips/include/asm/futex.h Markos Chandras 2015-01-26 54 : "0" (0), GCC_OFF_SMALL_ASM() (*uaddr), "Jr" (oparg), \ b0984c43702f0f arch/mips/include/asm/futex.h Maciej W. Rozycki 2014-11-15 55 "i" (-EFAULT) \ 0307e8d024dffc include/asm-mips/futex.h Atsushi Nemoto 2006-06-11 56 : "memory"); \ 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 57 } else if (cpu_has_llsc) { \ 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 58 __asm__ __volatile__( \ 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 59 " .set push \n" \ 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 60 " .set noat \n" \ 378ed6f0e3c525 arch/mips/include/asm/futex.h Paul Burton 2018-11-08 61 " .set push \n" \ 1922c356ab2d00 arch/mips/include/asm/futex.h Markos Chandras 2014-11-19 62 " .set "MIPS_ISA_ARCH_LEVEL" \n" \ 3c1d3f0979721a arch/mips/include/asm/futex.h Paul Burton 2019-10-01 63 " " __SYNC(full, loongson3_war) " \n" \ a6813fe5c28656 arch/mips/include/asm/futex.h Markos Chandras 2013-12-04 64 "1: "user_ll("%1", "%4")" # __futex_atomic_op\n" \ 378ed6f0e3c525 arch/mips/include/asm/futex.h Paul Burton 2018-11-08 65 " .set pop \n" \ 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 66 " " insn " \n" \ 1922c356ab2d00 arch/mips/include/asm/futex.h Markos Chandras 2014-11-19 67 " .set "MIPS_ISA_ARCH_LEVEL" \n" \ a6813fe5c28656 arch/mips/include/asm/futex.h Markos Chandras 2013-12-04 68 "2: "user_sc("$1", "%2")" \n" \ 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 69 " beqz $1, 1b \n" \ fd7710cb491f90 arch/mips/include/asm/futex.h Paul Burton 2019-10-07 70 __stringify(__WEAK_LLSC_MB) " \n" \ 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 71 "3: \n" \ 0e525e48f73cc8 arch/mips/include/asm/futex.h Maciej W. Rozycki 2014-11-15 72 " .insn \n" \ 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 73 " .set pop \n" \ 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 74 " .section .fixup,\"ax\" \n" \ 0307e8d024dffc include/asm-mips/futex.h Atsushi Nemoto 2006-06-11 75 "4: li %0, %6 \n" \ 0f67e90e1caea4 include/asm-mips/futex.h Ralf Baechle 2007-11-20 76 " j 3b \n" \ 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 77 " .previous \n" \ 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 78 " .section __ex_table,\"a\" \n" \ 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 79 " "__UA_ADDR "\t1b, 4b \n" \ 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 80 " "__UA_ADDR "\t2b, 4b \n" \ 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 81 " .previous \n" \ b0984c43702f0f arch/mips/include/asm/futex.h Maciej W. Rozycki 2014-11-15 82 : "=r" (ret), "=&r" (oldval), \ 94bfb75ace81f7 arch/mips/include/asm/futex.h Markos Chandras 2015-01-26 83 "=" GCC_OFF_SMALL_ASM() (*uaddr) \ 94bfb75ace81f7 arch/mips/include/asm/futex.h Markos Chandras 2015-01-26 84 : "0" (0), GCC_OFF_SMALL_ASM() (*uaddr), "Jr" (oparg), \ b0984c43702f0f arch/mips/include/asm/futex.h Maciej W. Rozycki 2014-11-15 85 "i" (-EFAULT) \ 0307e8d024dffc include/asm-mips/futex.h Atsushi Nemoto 2006-06-11 86 : "memory"); \ 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 87 } else { \ 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 88 /* fallback for non-SMP */ \ 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 89 ret = arch_futex_atomic_op_inuser_local(op, oparg, oval,\ 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 90 uaddr); \ ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 91 } ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 92 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 93 static inline int 30d6e0a4190d37 arch/mips/include/asm/futex.h Jiri Slaby 2017-08-24 94 arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr) 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 95 { 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 96 int oldval = 0, ret; 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 97 a08971e9488d12 arch/mips/include/asm/futex.h Al Viro 2020-02-16 98 if (!access_ok(uaddr, sizeof(u32))) a08971e9488d12 arch/mips/include/asm/futex.h Al Viro 2020-02-16 99 return -EFAULT; 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 100 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 101 switch (op) { 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 102 case FUTEX_OP_SET: 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 103 __futex_atomic_op(op, "move $1, %z5", ret, oldval, uaddr, oparg); ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 104 break; ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 105 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 106 case FUTEX_OP_ADD: 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 107 __futex_atomic_op(op, "addu $1, %1, %z5", ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 108 ret, oldval, uaddr, oparg); ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 109 break; 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 110 case FUTEX_OP_OR: 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 111 __futex_atomic_op(op, "or $1, %1, %z5", ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 112 ret, oldval, uaddr, oparg); ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 113 break; 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 114 case FUTEX_OP_ANDN: 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 115 __futex_atomic_op(op, "and $1, %1, %z5", ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 116 ret, oldval, uaddr, ~oparg); ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 117 break; 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 118 case FUTEX_OP_XOR: 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 119 __futex_atomic_op(op, "xor $1, %1, %z5", ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 120 ret, oldval, uaddr, oparg); ebfaebae364c36 include/asm-mips/futex.h Ralf Baechle 2005-09-15 121 break; 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 122 default: 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 123 ret = -ENOSYS; 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 124 } 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 125 30d6e0a4190d37 arch/mips/include/asm/futex.h Jiri Slaby 2017-08-24 126 if (!ret) 30d6e0a4190d37 arch/mips/include/asm/futex.h Jiri Slaby 2017-08-24 127 *oval = oldval; 30d6e0a4190d37 arch/mips/include/asm/futex.h Jiri Slaby 2017-08-24 128 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 129 return ret; 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 130 } 4732efbeb99718 include/asm-mips/futex.h Jakub Jelinek 2005-09-06 131 e9056f13bfcdd0 include/asm-mips/futex.h Ingo Molnar 2006-03-27 @132 static inline int 8d7718aa082aaf arch/mips/include/asm/futex.h Michel Lespinasse 2011-03-10 133 futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, 8d7718aa082aaf arch/mips/include/asm/futex.h Michel Lespinasse 2011-03-10 134 u32 oldval, u32 newval) e9056f13bfcdd0 include/asm-mips/futex.h Ingo Molnar 2006-03-27 135 { 8d7718aa082aaf arch/mips/include/asm/futex.h Michel Lespinasse 2011-03-10 136 int ret = 0; 8d7718aa082aaf arch/mips/include/asm/futex.h Michel Lespinasse 2011-03-10 137 u32 val; 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 138 96d4f267e40f95 arch/mips/include/asm/futex.h Linus Torvalds 2019-01-03 139 if (!access_ok(uaddr, sizeof(u32))) 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 140 return -EFAULT; 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 141 256ec489f1c772 arch/mips/include/asm/futex.h Thomas Bogendoerfer 2020-08-24 142 if (cpu_has_llsc && IS_ENABLED(CONFIG_WAR_R10000_LLSC)) { 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 143 __asm__ __volatile__( 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 144 "# futex_atomic_cmpxchg_inatomic \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 145 " .set push \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 146 " .set noat \n" 378ed6f0e3c525 arch/mips/include/asm/futex.h Paul Burton 2018-11-08 147 " .set push \n" a809d46066d517 arch/mips/include/asm/futex.h Ralf Baechle 2014-03-30 148 " .set arch=r4000 \n" 37a9d912b24f96 arch/mips/include/asm/futex.h Michel Lespinasse 2011-03-10 149 "1: ll %1, %3 \n" 37a9d912b24f96 arch/mips/include/asm/futex.h Michel Lespinasse 2011-03-10 150 " bne %1, %z4, 3f \n" 378ed6f0e3c525 arch/mips/include/asm/futex.h Paul Burton 2018-11-08 151 " .set pop \n" 37a9d912b24f96 arch/mips/include/asm/futex.h Michel Lespinasse 2011-03-10 152 " move $1, %z5 \n" a809d46066d517 arch/mips/include/asm/futex.h Ralf Baechle 2014-03-30 153 " .set arch=r4000 \n" 37a9d912b24f96 arch/mips/include/asm/futex.h Michel Lespinasse 2011-03-10 154 "2: sc $1, %2 \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 155 " beqzl $1, 1b \n" fd7710cb491f90 arch/mips/include/asm/futex.h Paul Burton 2019-10-07 156 __stringify(__WEAK_LLSC_MB) " \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 157 "3: \n" 0e525e48f73cc8 arch/mips/include/asm/futex.h Maciej W. Rozycki 2014-11-15 158 " .insn \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 159 " .set pop \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 160 " .section .fixup,\"ax\" \n" 37a9d912b24f96 arch/mips/include/asm/futex.h Michel Lespinasse 2011-03-10 161 "4: li %0, %6 \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 162 " j 3b \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 163 " .previous \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 164 " .section __ex_table,\"a\" \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 165 " "__UA_ADDR "\t1b, 4b \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 166 " "__UA_ADDR "\t2b, 4b \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 167 " .previous \n" 94bfb75ace81f7 arch/mips/include/asm/futex.h Markos Chandras 2015-01-26 168 : "+r" (ret), "=&r" (val), "=" GCC_OFF_SMALL_ASM() (*uaddr) 94bfb75ace81f7 arch/mips/include/asm/futex.h Markos Chandras 2015-01-26 169 : GCC_OFF_SMALL_ASM() (*uaddr), "Jr" (oldval), "Jr" (newval), b0984c43702f0f arch/mips/include/asm/futex.h Maciej W. Rozycki 2014-11-15 170 "i" (-EFAULT) 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 171 : "memory"); 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 172 } else if (cpu_has_llsc) { 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 173 __asm__ __volatile__( 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 174 "# futex_atomic_cmpxchg_inatomic \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 175 " .set push \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 176 " .set noat \n" 378ed6f0e3c525 arch/mips/include/asm/futex.h Paul Burton 2018-11-08 177 " .set push \n" 1922c356ab2d00 arch/mips/include/asm/futex.h Markos Chandras 2014-11-19 178 " .set "MIPS_ISA_ARCH_LEVEL" \n" 3c1d3f0979721a arch/mips/include/asm/futex.h Paul Burton 2019-10-01 179 " " __SYNC(full, loongson3_war) " \n" a6813fe5c28656 arch/mips/include/asm/futex.h Markos Chandras 2013-12-04 180 "1: "user_ll("%1", "%3")" \n" 37a9d912b24f96 arch/mips/include/asm/futex.h Michel Lespinasse 2011-03-10 181 " bne %1, %z4, 3f \n" 378ed6f0e3c525 arch/mips/include/asm/futex.h Paul Burton 2018-11-08 182 " .set pop \n" 37a9d912b24f96 arch/mips/include/asm/futex.h Michel Lespinasse 2011-03-10 183 " move $1, %z5 \n" 1922c356ab2d00 arch/mips/include/asm/futex.h Markos Chandras 2014-11-19 184 " .set "MIPS_ISA_ARCH_LEVEL" \n" a6813fe5c28656 arch/mips/include/asm/futex.h Markos Chandras 2013-12-04 185 "2: "user_sc("$1", "%2")" \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 186 " beqz $1, 1b \n" 3c1d3f0979721a arch/mips/include/asm/futex.h Paul Burton 2019-10-01 187 "3: " __SYNC_ELSE(full, loongson3_war, __WEAK_LLSC_MB) "\n" 0e525e48f73cc8 arch/mips/include/asm/futex.h Maciej W. Rozycki 2014-11-15 188 " .insn \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 189 " .set pop \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 190 " .section .fixup,\"ax\" \n" 37a9d912b24f96 arch/mips/include/asm/futex.h Michel Lespinasse 2011-03-10 191 "4: li %0, %6 \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 192 " j 3b \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 193 " .previous \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 194 " .section __ex_table,\"a\" \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 195 " "__UA_ADDR "\t1b, 4b \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 196 " "__UA_ADDR "\t2b, 4b \n" 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 197 " .previous \n" 94bfb75ace81f7 arch/mips/include/asm/futex.h Markos Chandras 2015-01-26 198 : "+r" (ret), "=&r" (val), "=" GCC_OFF_SMALL_ASM() (*uaddr) 94bfb75ace81f7 arch/mips/include/asm/futex.h Markos Chandras 2015-01-26 199 : GCC_OFF_SMALL_ASM() (*uaddr), "Jr" (oldval), "Jr" (newval), b0984c43702f0f arch/mips/include/asm/futex.h Maciej W. Rozycki 2014-11-15 200 "i" (-EFAULT) 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 201 : "memory"); 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 202 } else { 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 203 return futex_atomic_cmpxchg_inatomic_local(uval, uaddr, oldval, newval); 2db331c581c8cc arch/mips/include/asm/futex.h Arnd Bergmann 2020-12-15 204 } 6ee1da94c5fed9 include/asm-mips/futex.h Ralf Baechle 2006-05-03 205 37a9d912b24f96 arch/mips/include/asm/futex.h Michel Lespinasse 2011-03-10 206 *uval = val; 37a9d912b24f96 arch/mips/include/asm/futex.h Michel Lespinasse 2011-03-10 207 return ret; e9056f13bfcdd0 include/asm-mips/futex.h Ingo Molnar 2006-03-27 208 } e9056f13bfcdd0 include/asm-mips/futex.h Ingo Molnar 2006-03-27 209
:::::: The code at line 132 was first introduced by commit :::::: e9056f13bfcdd054a0c3d730e4e096748d8a363a [PATCH] lightweight robust futexes: arch defaults
:::::: TO: Ingo Molnar <mingo@elte.hu> :::::: CC: Linus Torvalds <torvalds@g5.osdl.org>
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [unhandled content-type:application/gzip] |  |