Re: [PATCH ALT4] audit: show fstype:pathname for entries with anonymous parents

From: kbuild test robot
Date: Thu Mar 02 2017 - 08:00:05 EST


Hi Richard,

[auto build test WARNING on pcmoore-audit/next]
[also build test WARNING on v4.10 next-20170302]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Richard-Guy-Briggs/audit-show-fstype-pathname-for-entries-with-anonymous-parents/20170302-200143
base: git://git.infradead.org/users/pcmoore/audit next
config: i386-defconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

All warnings (new ones prefixed by >>):

kernel/auditsc.c: In function '__audit_inode_child':
>> kernel/auditsc.c:1920:27: warning: passing argument 1 of 'dget_parent' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
n->dentry = dget_parent(dentry);
^~~~~~
In file included from include/linux/fs.h:7:0,
from kernel/auditsc.c:50:
include/linux/dcache.h:322:23: note: expected 'struct dentry *' but argument is of type 'const struct dentry *'
extern struct dentry *dget_parent(struct dentry *dentry);
^~~~~~~~~~~
>> kernel/auditsc.c:1943:30: warning: passing argument 1 of 'dget' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
found_child->dentry = dget(dentry);
^~~~~~
In file included from include/linux/fs.h:7:0,
from kernel/auditsc.c:50:
include/linux/dcache.h:315:30: note: expected 'struct dentry *' but argument is of type 'const struct dentry *'
static inline struct dentry *dget(struct dentry *dentry)
^~~~

vim +1920 kernel/auditsc.c

1914 if (!found_parent) {
1915 /* create a new, "anonymous" parent record */
1916 n = audit_alloc_name(context, AUDIT_TYPE_PARENT);
1917 if (!n)
1918 return;
1919 audit_copy_inode(n, NULL, parent);
> 1920 n->dentry = dget_parent(dentry);
1921 }
1922
1923 if (!found_child) {
1924 found_child = audit_alloc_name(context, type);
1925 if (!found_child)
1926 return;
1927
1928 /* Re-use the name belonging to the slot for a matching parent
1929 * directory. All names for this context are relinquished in
1930 * audit_free_names() */
1931 if (found_parent) {
1932 found_child->name = found_parent->name;
1933 found_child->name_len = AUDIT_NAME_FULL;
1934 found_child->name->refcnt++;
1935 }
1936 }
1937
1938 if (inode)
1939 audit_copy_inode(found_child, dentry, inode);
1940 else
1941 found_child->ino = AUDIT_INO_UNSET;
1942 if (!found_parent)
> 1943 found_child->dentry = dget(dentry);
1944 }
1945 EXPORT_SYMBOL_GPL(__audit_inode_child);
1946

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip