[PATCH v5 19/25] xtensa: define syscall_get_* functions

kbuild test robot lkp at intel.com
Wed Dec 12 10:45:25 UTC 2018


Hi Dmitry,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v4.20-rc6]
[cannot apply to next-20181211]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Dmitry-V-Levin/ptrace-add-PTRACE_GET_SYSCALL_INFO-request/20181210-174745
config: xtensa-allmodconfig (attached as .config)
compiler: xtensa-linux-gcc (GCC) 8.1.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=8.1.0 make.cross ARCH=xtensa 

All error/warnings (new ones prefixed by >>):

   In file included from arch/xtensa/kernel/syscall.c:19:
   arch/xtensa/include/asm/syscall.h: In function 'syscall_get_error':
   arch/xtensa/include/asm/syscall.h:66:9: error: implicit declaration of function 'IS_ERR_VALUE'; did you mean 'USER_PS_VALUE'? [-Werror=implicit-function-declaration]
     return IS_ERR_VALUE(regs->areg[2]) ? regs->areg[2] : 0;
            ^~~~~~~~~~~~
            USER_PS_VALUE
>> arch/xtensa/include/asm/syscall.h:69:1: error: invalid storage class for function 'syscall_get_return_value'
    syscall_get_return_value(struct task_struct *task, struct pt_regs *regs)
    ^~~~~~~~~~~~~~~~~~~~~~~~
>> arch/xtensa/include/asm/syscall.h:68:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
    static inline long
    ^~~~~~
>> arch/xtensa/include/asm/syscall.h:75:1: error: invalid storage class for function 'syscall_get_arch'
    syscall_get_arch(void)
    ^~~~~~~~~~~~~~~~
   In file included from include/linux/wait_bit.h:8,
                    from include/linux/fs.h:6,
                    from include/uapi/linux/aio_abi.h:31,
                    from include/linux/syscalls.h:74,
                    from arch/xtensa/kernel/syscall.c:24:
   include/linux/wait.h:31:19: error: field 'entry' has incomplete type
     struct list_head entry;
                      ^~~~~
   include/linux/wait.h:36:19: error: field 'head' has incomplete type
     struct list_head head;
                      ^~~~
   include/linux/wait.h:79:20: error: invalid storage class for function 'init_waitqueue_entry'
    static inline void init_waitqueue_entry(struct wait_queue_entry *wq_entry, struct task_struct *p)
                       ^~~~~~~~~~~~~~~~~~~~
   include/linux/wait.h:87:1: error: invalid storage class for function 'init_waitqueue_func_entry'
    init_waitqueue_func_entry(struct wait_queue_entry *wq_entry, wait_queue_func_t func)
    ^~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/wait.h:124:19: error: invalid storage class for function 'waitqueue_active'
    static inline int waitqueue_active(struct wait_queue_head *wq_head)
                      ^~~~~~~~~~~~~~~~
   include/linux/wait.h:137:20: error: invalid storage class for function 'wq_has_sleeper'
    static inline bool wq_has_sleeper(struct wait_queue_head *wq_head)
                       ^~~~~~~~~~~~~~
   include/linux/wait.h:154:20: error: invalid storage class for function '__add_wait_queue'
    static inline void __add_wait_queue(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry)
                       ^~~~~~~~~~~~~~~~
   include/linux/wait.h:163:1: error: invalid storage class for function '__add_wait_queue_exclusive'
    __add_wait_queue_exclusive(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/wait.h:169:20: error: invalid storage class for function '__add_wait_queue_entry_tail'
    static inline void __add_wait_queue_entry_tail(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/wait.h:175:1: error: invalid storage class for function '__add_wait_queue_entry_tail_exclusive'
    __add_wait_queue_entry_tail_exclusive(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/wait.h:182:1: error: invalid storage class for function '__remove_wait_queue'
    __remove_wait_queue(struct wait_queue_head *wq_head, struct wait_queue_entry *wq_entry)
    ^~~~~~~~~~~~~~~~~~~
   In file included from include/linux/fs.h:6,
                    from include/uapi/linux/aio_abi.h:31,
                    from include/linux/syscalls.h:74,
                    from arch/xtensa/kernel/syscall.c:24:
   include/linux/wait_bit.h:71:1: error: invalid storage class for function 'wait_on_bit'
    wait_on_bit(unsigned long *word, int bit, unsigned mode)
    ^~~~~~~~~~~
   include/linux/wait_bit.h:96:1: error: invalid storage class for function 'wait_on_bit_io'
    wait_on_bit_io(unsigned long *word, int bit, unsigned mode)
    ^~~~~~~~~~~~~~
   include/linux/wait_bit.h:122:1: error: invalid storage class for function 'wait_on_bit_timeout'
    wait_on_bit_timeout(unsigned long *word, int bit, unsigned mode,
    ^~~~~~~~~~~~~~~~~~~
   include/linux/wait_bit.h:150:1: error: invalid storage class for function 'wait_on_bit_action'
    wait_on_bit_action(unsigned long *word, int bit, wait_bit_action_f *action,
    ^~~~~~~~~~~~~~~~~~
   include/linux/wait_bit.h:179:1: error: invalid storage class for function 'wait_on_bit_lock'
    wait_on_bit_lock(unsigned long *word, int bit, unsigned mode)
    ^~~~~~~~~~~~~~~~
   include/linux/wait_bit.h:203:1: error: invalid storage class for function 'wait_on_bit_lock_io'
    wait_on_bit_lock_io(unsigned long *word, int bit, unsigned mode)
    ^~~~~~~~~~~~~~~~~~~
   include/linux/wait_bit.h:229:1: error: invalid storage class for function 'wait_on_bit_lock_action'
    wait_on_bit_lock_action(unsigned long *word, int bit, wait_bit_action_f *action,
    ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/wait_bit.h:317:20: error: invalid storage class for function 'clear_and_wake_up_bit'
    static inline void clear_and_wake_up_bit(int bit, void *word)
                       ^~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/fs.h:7,
                    from include/uapi/linux/aio_abi.h:31,
                    from include/linux/syscalls.h:74,
                    from arch/xtensa/kernel/syscall.c:24:
   include/linux/kdev_t.h:24:20: error: invalid storage class for function 'old_valid_dev'
    static inline bool old_valid_dev(dev_t dev)
                       ^~~~~~~~~~~~~
   include/linux/kdev_t.h:29:19: error: invalid storage class for function 'old_encode_dev'
    static inline u16 old_encode_dev(dev_t dev)
                      ^~~~~~~~~~~~~~
   include/linux/kdev_t.h:34:21: error: invalid storage class for function 'old_decode_dev'
    static inline dev_t old_decode_dev(u16 val)
                        ^~~~~~~~~~~~~~
   include/linux/kdev_t.h:39:19: error: invalid storage class for function 'new_encode_dev'
    static inline u32 new_encode_dev(dev_t dev)
                      ^~~~~~~~~~~~~~
   include/linux/kdev_t.h:46:21: error: invalid storage class for function 'new_decode_dev'
    static inline dev_t new_decode_dev(u32 dev)
                        ^~~~~~~~~~~~~~
   include/linux/kdev_t.h:53:19: error: invalid storage class for function 'huge_encode_dev'
    static inline u64 huge_encode_dev(dev_t dev)
                      ^~~~~~~~~~~~~~~
   include/linux/kdev_t.h:58:21: error: invalid storage class for function 'huge_decode_dev'
    static inline dev_t huge_decode_dev(u64 dev)
                        ^~~~~~~~~~~~~~~
   include/linux/kdev_t.h:63:19: error: invalid storage class for function 'sysv_valid_dev'
    static inline int sysv_valid_dev(dev_t dev)
                      ^~~~~~~~~~~~~~
   include/linux/kdev_t.h:68:19: error: invalid storage class for function 'sysv_encode_dev'
    static inline u32 sysv_encode_dev(dev_t dev)
                      ^~~~~~~~~~~~~~~
   include/linux/kdev_t.h:73:24: error: invalid storage class for function 'sysv_major'

vim +/syscall_get_return_value +69 arch/xtensa/include/asm/syscall.h

    62	
    63	static inline long
    64	syscall_get_error(struct task_struct *task, struct pt_regs *regs)
    65	{
  > 66		return IS_ERR_VALUE(regs->areg[2]) ? regs->areg[2] : 0;
    67	
  > 68	static inline long
  > 69	syscall_get_return_value(struct task_struct *task, struct pt_regs *regs)
    70	{
    71		return regs->areg[2];
    72	}
    73	
    74	static inline int
  > 75	syscall_get_arch(void)
    76	{
    77		return AUDIT_ARCH_XTENSA;
    78	}
    79	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 55662 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/linux-audit/attachments/20181212/c348b010/attachment.gz>


More information about the Linux-audit mailing list