kernel test robot writes: > Hi "Eric, > > Thank you for the patch! Yet something to improve: Fixed already. Thank you for noticing as well. Eric > [auto build test ERROR on linux/master] > [also build test ERROR on v5.15-rc6] > [cannot apply to linus/master jmorris-security/next-testing next-20211022] > [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/0day-ci/linux/commits/Eric-W-Biederman/ucounts-Pair-inc_rlimit_ucounts-with-dec_rlimit_ucoutns-in-commit_creds/20211019-022345 > base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git ec681c53f8d2d0ee362ff67f5b98dd8263c15002 > config: arc-allyesconfig (attached as .config) > compiler: arceb-elf-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://github.com/0day-ci/linux/commit/78e52b4abddecd7a6666f768874ee737c292830d > git remote add linux-review https://github.com/0day-ci/linux > git fetch --no-tags linux-review Eric-W-Biederman/ucounts-Pair-inc_rlimit_ucounts-with-dec_rlimit_ucoutns-in-commit_creds/20211019-022345 > git checkout 78e52b4abddecd7a6666f768874ee737c292830d > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arc > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot > > All errors (new ones prefixed by >>): > > In file included from arch/arc/include/asm/bug.h:30, > from include/linux/bug.h:5, > from include/linux/thread_info.h:13, > from include/asm-generic/preempt.h:5, > from ./arch/arc/include/generated/asm/preempt.h:1, > from include/linux/preempt.h:78, > from include/linux/rcupdate.h:27, > from include/linux/rculist.h:11, > from include/linux/pid.h:5, > from include/linux/sched.h:14, > from security/keys/process_keys.c:9: > security/keys/process_keys.c: In function 'key_change_session_keyring': >>> security/keys/process_keys.c:923:30: error: format '%s' expects a matching 'char *' argument [-Werror=format=] > 923 | WARN_ONCE(1, "In %s get_ucounts failed\n"); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ > include/asm-generic/bug.h:91:62: note: in definition of macro '__WARN_printf' > 91 | warn_slowpath_fmt(__FILE__, __LINE__, taint, arg); \ > | ^~~ > include/linux/once_lite.h:19:25: note: in expansion of macro 'WARN' > 19 | func(__VA_ARGS__); \ > | ^~~~ > include/asm-generic/bug.h:150:9: note: in expansion of macro 'DO_ONCE_LITE_IF' > 150 | DO_ONCE_LITE_IF(condition, WARN, 1, format) > | ^~~~~~~~~~~~~~~ > security/keys/process_keys.c:923:17: note: in expansion of macro 'WARN_ONCE' > 923 | WARN_ONCE(1, "In %s get_ucounts failed\n"); > | ^~~~~~~~~ > security/keys/process_keys.c:923:35: note: format string is defined here > 923 | WARN_ONCE(1, "In %s get_ucounts failed\n"); > | ~^ > | | > | char * > cc1: all warnings being treated as errors > > > vim +923 security/keys/process_keys.c > > 906 > 907 /* > 908 * Replace a process's session keyring on behalf of one of its children when > 909 * the target process is about to resume userspace execution. > 910 */ > 911 void key_change_session_keyring(struct callback_head *twork) > 912 { > 913 const struct cred *old = current_cred(); > 914 struct cred *new = container_of(twork, struct cred, rcu); > 915 > 916 if (unlikely(current->flags & PF_EXITING)) { > 917 put_cred(new); > 918 return; > 919 } > 920 > 921 /* If get_ucounts fails more bits are needed in the refcount */ > 922 if (unlikely(!get_ucounts(old->ucounts))) { > > 923 WARN_ONCE(1, "In %s get_ucounts failed\n"); > 924 put_cred(new); > 925 return; > 926 } > 927 > 928 new-> uid = old-> uid; > 929 new-> euid = old-> euid; > 930 new-> suid = old-> suid; > 931 new->fsuid = old->fsuid; > 932 new-> gid = old-> gid; > 933 new-> egid = old-> egid; > 934 new-> sgid = old-> sgid; > 935 new->fsgid = old->fsgid; > 936 new->user = get_uid(old->user); > 937 new->ucounts = old->ucounts; > 938 new->user_ns = get_user_ns(old->user_ns); > 939 new->group_info = get_group_info(old->group_info); > 940 > 941 new->securebits = old->securebits; > 942 new->cap_inheritable = old->cap_inheritable; > 943 new->cap_permitted = old->cap_permitted; > 944 new->cap_effective = old->cap_effective; > 945 new->cap_ambient = old->cap_ambient; > 946 new->cap_bset = old->cap_bset; > 947 > 948 new->jit_keyring = old->jit_keyring; > 949 new->thread_keyring = key_get(old->thread_keyring); > 950 new->process_keyring = key_get(old->process_keyring); > 951 > 952 security_transfer_creds(new, old); > 953 > 954 commit_creds(new); > 955 } > 956 > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org