Re: [PATCH v35 13/29] LSM: Use lsmblob in security_cred_getsecid

kernel test robot
2022-04-19T00:42:20Z

Hi Casey,

I love your patch! Yet something to improve:

[auto build test ERROR on pcmoore-selinux/next]
[also build test ERROR on linus/master v5.18-rc3 next-20220414]
[cannot apply to pcmoore-audit/next jmorris-security/next-testing]
[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]

url: https://github.com/intel-lab-lkp/linux/commits/Casey-Schaufler/integrity-disassociate-ima_filter_rule-from-security_audit_rule/20220419-000109
base: https://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux.git next
config: arm-milbeaut_m10v_defconfig (https://download.01.org/0day-ci/archive/20220419/202204190850.dXILQlrb-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 429cbac0390654f90bba18a41799464adf31a5ec)
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/2fa01492487f9135e9ea9e59924289cc23a66576
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Casey-Schaufler/integrity-disassociate-ima_filter_rule-from-security_audit_rule/20220419-000109
git checkout 2fa01492487f9135e9ea9e59924289cc23a66576
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash

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

All errors (new ones prefixed by >>):

In file included from drivers/firmware/efi/efi.c:33:
>> include/linux/security.h:1147:3: error: use of undeclared identifier 'secid'
*secid = 0;
^
drivers/firmware/efi/efi.c:169:16: warning: no previous prototype for function 'efi_attr_is_visible' [-Wmissing-prototypes]
umode_t __weak efi_attr_is_visible(struct kobject *kobj, struct attribute *attr,
^
drivers/firmware/efi/efi.c:169:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
umode_t __weak efi_attr_is_visible(struct kobject *kobj, struct attribute *attr,
^
static
1 warning and 1 error generated.
--
In file included from fs/iomap/trace.c:12:
In file included from fs/iomap/./trace.h:190:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:21:
In file included from include/linux/trace_events.h:10:
In file included from include/linux/perf_event.h:61:
>> include/linux/security.h:1147:3: error: use of undeclared identifier 'secid'
*secid = 0;
^
1 error generated.
--
In file included from init/main.c:21:
In file included from include/linux/syscalls.h:88:
In file included from include/trace/syscall.h:7:
In file included from include/linux/trace_events.h:10:
In file included from include/linux/perf_event.h:61:
>> include/linux/security.h:1147:3: error: use of undeclared identifier 'secid'
*secid = 0;
^
init/main.c:769:20: warning: no previous prototype for function 'arch_post_acpi_subsys_init' [-Wmissing-prototypes]
void __init __weak arch_post_acpi_subsys_init(void) { }
^
init/main.c:769:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __init __weak arch_post_acpi_subsys_init(void) { }
^
static
init/main.c:781:20: warning: no previous prototype for function 'mem_encrypt_init' [-Wmissing-prototypes]
void __init __weak mem_encrypt_init(void) { }
^
init/main.c:781:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __init __weak mem_encrypt_init(void) { }
^
static
init/main.c:783:20: warning: no previous prototype for function 'poking_init' [-Wmissing-prototypes]
void __init __weak poking_init(void) { }
^
init/main.c:783:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __init __weak poking_init(void) { }
^
static
3 warnings and 1 error generated.
--
In file included from arch/arm/kernel/ptrace.c:17:
>> include/linux/security.h:1147:3: error: use of undeclared identifier 'secid'
*secid = 0;
^
arch/arm/kernel/ptrace.c:852:16: warning: no previous prototype for function 'syscall_trace_enter' [-Wmissing-prototypes]
asmlinkage int syscall_trace_enter(struct pt_regs *regs)
^
arch/arm/kernel/ptrace.c:852:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
asmlinkage int syscall_trace_enter(struct pt_regs *regs)
^
static
arch/arm/kernel/ptrace.c:880:17: warning: no previous prototype for function 'syscall_trace_exit' [-Wmissing-prototypes]
asmlinkage void syscall_trace_exit(struct pt_regs *regs)
^
arch/arm/kernel/ptrace.c:880:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
asmlinkage void syscall_trace_exit(struct pt_regs *regs)
^
static
2 warnings and 1 error generated.
--
In file included from arch/arm/kernel/signal.c:14:
In file included from include/linux/syscalls.h:88:
In file included from include/trace/syscall.h:7:
In file included from include/linux/trace_events.h:10:
In file included from include/linux/perf_event.h:61:
>> include/linux/security.h:1147:3: error: use of undeclared identifier 'secid'
*secid = 0;
^
arch/arm/kernel/signal.c:186:16: warning: no previous prototype for function 'sys_sigreturn' [-Wmissing-prototypes]
asmlinkage int sys_sigreturn(struct pt_regs *regs)
^
arch/arm/kernel/signal.c:186:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
asmlinkage int sys_sigreturn(struct pt_regs *regs)
^
static
arch/arm/kernel/signal.c:216:16: warning: no previous prototype for function 'sys_rt_sigreturn' [-Wmissing-prototypes]
asmlinkage int sys_rt_sigreturn(struct pt_regs *regs)
^
arch/arm/kernel/signal.c:216:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
asmlinkage int sys_rt_sigreturn(struct pt_regs *regs)
^
static
arch/arm/kernel/signal.c:601:1: warning: no previous prototype for function 'do_work_pending' [-Wmissing-prototypes]
do_work_pending(struct pt_regs *regs, unsigned int thread_flags, int syscall)
^
arch/arm/kernel/signal.c:600:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
asmlinkage int
^
static
3 warnings and 1 error generated.
--
In file included from arch/arm/kernel/sys_arm.c:20:
In file included from include/linux/syscalls.h:88:
In file included from include/trace/syscall.h:7:
In file included from include/linux/trace_events.h:10:
In file included from include/linux/perf_event.h:61:
>> include/linux/security.h:1147:3: error: use of undeclared identifier 'secid'
*secid = 0;
^
In file included from arch/arm/kernel/sys_arm.c:21:
include/linux/mman.h:158:9: warning: division by zero is undefined [-Wdivision-by-zero]
_calc_vm_trans(flags, MAP_SYNC, VM_SYNC ) |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/mman.h:136:21: note: expanded from macro '_calc_vm_trans'
: ((x) & (bit1)) / ((bit1) / (bit2))))
^ ~~~~~~~~~~~~~~~~~
arch/arm/kernel/sys_arm.c:32:17: warning: no previous prototype for function 'sys_arm_fadvise64_64' [-Wmissing-prototypes]
asmlinkage long sys_arm_fadvise64_64(int fd, int advice,
^
arch/arm/kernel/sys_arm.c:32:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
asmlinkage long sys_arm_fadvise64_64(int fd, int advice,
^
static
2 warnings and 1 error generated.
--
In file included from arch/arm/kernel/smp.c:52:
In file included from include/trace/events/ipi.h:90:
In file included from include/trace/define_trace.h:102:
In file included from include/trace/trace_events.h:21:
In file included from include/linux/trace_events.h:10:
In file included from include/linux/perf_event.h:61:
>> include/linux/security.h:1147:3: error: use of undeclared identifier 'secid'
*secid = 0;
^
arch/arm/kernel/smp.c:582:6: warning: no previous prototype for function 'arch_irq_work_raise' [-Wmissing-prototypes]
void arch_irq_work_raise(void)
^
arch/arm/kernel/smp.c:582:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void arch_irq_work_raise(void)
^
static
arch/arm/kernel/smp.c:793:5: warning: no previous prototype for function 'setup_profiling_timer' [-Wmissing-prototypes]
int setup_profiling_timer(unsigned int multiplier)
^
arch/arm/kernel/smp.c:793:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int setup_profiling_timer(unsigned int multiplier)
^
static
2 warnings and 1 error generated.
--
In file included from arch/arm/mm/fault.c:19:
In file included from include/linux/perf_event.h:61:
>> include/linux/security.h:1147:3: error: use of undeclared identifier 'secid'
*secid = 0;
^
arch/arm/mm/fault.c:535:1: warning: no previous prototype for function 'do_DataAbort' [-Wmissing-prototypes]
do_DataAbort(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
^
arch/arm/mm/fault.c:534:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
asmlinkage void
^
static
arch/arm/mm/fault.c:565:1: warning: no previous prototype for function 'do_PrefetchAbort' [-Wmissing-prototypes]
do_PrefetchAbort(unsigned long addr, unsigned int ifsr, struct pt_regs *regs)
^
arch/arm/mm/fault.c:564:12: note: declare 'static' if the function is not intended to be used outside of this translation unit
asmlinkage void
^
static
2 warnings and 1 error generated.
--
In file included from kernel/fork.c:51:
>> include/linux/security.h:1147:3: error: use of undeclared identifier 'secid'
*secid = 0;
^
kernel/fork.c:163:13: warning: no previous prototype for function 'arch_release_task_struct' [-Wmissing-prototypes]
void __weak arch_release_task_struct(struct task_struct *tsk)
^
kernel/fork.c:163:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __weak arch_release_task_struct(struct task_struct *tsk)
^
static
kernel/fork.c:853:20: warning: no previous prototype for function 'arch_task_cache_init' [-Wmissing-prototypes]
void __init __weak arch_task_cache_init(void) { }
^
kernel/fork.c:853:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void __init __weak arch_task_cache_init(void) { }
^
static
kernel/fork.c:948:12: warning: no previous prototype for function 'arch_dup_task_struct' [-Wmissing-prototypes]
int __weak arch_dup_task_struct(struct task_struct *dst,
^
kernel/fork.c:948:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __weak arch_dup_task_struct(struct task_struct *dst,
^
static
3 warnings and 1 error generated.
--
In file included from kernel/signal.c:29:
>> include/linux/security.h:1147:3: error: use of undeclared identifier 'secid'
*secid = 0;
^
kernel/signal.c:137:37: warning: array index 3 is past the end of the array (which contains 2 elements) [-Warray-bounds]
case 4: ready = signal->sig[3] &~ blocked->sig[3];
^ ~
arch/arm/include/asm/signal.h:17:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
kernel/signal.c:137:19: warning: array index 3 is past the end of the array (which contains 2 elements) [-Warray-bounds]
case 4: ready = signal->sig[3] &~ blocked->sig[3];
^ ~
arch/arm/include/asm/signal.h:17:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
kernel/signal.c:138:30: warning: array index 2 is past the end of the array (which contains 2 elements) [-Warray-bounds]
ready |= signal->sig[2] &~ blocked->sig[2];
^ ~
arch/arm/include/asm/signal.h:17:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
kernel/signal.c:138:12: warning: array index 2 is past the end of the array (which contains 2 elements) [-Warray-bounds]
ready |= signal->sig[2] &~ blocked->sig[2];
^ ~
arch/arm/include/asm/signal.h:17:2: note: array 'sig' declared here
unsigned long sig[_NSIG_WORDS];
^
4 warnings and 1 error generated.
--
In file included from kernel/kallsyms.c:25:
In file included from include/linux/filter.h:20:
In file included from include/linux/if_vlan.h:10:
In file included from include/linux/netdevice.h:46:
In file included from include/uapi/linux/neighbour.h:6:
In file included from include/linux/netlink.h:9:
In file included from include/net/scm.h:8:
>> include/linux/security.h:1147:3: error: use of undeclared identifier 'secid'
*secid = 0;
^
kernel/kallsyms.c:591:12: warning: no previous prototype for function 'arch_get_kallsym' [-Wmissing-prototypes]
int __weak arch_get_kallsym(unsigned int symnum, unsigned long *value,
^
kernel/kallsyms.c:591:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __weak arch_get_kallsym(unsigned int symnum, unsigned long *value,
^
static
1 warning and 1 error generated.
..

vim +/secid +1147 include/linux/security.h

ee18d64c1f6320 David Howells 2009-09-02 1143
2fa01492487f91 Casey Schaufler 2022-04-18 1144 static inline void security_cred_getsecid(const struct cred *c,
2fa01492487f91 Casey Schaufler 2022-04-18 1145 struct lsmblob *blob)
4d5b5539742d25 Todd Kjos 2021-10-12 1146 {
4d5b5539742d25 Todd Kjos 2021-10-12 @1147 *secid = 0;
4d5b5539742d25 Todd Kjos 2021-10-12 1148 }
4d5b5539742d25 Todd Kjos 2021-10-12 1149

--
0-DAY CI Kernel Test Service