Hi Mark, Thank you for the patch! Yet something to improve: [auto build test ERROR on miklos-vfs/overlayfs-next] [also build test ERROR on linus/master next-20201016] [cannot apply to ext4/dev security/next-testing v5.9] [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/Mark-Salyzyn/overlayfs-override_creds-off-nested-get-xattr-fix/20201019-195516 base: https://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git overlayfs-next config: i386-randconfig-c001-20201019 (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 reproduce (this is a W=1 build): # https://github.com/0day-ci/linux/commit/1cb141c810d73ddaf9ef64889ed4d4fed81bb453 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Mark-Salyzyn/overlayfs-override_creds-off-nested-get-xattr-fix/20201019-195516 git checkout 1cb141c810d73ddaf9ef64889ed4d4fed81bb453 # save the attached .config to linux build tree make W=1 ARCH=i386 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All error/warnings (new ones prefixed by >>): In file included from fs/overlayfs/super.c:18: fs/overlayfs/overlayfs.h: In function 'ovl_do_getxattr': >> fs/overlayfs/overlayfs.h:187:32: error: passing argument 2 of '__vfs_getxattr' from incompatible pointer type [-Werror=incompatible-pointer-types] 187 | return __vfs_getxattr(dentry, name, value, size, XATTR_NOSECURITY); | ^~~~ | | | const char * In file included from fs/overlayfs/super.c:10: include/linux/xattr.h:50:61: note: expected 'struct inode *' but argument is of type 'const char *' 50 | ssize_t __vfs_getxattr(struct dentry *dentry, struct inode *inode, | ~~~~~~~~~~~~~~^~~~~ In file included from fs/overlayfs/super.c:18: >> fs/overlayfs/overlayfs.h:187:45: warning: passing argument 4 of '__vfs_getxattr' makes pointer from integer without a cast [-Wint-conversion] 187 | return __vfs_getxattr(dentry, name, value, size, XATTR_NOSECURITY); | ^~~~ | | | size_t {aka unsigned int} In file included from fs/overlayfs/super.c:10: include/linux/xattr.h:51:34: note: expected 'void *' but argument is of type 'size_t' {aka 'unsigned int'} 51 | const char *name, void *buffer, size_t size, int flags); | ~~~~~~^~~~~~ In file included from fs/overlayfs/super.c:18: >> fs/overlayfs/overlayfs.h:187:9: error: too few arguments to function '__vfs_getxattr' 187 | return __vfs_getxattr(dentry, name, value, size, XATTR_NOSECURITY); | ^~~~~~~~~~~~~~ In file included from fs/overlayfs/super.c:10: include/linux/xattr.h:50:9: note: declared here 50 | ssize_t __vfs_getxattr(struct dentry *dentry, struct inode *inode, | ^~~~~~~~~~~~~~ cc1: some warnings being treated as errors -- In file included from fs/overlayfs/namei.c:15: fs/overlayfs/overlayfs.h: In function 'ovl_do_getxattr': >> fs/overlayfs/overlayfs.h:187:32: error: passing argument 2 of '__vfs_getxattr' from incompatible pointer type [-Werror=incompatible-pointer-types] 187 | return __vfs_getxattr(dentry, name, value, size, XATTR_NOSECURITY); | ^~~~ | | | const char * In file included from fs/overlayfs/namei.c:11: include/linux/xattr.h:50:61: note: expected 'struct inode *' but argument is of type 'const char *' 50 | ssize_t __vfs_getxattr(struct dentry *dentry, struct inode *inode, | ~~~~~~~~~~~~~~^~~~~ In file included from fs/overlayfs/namei.c:15: >> fs/overlayfs/overlayfs.h:187:45: warning: passing argument 4 of '__vfs_getxattr' makes pointer from integer without a cast [-Wint-conversion] 187 | return __vfs_getxattr(dentry, name, value, size, XATTR_NOSECURITY); | ^~~~ | | | size_t {aka unsigned int} In file included from fs/overlayfs/namei.c:11: include/linux/xattr.h:51:34: note: expected 'void *' but argument is of type 'size_t' {aka 'unsigned int'} 51 | const char *name, void *buffer, size_t size, int flags); | ~~~~~~^~~~~~ In file included from fs/overlayfs/namei.c:15: >> fs/overlayfs/overlayfs.h:187:9: error: too few arguments to function '__vfs_getxattr' 187 | return __vfs_getxattr(dentry, name, value, size, XATTR_NOSECURITY); | ^~~~~~~~~~~~~~ In file included from fs/overlayfs/namei.c:11: include/linux/xattr.h:50:9: note: declared here 50 | ssize_t __vfs_getxattr(struct dentry *dentry, struct inode *inode, | ^~~~~~~~~~~~~~ In file included from fs/overlayfs/namei.c:15: >> fs/overlayfs/overlayfs.h:188:1: warning: control reaches end of non-void function [-Wreturn-type] 188 | } | ^ cc1: some warnings being treated as errors vim +/__vfs_getxattr +187 fs/overlayfs/overlayfs.h 181 182 static inline ssize_t ovl_do_getxattr(struct ovl_fs *ofs, struct dentry *dentry, 183 enum ovl_xattr ox, void *value, 184 size_t size) 185 { 186 const char *name = ovl_xattr(ofs, ox); > 187 return __vfs_getxattr(dentry, name, value, size, XATTR_NOSECURITY); > 188 } 189 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org