From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [android-common:android-mainline-tracking 386/836] fs/incfs/vfs.c:103:13: error: initialization of 'int (*)(struct user_namespace *, struct dentry *, struct iattr *)' from incompatible pointer type 'int (*)(struct dentry *, struct iattr *)'
Date: Sun, 11 Apr 2021 13:27:47 +0800 [thread overview]
Message-ID: <202104111345.vuZdPIix-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 23738 bytes --]
tree: https://android.googlesource.com/kernel/common android-mainline-tracking
head: 74f61c888eeeb9cbc57d44c61fafe32df9b3da51
commit: f0b5d86cf075ddf98369614019fd10c0e4962838 [386/836] ANDROID: Incremental fs: Add setattr call
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 f0b5d86cf075ddf98369614019fd10c0e4962838
# 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@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/vfs.c:98: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]
98 | .mkdir = dir_mkdir,
| ^~~~~~~~~
fs/incfs/vfs.c:98:11: note: (near initialization for 'incfs_dir_inode_ops.mkdir')
fs/incfs/vfs.c:99: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]
99 | .rename = dir_rename_wrap,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:99:12: note: (near initialization for 'incfs_dir_inode_ops.rename')
>> fs/incfs/vfs.c:103:13: error: initialization of 'int (*)(struct user_namespace *, struct dentry *, struct iattr *)' from incompatible pointer type 'int (*)(struct dentry *, struct iattr *)' [-Werror=incompatible-pointer-types]
103 | .setattr = incfs_setattr,
| ^~~~~~~~~~~~~
fs/incfs/vfs.c:103:13: note: (near initialization for 'incfs_dir_inode_ops.setattr')
fs/incfs/vfs.c:163:13: error: initialization of 'int (*)(struct user_namespace *, struct dentry *, struct iattr *)' from incompatible pointer type 'int (*)(struct dentry *, struct iattr *)' [-Werror=incompatible-pointer-types]
163 | .setattr = incfs_setattr,
| ^~~~~~~~~~~~~
fs/incfs/vfs.c:163:13: note: (near initialization for 'incfs_file_inode_ops.setattr')
fs/incfs/vfs.c:186:9: error: initialization of 'int (*)(const struct xattr_handler *, struct user_namespace *, struct dentry *, struct inode *, const char *, const void *, size_t, int)' {aka 'int (*)(const struct xattr_handler *, struct user_namespace *, struct dentry *, struct inode *, const char *, const void *, long unsigned int, int)'} from incompatible pointer type 'int (*)(const struct xattr_handler *, struct dentry *, struct inode *, const char *, const void *, size_t, int)' {aka 'int (*)(const struct xattr_handler *, struct dentry *, struct inode *, const char *, const void *, long unsigned int, int)'} [-Werror=incompatible-pointer-types]
186 | .set = incfs_handler_setxattr,
| ^~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:186:9: note: (near initialization for 'incfs_xattr_handler.set')
fs/incfs/vfs.c: In function 'read_size_attr':
fs/incfs/vfs.c:329:28: error: passing argument 1 of 'vfs_getxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
329 | 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:34:31: error: passing argument 2 of 'vfs_getxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
34 | #define INCFS_XATTR_SIZE_NAME (XATTR_USER_PREFIX "incfs.size")
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
fs/incfs/vfs.c:329:44: note: in expansion of macro 'INCFS_XATTR_SIZE_NAME'
329 | 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:330:25: warning: passing argument 4 of 'vfs_getxattr' makes pointer from integer without a cast [-Wint-conversion]
330 | (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:329:15: error: too few arguments to function 'vfs_getxattr'
329 | 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:409:20: error: passing argument 1 of 'inode_init_owner' from incompatible pointer type [-Werror=incompatible-pointer-types]
409 | 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:409:33: note: in expansion of macro 'S_IFREG'
409 | 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:409:3: error: too few arguments to function 'inode_init_owner'
409 | 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:
--
33 | #define INCFS_XATTR_ID_NAME (XATTR_USER_PREFIX "incfs.id")
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| char *
fs/incfs/vfs.c:1666:43: note: in expansion of macro 'INCFS_XATTR_ID_NAME'
1666 | 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:1667:17: warning: passing argument 4 of 'vfs_getxattr' makes pointer from integer without a cast [-Wint-conversion]
1667 | 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:1666:14: error: too few arguments to function 'vfs_getxattr'
1666 | 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:1868:21: error: passing argument 1 of 'vfs_rename' from incompatible pointer type [-Werror=incompatible-pointer-types]
1868 | 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:1868:10: error: too many arguments to function 'vfs_rename'
1868 | 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_setattr':
fs/incfs/vfs.c:2062:24: error: passing argument 1 of 'notify_change' from incompatible pointer type [-Werror=incompatible-pointer-types]
2062 | error = notify_change(backing_dentry, ia, 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: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/vfs.c:2062:40: error: passing argument 2 of 'notify_change' from incompatible pointer type [-Werror=incompatible-pointer-types]
2062 | error = notify_change(backing_dentry, ia, NULL);
| ^~
| |
| struct iattr *
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:2865:44: note: expected 'struct dentry *' but argument is of type 'struct iattr *'
2865 | int notify_change(struct user_namespace *, struct dentry *,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:2062:10: error: too few arguments to function 'notify_change'
2062 | error = notify_change(backing_dentry, ia, 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:2865:5: note: declared here
2865 | int notify_change(struct user_namespace *, struct dentry *,
| ^~~~~~~~~~~~~
>> fs/incfs/vfs.c:2071:24: error: passing argument 1 of 'simple_setattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
2071 | return simple_setattr(dentry, ia);
| ^~~~~~
| |
| 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:3261:27: note: expected 'struct user_namespace *' but argument is of type 'struct dentry *'
3261 | extern int simple_setattr(struct user_namespace *, struct dentry *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:2071:32: error: passing argument 2 of 'simple_setattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
2071 | return simple_setattr(dentry, ia);
| ^~
| |
| struct iattr *
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:3261:52: note: expected 'struct dentry *' but argument is of type 'struct iattr *'
3261 | extern int simple_setattr(struct user_namespace *, struct dentry *,
| ^~~~~~~~~~~~~~~
>> fs/incfs/vfs.c:2071:9: error: too few arguments to function 'simple_setattr'
2071 | return simple_setattr(dentry, ia);
| ^~~~~~~~~~~~~~
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:3261:12: note: declared here
3261 | extern int simple_setattr(struct user_namespace *, struct dentry *,
| ^~~~~~~~~~~~~~
fs/incfs/vfs.c: In function 'incfs_getxattr':
fs/incfs/vfs.c:2083:39: error: passing argument 1 of 'vfs_getxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
2083 | 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:2083:48: error: passing argument 2 of 'vfs_getxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
2083 | 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:2083:61: warning: passing argument 4 of 'vfs_getxattr' makes pointer from integer without a cast [-Wint-conversion]
2083 | 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:2083:10: error: too few arguments to function 'vfs_getxattr'
2083 | 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: In function 'incfs_setxattr':
fs/incfs/vfs.c:2119:39: error: passing argument 1 of 'vfs_setxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
2119 | return vfs_setxattr(di->backing_path.dentry, name, value, size,
| ~~~~~~~~~~~~~~~~^~~~~~~
| |
| 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 *,
| ^~~~~~~~~~~~~~~~~~~~~~~
fs/incfs/vfs.c:2119:48: error: passing argument 2 of 'vfs_setxattr' from incompatible pointer type [-Werror=incompatible-pointer-types]
2119 | return vfs_setxattr(di->backing_path.dentry, name, value, size,
| ^~~~
| |
| const char *
In file included from fs/incfs/vfs.c:17:
include/linux/xattr.h:63:43: note: expected 'struct dentry *' but argument is of type 'const char *'
63 | int vfs_setxattr(struct user_namespace *, struct dentry *, const char *,
| ^~~~~~~~~~~~~~~
fs/incfs/vfs.c:2119:61: warning: passing argument 4 of 'vfs_setxattr' makes pointer from integer without a cast [-Wint-conversion]
2119 | return vfs_setxattr(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: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:2119:10: error: too few arguments to function 'vfs_setxattr'
2119 | return vfs_setxattr(di->backing_path.dentry, name, value, size,
| ^~~~~~~~~~~~
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 'incfs_setattr':
fs/incfs/vfs.c:2072:1: error: control reaches end of non-void function [-Werror=return-type]
2072 | }
| ^
cc1: some warnings being treated as errors
vim +103 fs/incfs/vfs.c
95
96 static const struct inode_operations incfs_dir_inode_ops = {
97 .lookup = dir_lookup,
98 .mkdir = dir_mkdir,
99 .rename = dir_rename_wrap,
100 .unlink = dir_unlink,
101 .link = dir_link,
102 .rmdir = dir_rmdir,
> 103 .setattr = incfs_setattr,
104 };
105
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 65193 bytes --]
reply other threads:[~2021-04-11 5:27 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202104111345.vuZdPIix-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.