From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [djwong-xfs:verifier-fixes 133/133] fs/xfs/xfs_acl.c:38:56: warning: passing argument 4 of 'xfs_corruption_error' discards 'const' qualifier from pointer target type
Date: Sun, 20 Oct 2019 19:37:44 +0800 [thread overview]
Message-ID: <201910201942.rTK3UB6i%lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 4474 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git verifier-fixes
head: 5667161cc9c0d336176b9e176102b0d2a8b65868
commit: 5667161cc9c0d336176b9e176102b0d2a8b65868 [133/133] xfs: always log corruption errors
config: x86_64-rhel-7.6 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
git checkout 5667161cc9c0d336176b9e176102b0d2a8b65868
# save the attached .config to linux build tree
make ARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
In file included from fs/xfs/xfs_acl.c:15:0:
fs/xfs/xfs_acl.c: In function 'xfs_acl_from_disk':
>> fs/xfs/xfs_acl.c:38:56: warning: passing argument 4 of 'xfs_corruption_error' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp, aclp,
^
fs/xfs/xfs_error.h:30:35: note: in definition of macro 'XFS_CORRUPTION_ERROR'
xfs_corruption_error(e, lvl, mp, buf, bufsize, \
^~~
fs/xfs/xfs_error.h:14:13: note: expected 'void *' but argument is of type 'const struct xfs_acl *'
extern void xfs_corruption_error(const char *tag, int level,
^~~~~~~~~~~~~~~~~~~~
fs/xfs/xfs_acl.c:45:56: warning: passing argument 4 of 'xfs_corruption_error' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp, aclp,
^
fs/xfs/xfs_error.h:30:35: note: in definition of macro 'XFS_CORRUPTION_ERROR'
xfs_corruption_error(e, lvl, mp, buf, bufsize, \
^~~
fs/xfs/xfs_error.h:14:13: note: expected 'void *' but argument is of type 'const struct xfs_acl *'
extern void xfs_corruption_error(const char *tag, int level,
^~~~~~~~~~~~~~~~~~~~
vim +38 fs/xfs/xfs_acl.c
> 15 #include "xfs_error.h"
16 #include <linux/posix_acl_xattr.h>
17
18
19 /*
20 * Locking scheme:
21 * - all ACL updates are protected by inode->i_mutex, which is taken before
22 * calling into this file.
23 */
24
25 STATIC struct posix_acl *
26 xfs_acl_from_disk(
27 struct xfs_mount *mp,
28 const struct xfs_acl *aclp,
29 int len,
30 int max_entries)
31 {
32 struct posix_acl_entry *acl_e;
33 struct posix_acl *acl;
34 const struct xfs_acl_entry *ace;
35 unsigned int count, i;
36
37 if (len < sizeof(*aclp)) {
> 38 XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp, aclp,
39 len);
40 return ERR_PTR(-EFSCORRUPTED);
41 }
42
43 count = be32_to_cpu(aclp->acl_cnt);
44 if (count > max_entries || XFS_ACL_SIZE(count) != len) {
45 XFS_CORRUPTION_ERROR(__func__, XFS_ERRLEVEL_LOW, mp, aclp,
46 len);
47 return ERR_PTR(-EFSCORRUPTED);
48 }
49
50 acl = posix_acl_alloc(count, GFP_KERNEL);
51 if (!acl)
52 return ERR_PTR(-ENOMEM);
53
54 for (i = 0; i < count; i++) {
55 acl_e = &acl->a_entries[i];
56 ace = &aclp->acl_entry[i];
57
58 /*
59 * The tag is 32 bits on disk and 16 bits in core.
60 *
61 * Because every access to it goes through the core
62 * format first this is not a problem.
63 */
64 acl_e->e_tag = be32_to_cpu(ace->ae_tag);
65 acl_e->e_perm = be16_to_cpu(ace->ae_perm);
66
67 switch (acl_e->e_tag) {
68 case ACL_USER:
69 acl_e->e_uid = xfs_uid_to_kuid(be32_to_cpu(ace->ae_id));
70 break;
71 case ACL_GROUP:
72 acl_e->e_gid = xfs_gid_to_kgid(be32_to_cpu(ace->ae_id));
73 break;
74 case ACL_USER_OBJ:
75 case ACL_GROUP_OBJ:
76 case ACL_MASK:
77 case ACL_OTHER:
78 break;
79 default:
80 goto fail;
81 }
82 }
83 return acl;
84
85 fail:
86 posix_acl_release(acl);
87 return ERR_PTR(-EINVAL);
88 }
89
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 48313 bytes --]
reply other threads:[~2019-10-20 11:37 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=201910201942.rTK3UB6i%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.