Hi Casey, I love your patch! Perhaps something to improve: [auto build test WARNING on tip/perf/core] [also build test WARNING on acme/perf/core shuah-kselftest/next shuah-kselftest/fixes linus/master v6.1-rc6] [cannot apply to next-20221125] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Casey-Schaufler/LSM-Identify-modules-by-more-than-name/20221124-051600 patch link: https://lore.kernel.org/r/20221123201552.7865-6-casey%40schaufler-ca.com patch subject: [PATCH v3 5/9] LSM: lsm_get_self_attr syscall for LSM self attributes config: arc-randconfig-r043-20221124 compiler: arc-elf-gcc (GCC) 12.1.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://github.com/intel-lab-lkp/linux/commit/3ac4c5ad809a20ae21e121f48716bade40790d55 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Casey-Schaufler/LSM-Identify-modules-by-more-than-name/20221124-051600 git checkout 3ac4c5ad809a20ae21e121f48716bade40790d55 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash arch/arc/kernel/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All warnings (new ones prefixed by >>): In file included from arch/arc/kernel/process.c:19: >> include/linux/syscalls.h:1060:46: warning: 'struct lsm_ctx' declared inside parameter list will not be visible outside of this definition or declaration 1060 | asmlinkage long sys_lsm_get_self_attr(struct lsm_ctx *ctx, size_t *size, | ^~~~~~~ -- In file included from arch/arc/kernel/signal.c:51: >> include/linux/syscalls.h:1060:46: warning: 'struct lsm_ctx' declared inside parameter list will not be visible outside of this definition or declaration 1060 | asmlinkage long sys_lsm_get_self_attr(struct lsm_ctx *ctx, size_t *size, | ^~~~~~~ arch/arc/kernel/signal.c:401:6: warning: no previous prototype for 'do_signal' [-Wmissing-prototypes] 401 | void do_signal(struct pt_regs *regs) | ^~~~~~~~~ arch/arc/kernel/signal.c:434:6: warning: no previous prototype for 'do_notify_resume' [-Wmissing-prototypes] 434 | void do_notify_resume(struct pt_regs *regs) | ^~~~~~~~~~~~~~~~ -- In file included from arch/arc/kernel/sys.c:3: >> include/linux/syscalls.h:1060:46: warning: 'struct lsm_ctx' declared inside parameter list will not be visible outside of this definition or declaration 1060 | asmlinkage long sys_lsm_get_self_attr(struct lsm_ctx *ctx, size_t *size, | ^~~~~~~ arch/arc/kernel/sys.c:13:36: warning: initialized field overwritten [-Woverride-init] 13 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:29:37: note: in expansion of macro '__SYSCALL' 29 | #define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _sys) | ^~~~~~~~~ include/uapi/asm-generic/unistd.h:34:1: note: in expansion of macro '__SC_COMP' 34 | __SC_COMP(__NR_io_setup, sys_io_setup, compat_sys_io_setup) | ^~~~~~~~~ arch/arc/kernel/sys.c:13:36: note: (near initialization for 'sys_call_table[0]') 13 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:29:37: note: in expansion of macro '__SYSCALL' 29 | #define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _sys) | ^~~~~~~~~ include/uapi/asm-generic/unistd.h:34:1: note: in expansion of macro '__SC_COMP' 34 | __SC_COMP(__NR_io_setup, sys_io_setup, compat_sys_io_setup) | ^~~~~~~~~ arch/arc/kernel/sys.c:13:36: warning: initialized field overwritten [-Woverride-init] 13 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:36:1: note: in expansion of macro '__SYSCALL' 36 | __SYSCALL(__NR_io_destroy, sys_io_destroy) | ^~~~~~~~~ arch/arc/kernel/sys.c:13:36: note: (near initialization for 'sys_call_table[1]') 13 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:36:1: note: in expansion of macro '__SYSCALL' 36 | __SYSCALL(__NR_io_destroy, sys_io_destroy) | ^~~~~~~~~ arch/arc/kernel/sys.c:13:36: warning: initialized field overwritten [-Woverride-init] 13 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:29:37: note: in expansion of macro '__SYSCALL' 29 | #define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _sys) | ^~~~~~~~~ include/uapi/asm-generic/unistd.h:38:1: note: in expansion of macro '__SC_COMP' 38 | __SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit) | ^~~~~~~~~ arch/arc/kernel/sys.c:13:36: note: (near initialization for 'sys_call_table[2]') 13 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:29:37: note: in expansion of macro '__SYSCALL' 29 | #define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _sys) | ^~~~~~~~~ include/uapi/asm-generic/unistd.h:38:1: note: in expansion of macro '__SC_COMP' 38 | __SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit) | ^~~~~~~~~ arch/arc/kernel/sys.c:13:36: warning: initialized field overwritten [-Woverride-init] 13 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:40:1: note: in expansion of macro '__SYSCALL' 40 | __SYSCALL(__NR_io_cancel, sys_io_cancel) | ^~~~~~~~~ arch/arc/kernel/sys.c:13:36: note: (near initialization for 'sys_call_table[3]') 13 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:40:1: note: in expansion of macro '__SYSCALL' 40 | __SYSCALL(__NR_io_cancel, sys_io_cancel) | ^~~~~~~~~ arch/arc/kernel/sys.c:13:36: warning: initialized field overwritten [-Woverride-init] 13 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:20:34: note: in expansion of macro '__SYSCALL' 20 | #define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _32) | ^~~~~~~~~ include/uapi/asm-generic/unistd.h:43:1: note: in expansion of macro '__SC_3264' 43 | __SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents) | ^~~~~~~~~ arch/arc/kernel/sys.c:13:36: note: (near initialization for 'sys_call_table[4]') 13 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:20:34: note: in expansion of macro '__SYSCALL' 20 | #define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _32) | ^~~~~~~~~ include/uapi/asm-generic/unistd.h:43:1: note: in expansion of macro '__SC_3264' 43 | __SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents) | ^~~~~~~~~ arch/arc/kernel/sys.c:13:36: warning: initialized field overwritten [-Woverride-init] 13 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:48:1: note: in expansion of macro '__SYSCALL' 48 | __SYSCALL(__NR_setxattr, sys_setxattr) | ^~~~~~~~~ arch/arc/kernel/sys.c:13:36: note: (near initialization for 'sys_call_table[5]') 13 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:48:1: note: in expansion of macro '__SYSCALL' 48 | __SYSCALL(__NR_setxattr, sys_setxattr) | ^~~~~~~~~ arch/arc/kernel/sys.c:13:36: warning: initialized field overwritten [-Woverride-init] 13 | #define __SYSCALL(nr, call) [nr] = (call), | ^ include/uapi/asm-generic/unistd.h:50:1: note: in expansion of macro '__SYSCALL' 50 | __SYSCALL(__NR_lsetxattr, sys_lsetxattr) | ^~~~~~~~~ arch/arc/kernel/sys.c:13:36: note: (near initialization for 'sys_call_table[6]') 13 | #define __SYSCALL(nr, call) [nr] = (call), vim +1060 include/linux/syscalls.h 904 905 /* mm/, CONFIG_MMU only */ 906 asmlinkage long sys_swapon(const char __user *specialfile, int swap_flags); 907 asmlinkage long sys_swapoff(const char __user *specialfile); 908 asmlinkage long sys_mprotect(unsigned long start, size_t len, 909 unsigned long prot); 910 asmlinkage long sys_msync(unsigned long start, size_t len, int flags); 911 asmlinkage long sys_mlock(unsigned long start, size_t len); 912 asmlinkage long sys_munlock(unsigned long start, size_t len); 913 asmlinkage long sys_mlockall(int flags); 914 asmlinkage long sys_munlockall(void); 915 asmlinkage long sys_mincore(unsigned long start, size_t len, 916 unsigned char __user * vec); 917 asmlinkage long sys_madvise(unsigned long start, size_t len, int behavior); 918 asmlinkage long sys_process_madvise(int pidfd, const struct iovec __user *vec, 919 size_t vlen, int behavior, unsigned int flags); 920 asmlinkage long sys_process_mrelease(int pidfd, unsigned int flags); 921 asmlinkage long sys_remap_file_pages(unsigned long start, unsigned long size, 922 unsigned long prot, unsigned long pgoff, 923 unsigned long flags); 924 asmlinkage long sys_mbind(unsigned long start, unsigned long len, 925 unsigned long mode, 926 const unsigned long __user *nmask, 927 unsigned long maxnode, 928 unsigned flags); 929 asmlinkage long sys_get_mempolicy(int __user *policy, 930 unsigned long __user *nmask, 931 unsigned long maxnode, 932 unsigned long addr, unsigned long flags); 933 asmlinkage long sys_set_mempolicy(int mode, const unsigned long __user *nmask, 934 unsigned long maxnode); 935 asmlinkage long sys_migrate_pages(pid_t pid, unsigned long maxnode, 936 const unsigned long __user *from, 937 const unsigned long __user *to); 938 asmlinkage long sys_move_pages(pid_t pid, unsigned long nr_pages, 939 const void __user * __user *pages, 940 const int __user *nodes, 941 int __user *status, 942 int flags); 943 944 asmlinkage long sys_rt_tgsigqueueinfo(pid_t tgid, pid_t pid, int sig, 945 siginfo_t __user *uinfo); 946 asmlinkage long sys_perf_event_open( 947 struct perf_event_attr __user *attr_uptr, 948 pid_t pid, int cpu, int group_fd, unsigned long flags); 949 asmlinkage long sys_accept4(int, struct sockaddr __user *, int __user *, int); 950 asmlinkage long sys_recvmmsg(int fd, struct mmsghdr __user *msg, 951 unsigned int vlen, unsigned flags, 952 struct __kernel_timespec __user *timeout); 953 asmlinkage long sys_recvmmsg_time32(int fd, struct mmsghdr __user *msg, 954 unsigned int vlen, unsigned flags, 955 struct old_timespec32 __user *timeout); 956 957 asmlinkage long sys_wait4(pid_t pid, int __user *stat_addr, 958 int options, struct rusage __user *ru); 959 asmlinkage long sys_prlimit64(pid_t pid, unsigned int resource, 960 const struct rlimit64 __user *new_rlim, 961 struct rlimit64 __user *old_rlim); 962 asmlinkage long sys_fanotify_init(unsigned int flags, unsigned int event_f_flags); 963 asmlinkage long sys_fanotify_mark(int fanotify_fd, unsigned int flags, 964 u64 mask, int fd, 965 const char __user *pathname); 966 asmlinkage long sys_name_to_handle_at(int dfd, const char __user *name, 967 struct file_handle __user *handle, 968 int __user *mnt_id, int flag); 969 asmlinkage long sys_open_by_handle_at(int mountdirfd, 970 struct file_handle __user *handle, 971 int flags); 972 asmlinkage long sys_clock_adjtime(clockid_t which_clock, 973 struct __kernel_timex __user *tx); 974 asmlinkage long sys_clock_adjtime32(clockid_t which_clock, 975 struct old_timex32 __user *tx); 976 asmlinkage long sys_syncfs(int fd); 977 asmlinkage long sys_setns(int fd, int nstype); 978 asmlinkage long sys_pidfd_open(pid_t pid, unsigned int flags); 979 asmlinkage long sys_sendmmsg(int fd, struct mmsghdr __user *msg, 980 unsigned int vlen, unsigned flags); 981 asmlinkage long sys_process_vm_readv(pid_t pid, 982 const struct iovec __user *lvec, 983 unsigned long liovcnt, 984 const struct iovec __user *rvec, 985 unsigned long riovcnt, 986 unsigned long flags); 987 asmlinkage long sys_process_vm_writev(pid_t pid, 988 const struct iovec __user *lvec, 989 unsigned long liovcnt, 990 const struct iovec __user *rvec, 991 unsigned long riovcnt, 992 unsigned long flags); 993 asmlinkage long sys_kcmp(pid_t pid1, pid_t pid2, int type, 994 unsigned long idx1, unsigned long idx2); 995 asmlinkage long sys_finit_module(int fd, const char __user *uargs, int flags); 996 asmlinkage long sys_sched_setattr(pid_t pid, 997 struct sched_attr __user *attr, 998 unsigned int flags); 999 asmlinkage long sys_sched_getattr(pid_t pid, 1000 struct sched_attr __user *attr, 1001 unsigned int size, 1002 unsigned int flags); 1003 asmlinkage long sys_renameat2(int olddfd, const char __user *oldname, 1004 int newdfd, const char __user *newname, 1005 unsigned int flags); 1006 asmlinkage long sys_seccomp(unsigned int op, unsigned int flags, 1007 void __user *uargs); 1008 asmlinkage long sys_getrandom(char __user *buf, size_t count, 1009 unsigned int flags); 1010 asmlinkage long sys_memfd_create(const char __user *uname_ptr, unsigned int flags); 1011 asmlinkage long sys_bpf(int cmd, union bpf_attr *attr, unsigned int size); 1012 asmlinkage long sys_execveat(int dfd, const char __user *filename, 1013 const char __user *const __user *argv, 1014 const char __user *const __user *envp, int flags); 1015 asmlinkage long sys_userfaultfd(int flags); 1016 asmlinkage long sys_membarrier(int cmd, unsigned int flags, int cpu_id); 1017 asmlinkage long sys_mlock2(unsigned long start, size_t len, int flags); 1018 asmlinkage long sys_copy_file_range(int fd_in, loff_t __user *off_in, 1019 int fd_out, loff_t __user *off_out, 1020 size_t len, unsigned int flags); 1021 asmlinkage long sys_preadv2(unsigned long fd, const struct iovec __user *vec, 1022 unsigned long vlen, unsigned long pos_l, unsigned long pos_h, 1023 rwf_t flags); 1024 asmlinkage long sys_pwritev2(unsigned long fd, const struct iovec __user *vec, 1025 unsigned long vlen, unsigned long pos_l, unsigned long pos_h, 1026 rwf_t flags); 1027 asmlinkage long sys_pkey_mprotect(unsigned long start, size_t len, 1028 unsigned long prot, int pkey); 1029 asmlinkage long sys_pkey_alloc(unsigned long flags, unsigned long init_val); 1030 asmlinkage long sys_pkey_free(int pkey); 1031 asmlinkage long sys_statx(int dfd, const char __user *path, unsigned flags, 1032 unsigned mask, struct statx __user *buffer); 1033 asmlinkage long sys_rseq(struct rseq __user *rseq, uint32_t rseq_len, 1034 int flags, uint32_t sig); 1035 asmlinkage long sys_open_tree(int dfd, const char __user *path, unsigned flags); 1036 asmlinkage long sys_move_mount(int from_dfd, const char __user *from_path, 1037 int to_dfd, const char __user *to_path, 1038 unsigned int ms_flags); 1039 asmlinkage long sys_mount_setattr(int dfd, const char __user *path, 1040 unsigned int flags, 1041 struct mount_attr __user *uattr, size_t usize); 1042 asmlinkage long sys_fsopen(const char __user *fs_name, unsigned int flags); 1043 asmlinkage long sys_fsconfig(int fs_fd, unsigned int cmd, const char __user *key, 1044 const void __user *value, int aux); 1045 asmlinkage long sys_fsmount(int fs_fd, unsigned int flags, unsigned int ms_flags); 1046 asmlinkage long sys_fspick(int dfd, const char __user *path, unsigned int flags); 1047 asmlinkage long sys_pidfd_send_signal(int pidfd, int sig, 1048 siginfo_t __user *info, 1049 unsigned int flags); 1050 asmlinkage long sys_pidfd_getfd(int pidfd, int fd, unsigned int flags); 1051 asmlinkage long sys_landlock_create_ruleset(const struct landlock_ruleset_attr __user *attr, 1052 size_t size, __u32 flags); 1053 asmlinkage long sys_landlock_add_rule(int ruleset_fd, enum landlock_rule_type rule_type, 1054 const void __user *rule_attr, __u32 flags); 1055 asmlinkage long sys_landlock_restrict_self(int ruleset_fd, __u32 flags); 1056 asmlinkage long sys_memfd_secret(unsigned int flags); 1057 asmlinkage long sys_set_mempolicy_home_node(unsigned long start, unsigned long len, 1058 unsigned long home_node, 1059 unsigned long flags); > 1060 asmlinkage long sys_lsm_get_self_attr(struct lsm_ctx *ctx, size_t *size, 1061 int flags); 1062 -- 0-DAY CI Kernel Test Service https://01.org/lkp