tree:
https://android.googlesource.com/kernel/common android-mainline-tracking
head: 74f61c888eeeb9cbc57d44c61fafe32df9b3da51
commit: f2a64330429497063865c4a69cff003b698dbb91 [357/836] ANDROID: Initial commit of
Incremental FS
config: x86_64-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
git remote add android-common
https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android-mainline-tracking
git checkout f2a64330429497063865c4a69cff003b698dbb91
# save the attached .config to linux build tree
make W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the android-common/android-mainline-tracking HEAD
74f61c888eeeb9cbc57d44c61fafe32df9b3da51 builds fine.
It only hurts bisectibility.
All errors (new ones prefixed by >>):
fs/incfs/format.c: In function 'truncate_backing_file':
> fs/incfs/format.c:86:25: error: passing argument 1 of
'notify_change' from incompatible pointer type
[-Werror=incompatible-pointer-types]
86 | result = notify_change(dentry,
&attr, NULL);
| ^~~~~~
| |
| struct dentry *
In file included from fs/incfs/format.c:5:
include/linux/fs.h:2865:19: note: expected 'struct user_namespace *' but
argument is of type 'struct dentry *'
2865 | int notify_change(struct user_namespace *, struct dentry *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/format.c:86:33: error: passing argument 2 of 'notify_change' from
incompatible pointer type [-Werror=incompatible-pointer-types]
86 | result = notify_change(dentry, &attr, NULL);
| ^~~~~
| |
| struct iattr *
In file included from fs/incfs/format.c:5:
include/linux/fs.h:2865:44: note: expected 'struct dentry *' but argument is of
type 'struct iattr *'
2865 | int notify_change(struct user_namespace *, struct dentry *,
| ^~~~~~~~~~~~~~~
> fs/incfs/format.c:86:11: error: too few arguments to function
'notify_change'
86 | result = notify_change(dentry, &attr,
NULL);
| ^~~~~~~~~~~~~
In file included from fs/incfs/format.c:5:
include/linux/fs.h:2865:5: note: declared here
2865 | int notify_change(struct user_namespace *, struct dentry *,
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
> fs/incfs/integrity.c:5:10: fatal error: crypto/sha.h: No such
file or directory
5 | #include <crypto/sha.h>
| ^~~~~~~~~~~~~~
compilation terminated.
--
> fs/incfs/vfs.c:101:11: error: initialization of 'int
(*)(struct user_namespace *, struct inode *, struct dentry *, umode_t)' {aka 'int
(*)(struct user_namespace *, struct inode *, struct dentry *, short unsigned int)'}
from incompatible pointer type 'int (*)(struct inode *, struct dentry *, umode_t)'
{aka 'int (*)(struct inode *, struct dentry *, short unsigned int)'}
[-Werror=incompatible-pointer-types]
101 | .mkdir = dir_mkdir,
| ^~~~~~~~~
fs/incfs/vfs.c:101:11: note: (near initialization for
'incfs_dir_inode_ops.mkdir')
> fs/incfs/vfs.c:102:12: error: initialization of 'int
(*)(struct user_namespace *, struct inode *, struct dentry *, struct inode *, struct
dentry *, unsigned int)' from incompatible pointer type 'int (*)(struct inode *,
struct dentry *, struct inode *, struct dentry *, unsigned int)'
[-Werror=incompatible-pointer-types]
102 | .rename = dir_rename_wrap,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:102:12: note: (near initialization for
'incfs_dir_inode_ops.rename')
fs/incfs/vfs.c: In function 'read_size_attr':
> fs/incfs/vfs.c:332:28: error: passing argument 1 of
'vfs_getxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
332 | bytes_read = vfs_getxattr(backing_dentry, INCFS_XATTR_SIZE_NAME,
| ^~~~~~~~~~~~~~
| |
| struct dentry *
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:22: note: expected 'struct user_namespace *' but
argument is of type 'struct dentry *'
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:19:
> include/uapi/linux/incrementalfs.h:33:31: error: passing argument
2 of 'vfs_getxattr' from incompatible pointer type
[-Werror=incompatible-pointer-types]
33 | #define INCFS_XATTR_SIZE_NAME
(XATTR_USER_PREFIX "incfs.size")
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
fs/incfs/vfs.c:332:44: note: in expansion of macro 'INCFS_XATTR_SIZE_NAME'
332 | bytes_read = vfs_getxattr(backing_dentry, INCFS_XATTR_SIZE_NAME,
| ^~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:47: note: expected 'struct dentry *' but argument is
of type 'char *'
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:333:25: warning: passing argument 4 of 'vfs_getxattr' makes
pointer from integer without a cast [-Wint-conversion]
333 | (char *)&attr_value, sizeof(attr_value));
| ^~~~~~~~~~~~~~~~~~
| |
| long unsigned int
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:54:8: note: expected 'void *' but argument is of type
'long unsigned int'
54 | void *, size_t);
| ^~~~~~
> fs/incfs/vfs.c:332:15: error: too few arguments to function
'vfs_getxattr'
332 | bytes_read = vfs_getxattr(backing_dentry,
INCFS_XATTR_SIZE_NAME,
| ^~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:9: note: declared here
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~
fs/incfs/vfs.c: In function 'inode_set':
fs/incfs/vfs.c:368:20: error: passing argument 1 of 'inode_init_owner' from
incompatible pointer type [-Werror=incompatible-pointer-types]
368 | inode_init_owner(inode, NULL, backing_inode->i_mode);
| ^~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1828:46: note: expected 'struct user_namespace *' but
argument is of type 'struct inode *'
1828 | void inode_init_owner(struct user_namespace *mnt_userns, struct inode *inode,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
fs/incfs/vfs.c:368:46: warning: passing argument 3 of 'inode_init_owner' makes
pointer from integer without a cast [-Wint-conversion]
368 | inode_init_owner(inode, NULL, backing_inode->i_mode);
| ~~~~~~~~~~~~~^~~~~~~~
| |
| umode_t {aka short unsigned int}
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1829:29: note: expected 'const struct inode *' but argument
is of type 'umode_t' {aka 'short unsigned int'}
1829 | const struct inode *dir, umode_t mode);
| ~~~~~~~~~~~~~~~~~~~~^~~
fs/incfs/vfs.c:368:3: error: too few arguments to function 'inode_init_owner'
368 | inode_init_owner(inode, NULL, backing_inode->i_mode);
| ^~~~~~~~~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1828:6: note: declared here
1828 | void inode_init_owner(struct user_namespace *mnt_userns, struct inode *inode,
| ^~~~~~~~~~~~~~~~
fs/incfs/vfs.c:411:20: error: passing argument 1 of 'inode_init_owner' from
incompatible pointer type [-Werror=incompatible-pointer-types]
411 | inode_init_owner(inode, NULL, S_IFREG | READ_WRITE_FILE_MODE);
| ^~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1828:46: note: expected 'struct user_namespace *' but
argument is of type 'struct inode *'
1828 | void inode_init_owner(struct user_namespace *mnt_userns, struct inode *inode,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
In file included from include/linux/stat.h:7,
from include/linux/fs.h:10,
from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/uapi/linux/stat.h:12:18: warning: passing argument 3 of
'inode_init_owner' makes pointer from integer without a cast [-Wint-conversion]
12 | #define S_IFREG 0100000
fs/incfs/vfs.c:411:33: note: in expansion of macro 'S_IFREG'
411 | inode_init_owner(inode, NULL, S_IFREG | READ_WRITE_FILE_MODE);
| ^~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1829:29: note: expected 'const struct inode *' but argument
is of type 'int'
1829 | const struct inode *dir, umode_t mode);
| ~~~~~~~~~~~~~~~~~~~~^~~
fs/incfs/vfs.c:411:3: error: too few arguments to function 'inode_init_owner'
411 | inode_init_owner(inode, NULL, S_IFREG | READ_WRITE_FILE_MODE);
| ^~~~~~~~~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1828:6: note: declared here
1828 | void inode_init_owner(struct user_namespace *mnt_userns, struct inode *inode,
| ^~~~~~~~~~~~~~~~
fs/incfs/vfs.c:426:20: error: passing argument 1 of 'inode_init_owner' from
incompatible pointer type [-Werror=incompatible-pointer-types]
426 | inode_init_owner(inode, NULL, S_IFREG | READ_WRITE_FILE_MODE);
| ^~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1828:46: note: expected 'struct user_namespace *' but
argument is of type 'struct inode *'
1828 | void inode_init_owner(struct user_namespace *mnt_userns, struct inode *inode,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
In file included from include/linux/stat.h:7,
from include/linux/fs.h:10,
from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/uapi/linux/stat.h:12:18: warning: passing argument 3 of
'inode_init_owner' makes pointer from integer without a cast [-Wint-conversion]
12 | #define S_IFREG 0100000
fs/incfs/vfs.c:426:33: note: in expansion of macro 'S_IFREG'
426 | inode_init_owner(inode, NULL, S_IFREG | READ_WRITE_FILE_MODE);
| ^~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1829:29: note: expected 'const struct inode *' but argument
is of type 'int'
1829 | const struct inode *dir, umode_t mode);
| ~~~~~~~~~~~~~~~~~~~~^~~
fs/incfs/vfs.c:426:3: error: too few arguments to function 'inode_init_owner'
426 | inode_init_owner(inode, NULL, S_IFREG | READ_WRITE_FILE_MODE);
| ^~~~~~~~~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1828:6: note: declared here
1828 | void inode_init_owner(struct user_namespace *mnt_userns, struct inode *inode,
| ^~~~~~~~~~~~~~~~
fs/incfs/vfs.c: In function 'open_or_create_index_dir':
> fs/incfs/vfs.c:773:18: error: passing argument 1 of
'vfs_mkdir' from incompatible pointer type [-Werror=incompatible-pointer-types]
773 | err = vfs_mkdir(backing_inode, index_dentry, 0777);
| ^~~~~~~~~~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1773:15: note: expected 'struct user_namespace *' but
argument is of type 'struct inode *'
1773 | int vfs_mkdir(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:773:33: error: passing argument 2 of 'vfs_mkdir' from
incompatible pointer type [-Werror=incompatible-pointer-types]
773 | err = vfs_mkdir(backing_inode, index_dentry, 0777);
| ^~~~~~~~~~~~
| |
| struct dentry *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1773:40: note: expected 'struct inode *' but argument is of
type 'struct dentry *'
1773 | int vfs_mkdir(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~
fs/incfs/vfs.c:773:47: warning: passing argument 3 of 'vfs_mkdir' makes pointer
from integer without a cast [-Wint-conversion]
773 | err = vfs_mkdir(backing_inode, index_dentry, 0777);
| ^~~~
| |
| int
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1774:8: note: expected 'struct dentry *' but argument is of
type 'int'
1774 | struct dentry *, umode_t);
| ^~~~~~~~~~~~~~~
> fs/incfs/vfs.c:773:8: error: too few arguments to function
'vfs_mkdir'
773 | err = vfs_mkdir(backing_inode, index_dentry, 0777);
| ^~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1773:5: note: declared here
1773 | int vfs_mkdir(struct user_namespace *, struct inode *,
| ^~~~~~~~~
fs/incfs/vfs.c: In function 'incfs_link':
> fs/incfs/vfs.c:1065:25: error: passing argument 2 of
'vfs_link' from incompatible pointer type [-Werror=incompatible-pointer-types]
1065 | error = vfs_link(what, pinode, where, NULL);
| ^~~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1779:31: note: expected 'struct user_namespace *' but
argument is of type 'struct inode *'
1779 | int vfs_link(struct dentry *, struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:1065:33: error: passing argument 3 of 'vfs_link' from
incompatible pointer type [-Werror=incompatible-pointer-types]
1065 | error = vfs_link(what, pinode, where, NULL);
| ^~~~~
| |
| struct dentry *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1779:56: note: expected 'struct inode *' but argument is of
type 'struct dentry *'
1779 | int vfs_link(struct dentry *, struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~
> fs/incfs/vfs.c:1065:10: error: too few arguments to function
'vfs_link'
1065 | error = vfs_link(what, pinode, where, NULL);
| ^~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1779:5: note: declared here
1779 | int vfs_link(struct dentry *, struct user_namespace *, struct inode *,
| ^~~~~~~~
fs/incfs/vfs.c: In function 'incfs_unlink':
> fs/incfs/vfs.c:1079:21: error: passing argument 1 of
'vfs_unlink' from incompatible pointer type [-Werror=incompatible-pointer-types]
1079 | error = vfs_unlink(pinode, dentry, NULL);
| ^~~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1782:16: note: expected 'struct user_namespace *' but
argument is of type 'struct inode *'
1782 | int vfs_unlink(struct user_namespace *, struct inode *, struct dentry *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:1079:29: error: passing argument 2 of 'vfs_unlink' from
incompatible pointer type [-Werror=incompatible-pointer-types]
1079 | error = vfs_unlink(pinode, dentry, NULL);
| ^~~~~~
| |
| struct dentry *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1782:41: note: expected 'struct inode *' but argument is of
type 'struct dentry *'
1782 | int vfs_unlink(struct user_namespace *, struct inode *, struct dentry *,
| ^~~~~~~~~~~~~~
> fs/incfs/vfs.c:1079:10: error: too few arguments to function
'vfs_unlink'
1079 | error = vfs_unlink(pinode, dentry, NULL);
| ^~~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1782:5: note: declared here
1782 | int vfs_unlink(struct user_namespace *, struct inode *, struct dentry *,
| ^~~~~~~~~~
fs/incfs/vfs.c: In function 'incfs_rmdir':
> fs/incfs/vfs.c:1093:20: error: passing argument 1 of
'vfs_rmdir' from incompatible pointer type [-Werror=incompatible-pointer-types]
1093 | error = vfs_rmdir(pinode, dentry);
| ^~~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1781:15: note: expected 'struct user_namespace *' but
argument is of type 'struct inode *'
1781 | int vfs_rmdir(struct user_namespace *, struct inode *, struct dentry *);
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:1093:28: error: passing argument 2 of 'vfs_rmdir' from
incompatible pointer type [-Werror=incompatible-pointer-types]
1093 | error = vfs_rmdir(pinode, dentry);
| ^~~~~~
| |
| struct dentry *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1781:40: note: expected 'struct inode *' but argument is of
type 'struct dentry *'
1781 | int vfs_rmdir(struct user_namespace *, struct inode *, struct dentry *);
| ^~~~~~~~~~~~~~
> fs/incfs/vfs.c:1093:10: error: too few arguments to function
'vfs_rmdir'
1093 | error = vfs_rmdir(pinode, dentry);
| ^~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1781:5: note: declared here
1781 | int vfs_rmdir(struct user_namespace *, struct inode *, struct dentry *);
| ^~~~~~~~~
fs/incfs/vfs.c: In function 'dir_relative_path_resolve':
fs/incfs/vfs.c:1132:2: error: implicit declaration of function 'ksys_close';
did you mean 'ksys_chown'? [-Werror=implicit-function-declaration]
1132 | ksys_close(dir_fd);
| ^~~~~~~~~~
| ksys_chown
fs/incfs/vfs.c: In function 'ioctl_create_file':
fs/incfs/vfs.c:1256:21: error: passing argument 1 of 'vfs_create' from
incompatible pointer type [-Werror=incompatible-pointer-types]
1256 | error = vfs_create(index_dir_inode, index_file_dentry,
| ^~~~~~~~~~~~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1771:16: note: expected 'struct user_namespace *' but
argument is of type 'struct inode *'
1771 | int vfs_create(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:1256:38: error: passing argument 2 of 'vfs_create' from
incompatible pointer type [-Werror=incompatible-pointer-types]
1256 | error = vfs_create(index_dir_inode, index_file_dentry,
| ^~~~~~~~~~~~~~~~~
| |
| struct dentry *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1771:41: note: expected 'struct inode *' but argument is of
type 'struct dentry *'
1771 | int vfs_create(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~
fs/incfs/vfs.c:1257:8: warning: passing argument 3 of 'vfs_create' makes
pointer from integer without a cast [-Wint-conversion]
1257 | args.mode, true);
| ~~~~^~~~~
| |
| __u16 {aka short unsigned int}
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1772:9: note: expected 'struct dentry *' but argument is of
type '__u16' {aka 'short unsigned int'}
1772 | struct dentry *, umode_t, bool);
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:1256:10: error: too few arguments to function 'vfs_create'
1256 | error = vfs_create(index_dir_inode, index_file_dentry,
| ^~~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1771:5: note: declared here
1771 | int vfs_create(struct user_namespace *, struct inode *,
| ^~~~~~~~~~
> fs/incfs/vfs.c:1268:23: error: passing argument 1 of
'vfs_setxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
1268 | error = vfs_setxattr(index_file_dentry, INCFS_XATTR_ID_NAME,
| ^~~~~~~~~~~~~~~~~
| |
| struct dentry *
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:18: note: expected 'struct user_namespace *' but
argument is of type 'struct dentry *'
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:19:
> include/uapi/linux/incrementalfs.h:32:29: error: passing argument
2 of 'vfs_setxattr' from incompatible pointer type
[-Werror=incompatible-pointer-types]
32 | #define INCFS_XATTR_ID_NAME
(XATTR_USER_PREFIX "incfs.id")
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
fs/incfs/vfs.c:1268:42: note: in expansion of macro 'INCFS_XATTR_ID_NAME'
1268 | error = vfs_setxattr(index_file_dentry, INCFS_XATTR_ID_NAME,
| ^~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:43: note: expected 'struct dentry *' but argument is
of type 'char *'
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:1269:16: warning: passing argument 4 of 'vfs_setxattr' makes
pointer from integer without a cast [-Wint-conversion]
1269 | file_id_str, strlen(file_id_str), XATTR_CREATE);
| ^~~~~~~~~~~~~~~~~~~
| |
| size_t {aka long unsigned int}
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:64:4: note: expected 'const void *' but argument is of
type 'size_t' {aka 'long unsigned int'}
64 | const void *, size_t, int);
| ^~~~~~~~~~~~
> fs/incfs/vfs.c:1268:10: error: too few arguments to function
'vfs_setxattr'
1268 | error = vfs_setxattr(index_file_dentry,
INCFS_XATTR_ID_NAME,
| ^~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:5: note: declared here
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~
fs/incfs/vfs.c:1277:23: error: passing argument 1 of 'vfs_setxattr' from
incompatible pointer type [-Werror=incompatible-pointer-types]
1277 | error = vfs_setxattr(index_file_dentry, INCFS_XATTR_SIZE_NAME,
| ^~~~~~~~~~~~~~~~~
| |
| struct dentry *
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:18: note: expected 'struct user_namespace *' but
argument is of type 'struct dentry *'
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:19:
include/uapi/linux/incrementalfs.h:33:31: error: passing argument 2 of
'vfs_setxattr' from incompatible pointer type
[-Werror=incompatible-pointer-types]
33 | #define INCFS_XATTR_SIZE_NAME (XATTR_USER_PREFIX "incfs.size")
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
fs/incfs/vfs.c:1277:42: note: in expansion of macro 'INCFS_XATTR_SIZE_NAME'
1277 | error = vfs_setxattr(index_file_dentry, INCFS_XATTR_SIZE_NAME,
| ^~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:43: note: expected 'struct dentry *' but argument is
of type 'char *'
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:1278:29: warning: passing argument 4 of 'vfs_setxattr' makes
pointer from integer without a cast [-Wint-conversion]
1278 | (char *)&size_attr_value, sizeof(size_attr_value),
| ^~~~~~~~~~~~~~~~~~~~~~~
| |
| long unsigned int
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:64:4: note: expected 'const void *' but argument is of
type 'long unsigned int'
64 | const void *, size_t, int);
| ^~~~~~~~~~~~
fs/incfs/vfs.c:1277:10: error: too few arguments to function 'vfs_setxattr'
1277 | error = vfs_setxattr(index_file_dentry, INCFS_XATTR_SIZE_NAME,
| ^~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:5: note: declared here
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~
fs/incfs/vfs.c:1311:24: error: passing argument 1 of 'vfs_setxattr' from
incompatible pointer type [-Werror=incompatible-pointer-types]
1311 | error = vfs_setxattr(index_file_dentry,
| ^~~~~~~~~~~~~~~~~
| |
| struct dentry *
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:18: note: expected 'struct user_namespace *' but
argument is of type 'struct dentry *'
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:19:
include/uapi/linux/incrementalfs.h:34:35: error: passing argument 2 of
'vfs_setxattr' from incompatible pointer type
[-Werror=incompatible-pointer-types]
34 | #define INCFS_XATTR_METADATA_NAME (XATTR_USER_PREFIX
"incfs.metadata")
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
fs/incfs/vfs.c:1312:5: note: in expansion of macro 'INCFS_XATTR_METADATA_NAME'
1312 | INCFS_XATTR_METADATA_NAME,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:43: note: expected 'struct dentry *' but argument is
of type 'char *'
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:1313:21: warning: passing argument 4 of 'vfs_setxattr' makes
pointer from integer without a cast [-Wint-conversion]
1313 | attr_value, args.file_attr_len,
| ~~~~^~~~~~~~~~~~~~
| |
| __u32 {aka unsigned int}
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:64:4: note: expected 'const void *' but argument is of
type '__u32' {aka 'unsigned int'}
64 | const void *, size_t, int);
| ^~~~~~~~~~~~
fs/incfs/vfs.c:1311:11: error: too few arguments to function 'vfs_setxattr'
1311 | error = vfs_setxattr(index_file_dentry,
| ^~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:5: note: declared here
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~
fs/incfs/vfs.c: In function 'dir_mkdir':
fs/incfs/vfs.c:1556:26: error: passing argument 1 of 'vfs_mkdir' from
incompatible pointer type [-Werror=incompatible-pointer-types]
1556 | err = vfs_mkdir(dir_node->n_backing_inode, backing_dentry, mode);
| ~~~~~~~~^~~~~~~~~~~~~~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1773:15: note: expected 'struct user_namespace *' but
argument is of type 'struct inode *'
1773 | int vfs_mkdir(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:1556:45: error: passing argument 2 of 'vfs_mkdir' from
incompatible pointer type [-Werror=incompatible-pointer-types]
1556 | err = vfs_mkdir(dir_node->n_backing_inode, backing_dentry, mode);
| ^~~~~~~~~~~~~~
| |
| struct dentry *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1773:40: note: expected 'struct inode *' but argument is of
type 'struct dentry *'
1773 | int vfs_mkdir(struct user_namespace *, struct inode *,
| ^~~~~~~~~~~~~~
fs/incfs/vfs.c:1556:61: warning: passing argument 3 of 'vfs_mkdir' makes
pointer from integer without a cast [-Wint-conversion]
1556 | err = vfs_mkdir(dir_node->n_backing_inode, backing_dentry, mode);
| ^~~~
| |
| umode_t {aka short
unsigned int}
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1774:8: note: expected 'struct dentry *' but argument is of
type 'umode_t' {aka 'short unsigned int'}
1774 | struct dentry *, umode_t);
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:1556:8: error: too few arguments to function 'vfs_mkdir'
1556 | err = vfs_mkdir(dir_node->n_backing_inode, backing_dentry, mode);
| ^~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1773:5: note: declared here
1773 | int vfs_mkdir(struct user_namespace *, struct inode *,
| ^~~~~~~~~
fs/incfs/vfs.c: In function 'final_file_delete':
fs/incfs/vfs.c:1595:27: error: passing argument 1 of 'vfs_getxattr' from
incompatible pointer type [-Werror=incompatible-pointer-types]
1595 | uuid_size = vfs_getxattr(backing_dentry, INCFS_XATTR_ID_NAME,
| ^~~~~~~~~~~~~~
| |
| struct dentry *
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:22: note: expected 'struct user_namespace *' but
argument is of type 'struct dentry *'
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:19:
include/uapi/linux/incrementalfs.h:32:29: error: passing argument 2 of
'vfs_getxattr' from incompatible pointer type
[-Werror=incompatible-pointer-types]
32 | #define INCFS_XATTR_ID_NAME (XATTR_USER_PREFIX "incfs.id")
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
fs/incfs/vfs.c:1595:43: note: in expansion of macro 'INCFS_XATTR_ID_NAME'
1595 | uuid_size = vfs_getxattr(backing_dentry, INCFS_XATTR_ID_NAME,
| ^~~~~~~~~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:47: note: expected 'struct dentry *' but argument is
of type 'char *'
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:1596:17: warning: passing argument 4 of 'vfs_getxattr' makes
pointer from integer without a cast [-Wint-conversion]
1596 | file_id_str, 2 * sizeof(incfs_uuid_t));
| ^~~~~~~~~~~~~~~~~~~~~~~~
| |
| long unsigned int
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:54:8: note: expected 'void *' but argument is of type
'long unsigned int'
54 | void *, size_t);
| ^~~~~~
fs/incfs/vfs.c:1595:14: error: too few arguments to function 'vfs_getxattr'
1595 | uuid_size = vfs_getxattr(backing_dentry, INCFS_XATTR_ID_NAME,
| ^~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:9: note: declared here
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~
fs/incfs/vfs.c: In function 'dir_rename':
> fs/incfs/vfs.c:1800:21: error: passing argument 1 of
'vfs_rename' from incompatible pointer type [-Werror=incompatible-pointer-types]
1800 | error = vfs_rename(d_inode(backing_old_dir_dentry), backing_old_dentry,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| struct inode *
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1796:16: note: expected 'struct renamedata *' but argument
is of type 'struct inode *'
1796 | int vfs_rename(struct renamedata *);
| ^~~~~~~~~~~~~~~~~~~
> fs/incfs/vfs.c:1800:10: error: too many arguments to function
'vfs_rename'
1800 | error = vfs_rename(d_inode(backing_old_dir_dentry),
backing_old_dentry,
| ^~~~~~~~~~
In file included from include/linux/huge_mm.h:8,
from include/linux/mm.h:707,
from include/linux/bvec.h:14,
from include/linux/blk_types.h:10,
from include/linux/genhd.h:19,
from include/linux/blkdev.h:8,
from fs/incfs/vfs.c:6:
include/linux/fs.h:1796:5: note: declared here
1796 | int vfs_rename(struct renamedata *);
| ^~~~~~~~~~
fs/incfs/vfs.c: In function 'incfs_getxattr':
fs/incfs/vfs.c:2044:38: error: passing argument 1 of 'vfs_getxattr' from
incompatible pointer type [-Werror=incompatible-pointer-types]
2044 | return vfs_getxattr(di->backing_path.dentry, name, value, size);
| ~~~~~~~~~~~~~~~~^~~~~~~
| |
| struct dentry *
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:22: note: expected 'struct user_namespace *' but
argument is of type 'struct dentry *'
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:2044:47: error: passing argument 2 of 'vfs_getxattr' from
incompatible pointer type [-Werror=incompatible-pointer-types]
2044 | return vfs_getxattr(di->backing_path.dentry, name, value, size);
| ^~~~
| |
| const char *
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:47: note: expected 'struct dentry *' but argument is
of type 'const char *'
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:2044:60: warning: passing argument 4 of 'vfs_getxattr' makes
pointer from integer without a cast [-Wint-conversion]
2044 | return vfs_getxattr(di->backing_path.dentry, name, value, size);
| ^~~~
| |
| size_t {aka long
unsigned int}
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:54:8: note: expected 'void *' but argument is of type
'size_t' {aka 'long unsigned int'}
54 | void *, size_t);
| ^~~~~~
fs/incfs/vfs.c:2044:9: error: too few arguments to function 'vfs_getxattr'
2044 | return vfs_getxattr(di->backing_path.dentry, name, value, size);
| ^~~~~~~~~~~~
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:53:9: note: declared here
53 | ssize_t vfs_getxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~
fs/incfs/vfs.c: At top level:
fs/incfs/vfs.c:2057:16: warning: no previous prototype for 'incfs_mount_fs'
[-Wmissing-prototypes]
2057 | struct dentry *incfs_mount_fs(struct file_system_type *type, int flags,
| ^~~~~~~~~~~~~~
fs/incfs/vfs.c:2176:6: warning: no previous prototype for 'incfs_kill_sb'
[-Wmissing-prototypes]
2176 | void incfs_kill_sb(struct super_block *sb)
| ^~~~~~~~~~~~~
fs/incfs/vfs.c: In function 'incfs_getxattr':
fs/incfs/vfs.c:2045:1: error: control reaches end of non-void function
[-Werror=return-type]
2045 | }
| ^
cc1: some warnings being treated as errors
vim +/notify_change +86 fs/incfs/format.c
51
52 /*
53 * Truncate the tail of the file to the given length.
54 * Used to rollback partially successful multistep writes.
55 */
56 static int truncate_backing_file(struct backing_file_context *bfc,
57 loff_t new_end)
58 {
59 struct inode *inode = NULL;
60 struct dentry *dentry = NULL;
61 loff_t old_end = 0;
62 struct iattr attr;
63 int result = 0;
64
65 if (!bfc)
66 return -EFAULT;
67
68 LOCK_REQUIRED(bfc->bc_mutex);
69
70 if (!bfc->bc_file)
71 return -EFAULT;
72
73 old_end = incfs_get_end_offset(bfc->bc_file);
74 if (old_end == new_end)
75 return 0;
76 if (old_end < new_end)
77 return -EINVAL;
78
79 inode = bfc->bc_file->f_inode;
80 dentry = bfc->bc_file->f_path.dentry;
81
82 attr.ia_size = new_end;
83 attr.ia_valid = ATTR_SIZE;
84
85 inode_lock(inode);
86 result = notify_change(dentry, &attr, NULL);
87 inode_unlock(inode);
88
89 return result;
90 }
91
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org