Hi Stefan, [FYI, it's a private test report for your RFC patch.] [auto build test ERROR on zohar-integrity/next-integrity] [also build test ERROR on linus/master v5.16-rc3] [cannot apply to pcmoore-selinux/next jmorris-security/next-testing next-20211130] [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/Stefan-Berger/ima-Namespace-IMA-with-audit-support-in-IMA-ns/20211201-001242 base: https://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity.git next-integrity config: um-i386_defconfig (https://download.01.org/0day-ci/archive/20211201/202112010308.LL7v8AgH-lkp(a)intel.com/config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://github.com/0day-ci/linux/commit/16cf15c54af1f4eb0ad259bdc1d08f6d275817d3 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Stefan-Berger/ima-Namespace-IMA-with-audit-support-in-IMA-ns/20211201-001242 git checkout 16cf15c54af1f4eb0ad259bdc1d08f6d275817d3 # save the config file to linux build tree mkdir build_dir make W=1 O=build_dir ARCH=um SUBARCH=i386 SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): fs/namei.c: In function 'vfs_tmpfile': >> fs/namei.c:3488:26: error: passing argument 1 of 'ima_post_create_tmpfile' from incompatible pointer type [-Werror=incompatible-pointer-types] 3488 | ima_post_create_tmpfile(mnt_userns, inode); | ^~~~~~~~~~ | | | struct user_namespace * In file included from fs/namei.c:28: include/linux/ima.h:85:66: note: expected 'struct ima_namespace *' but argument is of type 'struct user_namespace *' 85 | static inline void ima_post_create_tmpfile(struct ima_namespace *ns, | ~~~~~~~~~~~~~~~~~~~~~~^~ fs/namei.c:3488:38: error: passing argument 2 of 'ima_post_create_tmpfile' from incompatible pointer type [-Werror=incompatible-pointer-types] 3488 | ima_post_create_tmpfile(mnt_userns, inode); | ^~~~~ | | | struct inode * In file included from fs/namei.c:28: include/linux/ima.h:86:32: note: expected 'struct user_namespace *' but argument is of type 'struct inode *' 86 | struct user_namespace *mnt_userns, | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ >> fs/namei.c:3488:2: error: too few arguments to function 'ima_post_create_tmpfile' 3488 | ima_post_create_tmpfile(mnt_userns, inode); | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from fs/namei.c:28: include/linux/ima.h:85:20: note: declared here 85 | static inline void ima_post_create_tmpfile(struct ima_namespace *ns, | ^~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/ima_post_create_tmpfile +3488 fs/namei.c fb1cc555d53386 Al Viro 2009-12-24 3441 6521f891708292 Christian Brauner 2021-01-21 3442 /** 6521f891708292 Christian Brauner 2021-01-21 3443 * vfs_tmpfile - create tmpfile 6521f891708292 Christian Brauner 2021-01-21 3444 * @mnt_userns: user namespace of the mount the inode was found from 6521f891708292 Christian Brauner 2021-01-21 3445 * @dentry: pointer to dentry of the base directory 6521f891708292 Christian Brauner 2021-01-21 3446 * @mode: mode of the new tmpfile 2111c3c0124f74 Randy Dunlap 2021-02-15 3447 * @open_flag: flags 6521f891708292 Christian Brauner 2021-01-21 3448 * 6521f891708292 Christian Brauner 2021-01-21 3449 * Create a temporary file. 6521f891708292 Christian Brauner 2021-01-21 3450 * 6521f891708292 Christian Brauner 2021-01-21 3451 * If the inode has been found through an idmapped mount the user namespace of 6521f891708292 Christian Brauner 2021-01-21 3452 * the vfsmount must be passed through @mnt_userns. This function will then take 6521f891708292 Christian Brauner 2021-01-21 3453 * care to map the inode according to @mnt_userns before checking permissions. 6521f891708292 Christian Brauner 2021-01-21 3454 * On non-idmapped mounts or if permission checking is to be performed on the 6521f891708292 Christian Brauner 2021-01-21 3455 * raw inode simply passs init_user_ns. 6521f891708292 Christian Brauner 2021-01-21 3456 */ 6521f891708292 Christian Brauner 2021-01-21 3457 struct dentry *vfs_tmpfile(struct user_namespace *mnt_userns, 6521f891708292 Christian Brauner 2021-01-21 3458 struct dentry *dentry, umode_t mode, int open_flag) af7bd4dc13093b Amir Goldstein 2017-01-17 3459 { af7bd4dc13093b Amir Goldstein 2017-01-17 3460 struct dentry *child = NULL; af7bd4dc13093b Amir Goldstein 2017-01-17 3461 struct inode *dir = dentry->d_inode; af7bd4dc13093b Amir Goldstein 2017-01-17 3462 struct inode *inode; af7bd4dc13093b Amir Goldstein 2017-01-17 3463 int error; af7bd4dc13093b Amir Goldstein 2017-01-17 3464 af7bd4dc13093b Amir Goldstein 2017-01-17 3465 /* we want directory to be writable */ 6521f891708292 Christian Brauner 2021-01-21 3466 error = inode_permission(mnt_userns, dir, MAY_WRITE | MAY_EXEC); af7bd4dc13093b Amir Goldstein 2017-01-17 3467 if (error) af7bd4dc13093b Amir Goldstein 2017-01-17 3468 goto out_err; af7bd4dc13093b Amir Goldstein 2017-01-17 3469 error = -EOPNOTSUPP; af7bd4dc13093b Amir Goldstein 2017-01-17 3470 if (!dir->i_op->tmpfile) af7bd4dc13093b Amir Goldstein 2017-01-17 3471 goto out_err; af7bd4dc13093b Amir Goldstein 2017-01-17 3472 error = -ENOMEM; cdf01226b26e98 David Howells 2017-07-04 3473 child = d_alloc(dentry, &slash_name); af7bd4dc13093b Amir Goldstein 2017-01-17 3474 if (unlikely(!child)) af7bd4dc13093b Amir Goldstein 2017-01-17 3475 goto out_err; 549c7297717c32 Christian Brauner 2021-01-21 3476 error = dir->i_op->tmpfile(mnt_userns, dir, child, mode); af7bd4dc13093b Amir Goldstein 2017-01-17 3477 if (error) af7bd4dc13093b Amir Goldstein 2017-01-17 3478 goto out_err; af7bd4dc13093b Amir Goldstein 2017-01-17 3479 error = -ENOENT; af7bd4dc13093b Amir Goldstein 2017-01-17 3480 inode = child->d_inode; af7bd4dc13093b Amir Goldstein 2017-01-17 3481 if (unlikely(!inode)) af7bd4dc13093b Amir Goldstein 2017-01-17 3482 goto out_err; af7bd4dc13093b Amir Goldstein 2017-01-17 3483 if (!(open_flag & O_EXCL)) { af7bd4dc13093b Amir Goldstein 2017-01-17 3484 spin_lock(&inode->i_lock); af7bd4dc13093b Amir Goldstein 2017-01-17 3485 inode->i_state |= I_LINKABLE; af7bd4dc13093b Amir Goldstein 2017-01-17 3486 spin_unlock(&inode->i_lock); af7bd4dc13093b Amir Goldstein 2017-01-17 3487 } a2d2329e30e224 Christian Brauner 2021-01-21 @3488 ima_post_create_tmpfile(mnt_userns, inode); af7bd4dc13093b Amir Goldstein 2017-01-17 3489 return child; af7bd4dc13093b Amir Goldstein 2017-01-17 3490 af7bd4dc13093b Amir Goldstein 2017-01-17 3491 out_err: af7bd4dc13093b Amir Goldstein 2017-01-17 3492 dput(child); af7bd4dc13093b Amir Goldstein 2017-01-17 3493 return ERR_PTR(error); af7bd4dc13093b Amir Goldstein 2017-01-17 3494 } af7bd4dc13093b Amir Goldstein 2017-01-17 3495 EXPORT_SYMBOL(vfs_tmpfile); af7bd4dc13093b Amir Goldstein 2017-01-17 3496 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org