lkml.org 
[lkml]   [2022]   [Oct]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v1 6/8] LSM: lsm_self_attr syscall for LSM self attributes
    Hi Casey,

    I love your patch! Perhaps something to improve:

    [auto build test WARNING on kees/for-next/hardening]
    [also build test WARNING on pcmoore-selinux/next acme/perf/core linus/master v6.1-rc2 next-20221026]
    [cannot apply to tip/perf/core]
    [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/20221026-034541
    base: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git for-next/hardening
    patch link: https://lore.kernel.org/r/20221025184519.13231-7-casey%40schaufler-ca.com
    patch subject: [PATCH v1 6/8] LSM: lsm_self_attr syscall for LSM self attributes
    config: arm-randconfig-r031-20221025 (attached as .config)
    compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 791a7ae1ba3efd6bca96338e10ffde557ba83920)
    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
    # install arm cross compiling tool for clang build
    # apt-get install binutils-arm-linux-gnueabi
    # https://github.com/intel-lab-lkp/linux/commit/c9d17b230f202246a9451fbdefac8c1720eb68a6
    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/20221026-034541
    git checkout c9d17b230f202246a9451fbdefac8c1720eb68a6
    # save the config file
    mkdir build_dir && cp config build_dir/.config
    COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash kernel/time/ security/

    If you fix the issue, kindly add following tag where applicable
    | Reported-by: kernel test robot <lkp@intel.com>

    All warnings (new ones prefixed by >>):

    In file included from security/lsm_syscalls.c:15:
    >> include/linux/syscalls.h:1060:42: warning: declaration of 'struct lsm_ctx' will not be visible outside of this function [-Wvisibility]
    asmlinkage long sys_lsm_self_attr(struct lsm_ctx *ctx, size_t *size, int flags);
    ^
    security/lsm_syscalls.c:47:1: error: conflicting types for 'sys_lsm_self_attr'
    SYSCALL_DEFINE3(lsm_self_attr,
    ^
    include/linux/syscalls.h:220:36: note: expanded from macro 'SYSCALL_DEFINE3'
    #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__)
    ^
    include/linux/syscalls.h:229:2: note: expanded from macro 'SYSCALL_DEFINEx'
    __SYSCALL_DEFINEx(x, sname, __VA_ARGS__)
    ^
    include/linux/syscalls.h:243:18: note: expanded from macro '__SYSCALL_DEFINEx'
    asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) \
    ^
    <scratch space>:65:1: note: expanded from here
    sys_lsm_self_attr
    ^
    include/linux/syscalls.h:1060:17: note: previous declaration is here
    asmlinkage long sys_lsm_self_attr(struct lsm_ctx *ctx, size_t *size, int flags);
    ^
    1 warning and 1 error generated.
    --
    In file included from kernel/time/time.c:33:
    >> include/linux/syscalls.h:1060:42: warning: declaration of 'struct lsm_ctx' will not be visible outside of this function [-Wvisibility]
    asmlinkage long sys_lsm_self_attr(struct lsm_ctx *ctx, size_t *size, int flags);
    ^
    1 warning generated.
    --
    In file included from kernel/time/timer.c:35:
    >> include/linux/syscalls.h:1060:42: warning: declaration of 'struct lsm_ctx' will not be visible outside of this function [-Wvisibility]
    asmlinkage long sys_lsm_self_attr(struct lsm_ctx *ctx, size_t *size, int flags);
    ^
    kernel/time/timer.c:1365:20: warning: unused function 'del_timer_wait_running' [-Wunused-function]
    static inline void del_timer_wait_running(struct timer_list *timer) { }
    ^
    2 warnings generated.
    --
    In file included from kernel/time/hrtimer.c:30:
    >> include/linux/syscalls.h:1060:42: warning: declaration of 'struct lsm_ctx' will not be visible outside of this function [-Wvisibility]
    asmlinkage long sys_lsm_self_attr(struct lsm_ctx *ctx, size_t *size, int flags);
    ^
    kernel/time/hrtimer.c:120:21: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
    [CLOCK_REALTIME] = HRTIMER_BASE_REALTIME,
    ^~~~~~~~~~~~~~~~~~~~~
    kernel/time/hrtimer.c:118:27: note: previous initialization is here
    [0 ... MAX_CLOCKS - 1] = HRTIMER_MAX_CLOCK_BASES,
    ^~~~~~~~~~~~~~~~~~~~~~~
    kernel/time/hrtimer.c:121:22: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
    [CLOCK_MONOTONIC] = HRTIMER_BASE_MONOTONIC,
    ^~~~~~~~~~~~~~~~~~~~~~
    kernel/time/hrtimer.c:118:27: note: previous initialization is here
    [0 ... MAX_CLOCKS - 1] = HRTIMER_MAX_CLOCK_BASES,
    ^~~~~~~~~~~~~~~~~~~~~~~
    kernel/time/hrtimer.c:122:21: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
    [CLOCK_BOOTTIME] = HRTIMER_BASE_BOOTTIME,
    ^~~~~~~~~~~~~~~~~~~~~
    kernel/time/hrtimer.c:118:27: note: previous initialization is here
    [0 ... MAX_CLOCKS - 1] = HRTIMER_MAX_CLOCK_BASES,
    ^~~~~~~~~~~~~~~~~~~~~~~
    kernel/time/hrtimer.c:123:17: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides]
    [CLOCK_TAI] = HRTIMER_BASE_TAI,
    ^~~~~~~~~~~~~~~~
    kernel/time/hrtimer.c:118:27: note: previous initialization is here
    [0 ... MAX_CLOCKS - 1] = HRTIMER_MAX_CLOCK_BASES,
    ^~~~~~~~~~~~~~~~~~~~~~~
    kernel/time/hrtimer.c:1648:7: warning: variable 'expires_in_hardirq' set but not used [-Wunused-but-set-variable]
    bool expires_in_hardirq;
    ^
    kernel/time/hrtimer.c:276:20: warning: unused function 'is_migration_base' [-Wunused-function]
    static inline bool is_migration_base(struct hrtimer_clock_base *base)
    ^
    kernel/time/hrtimer.c:1873:20: warning: unused function '__hrtimer_peek_ahead_timers' [-Wunused-function]
    static inline void __hrtimer_peek_ahead_timers(void)
    ^
    8 warnings generated.
    --
    In file included from kernel/time/posix-stubs.c:13:
    >> include/linux/syscalls.h:1060:42: warning: declaration of 'struct lsm_ctx' will not be visible outside of this function [-Wvisibility]
    asmlinkage long sys_lsm_self_attr(struct lsm_ctx *ctx, size_t *size, int flags);
    ^
    kernel/time/posix-stubs.c:25:17: warning: no previous prototype for function 'sys_ni_posix_timers' [-Wmissing-prototypes]
    asmlinkage long sys_ni_posix_timers(void)
    ^
    kernel/time/posix-stubs.c:25:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
    asmlinkage long sys_ni_posix_timers(void)
    ^
    static
    2 warnings generated.


    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_self_attr(struct lsm_ctx *ctx, size_t *size, int flags);
    1061

    --
    0-DAY CI Kernel Test Service
    https://01.org/lkp
    [unhandled content-type:application/gzip]
    \
     
     \ /
      Last update: 2022-10-26 09:03    [W:3.186 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site