Hi "Eric, Thank you for the patch! Yet something to improve: [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