From: kbuild test robot <lkp@intel.com>
To: Amir Goldstein <amir73il@gmail.com>
Cc: kbuild-all@01.org, Jan Kara <jack@suse.cz>,
Matthew Bobrowski <mbobrowski@mbobrowski.org>,
linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH v5 10/17] fanotify: cache fsid in fsnotify_mark_connector
Date: Fri, 11 Jan 2019 11:13:05 +0800 [thread overview]
Message-ID: <201901111133.Q8XrYPnG%fengguang.wu@intel.com> (raw)
In-Reply-To: <20190110170444.30616-11-amir73il@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 16284 bytes --]
Hi Amir,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v5.0-rc1 next-20190110]
[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/Amir-Goldstein/fanotify-add-support-for-more-event-types/20190111-090241
config: mips-loongson1c_defconfig (attached as .config)
compiler: mipsel-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=7.2.0 make.cross ARCH=mips
All warnings (new ones prefixed by >>):
In file included from include/linux/kernel.h:14:0,
from include/linux/list.h:9,
from include/linux/wait.h:7,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from fs/notify/mark.c:76:
fs/notify/mark.c: In function 'fsnotify_add_mark_list':
>> include/linux/kern_levels.h:5:18: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long int' [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
include/linux/printk.h:424:10: note: in definition of macro 'printk_ratelimited'
printk(fmt, ##__VA_ARGS__); \
^~~
include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH'
#define KERN_WARNING KERN_SOH "4" /* warning conditions */
^~~~~~~~
include/linux/printk.h:440:21: note: in expansion of macro 'KERN_WARNING'
printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~~
>> fs/notify/mark.c:587:3: note: in expansion of macro 'pr_warn_ratelimited'
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
^~~~~~~~~~~~~~~~~~~
fs/notify/mark.c:587:65: note: format string is defined here
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
~^
%lx
In file included from include/linux/kernel.h:14:0,
from include/linux/list.h:9,
from include/linux/wait.h:7,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from fs/notify/mark.c:76:
include/linux/kern_levels.h:5:18: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'long int' [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
include/linux/printk.h:424:10: note: in definition of macro 'printk_ratelimited'
printk(fmt, ##__VA_ARGS__); \
^~~
include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH'
#define KERN_WARNING KERN_SOH "4" /* warning conditions */
^~~~~~~~
include/linux/printk.h:440:21: note: in expansion of macro 'KERN_WARNING'
printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~~
>> fs/notify/mark.c:587:3: note: in expansion of macro 'pr_warn_ratelimited'
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
^~~~~~~~~~~~~~~~~~~
fs/notify/mark.c:587:68: note: format string is defined here
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
~^
%lx
In file included from include/linux/kernel.h:14:0,
from include/linux/list.h:9,
from include/linux/wait.h:7,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from fs/notify/mark.c:76:
include/linux/kern_levels.h:5:18: warning: format '%x' expects argument of type 'unsigned int', but argument 6 has type 'long int' [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
include/linux/printk.h:424:10: note: in definition of macro 'printk_ratelimited'
printk(fmt, ##__VA_ARGS__); \
^~~
include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH'
#define KERN_WARNING KERN_SOH "4" /* warning conditions */
^~~~~~~~
include/linux/printk.h:440:21: note: in expansion of macro 'KERN_WARNING'
printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~~
>> fs/notify/mark.c:587:3: note: in expansion of macro 'pr_warn_ratelimited'
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
^~~~~~~~~~~~~~~~~~~
fs/notify/mark.c:587:74: note: format string is defined here
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
~^
%lx
In file included from include/linux/kernel.h:14:0,
from include/linux/list.h:9,
from include/linux/wait.h:7,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from fs/notify/mark.c:76:
include/linux/kern_levels.h:5:18: warning: format '%x' expects argument of type 'unsigned int', but argument 7 has type 'long int' [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
include/linux/printk.h:424:10: note: in definition of macro 'printk_ratelimited'
printk(fmt, ##__VA_ARGS__); \
^~~
include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH'
#define KERN_WARNING KERN_SOH "4" /* warning conditions */
^~~~~~~~
include/linux/printk.h:440:21: note: in expansion of macro 'KERN_WARNING'
printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~~
>> fs/notify/mark.c:587:3: note: in expansion of macro 'pr_warn_ratelimited'
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
^~~~~~~~~~~~~~~~~~~
fs/notify/mark.c:587:77: note: format string is defined here
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
~^
%lx
--
In file included from include/linux/kernel.h:14:0,
from include/linux/list.h:9,
from include/linux/wait.h:7,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from fs//notify/mark.c:76:
fs//notify/mark.c: In function 'fsnotify_add_mark_list':
>> include/linux/kern_levels.h:5:18: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long int' [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
include/linux/printk.h:424:10: note: in definition of macro 'printk_ratelimited'
printk(fmt, ##__VA_ARGS__); \
^~~
include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH'
#define KERN_WARNING KERN_SOH "4" /* warning conditions */
^~~~~~~~
include/linux/printk.h:440:21: note: in expansion of macro 'KERN_WARNING'
printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~~
fs//notify/mark.c:587:3: note: in expansion of macro 'pr_warn_ratelimited'
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
^~~~~~~~~~~~~~~~~~~
fs//notify/mark.c:587:65: note: format string is defined here
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
~^
%lx
In file included from include/linux/kernel.h:14:0,
from include/linux/list.h:9,
from include/linux/wait.h:7,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from fs//notify/mark.c:76:
include/linux/kern_levels.h:5:18: warning: format '%x' expects argument of type 'unsigned int', but argument 5 has type 'long int' [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
include/linux/printk.h:424:10: note: in definition of macro 'printk_ratelimited'
printk(fmt, ##__VA_ARGS__); \
^~~
include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH'
#define KERN_WARNING KERN_SOH "4" /* warning conditions */
^~~~~~~~
include/linux/printk.h:440:21: note: in expansion of macro 'KERN_WARNING'
printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~~
fs//notify/mark.c:587:3: note: in expansion of macro 'pr_warn_ratelimited'
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
^~~~~~~~~~~~~~~~~~~
fs//notify/mark.c:587:68: note: format string is defined here
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
~^
%lx
In file included from include/linux/kernel.h:14:0,
from include/linux/list.h:9,
from include/linux/wait.h:7,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from fs//notify/mark.c:76:
include/linux/kern_levels.h:5:18: warning: format '%x' expects argument of type 'unsigned int', but argument 6 has type 'long int' [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
include/linux/printk.h:424:10: note: in definition of macro 'printk_ratelimited'
printk(fmt, ##__VA_ARGS__); \
^~~
include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH'
#define KERN_WARNING KERN_SOH "4" /* warning conditions */
^~~~~~~~
include/linux/printk.h:440:21: note: in expansion of macro 'KERN_WARNING'
printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~~
fs//notify/mark.c:587:3: note: in expansion of macro 'pr_warn_ratelimited'
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
^~~~~~~~~~~~~~~~~~~
fs//notify/mark.c:587:74: note: format string is defined here
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
~^
%lx
In file included from include/linux/kernel.h:14:0,
from include/linux/list.h:9,
from include/linux/wait.h:7,
from include/linux/wait_bit.h:8,
from include/linux/fs.h:6,
from fs//notify/mark.c:76:
include/linux/kern_levels.h:5:18: warning: format '%x' expects argument of type 'unsigned int', but argument 7 has type 'long int' [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
include/linux/printk.h:424:10: note: in definition of macro 'printk_ratelimited'
printk(fmt, ##__VA_ARGS__); \
^~~
include/linux/kern_levels.h:12:22: note: in expansion of macro 'KERN_SOH'
#define KERN_WARNING KERN_SOH "4" /* warning conditions */
^~~~~~~~
include/linux/printk.h:440:21: note: in expansion of macro 'KERN_WARNING'
printk_ratelimited(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
^~~~~~~~~~~~
fs//notify/mark.c:587:3: note: in expansion of macro 'pr_warn_ratelimited'
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
^~~~~~~~~~~~~~~~~~~
fs//notify/mark.c:587:77: note: format string is defined here
pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
~^
%lx
vim +/pr_warn_ratelimited +587 fs/notify/mark.c
545
546 /*
547 * Add mark into proper place in given list of marks. These marks may be used
548 * for the fsnotify backend to determine which event types should be delivered
549 * to which group and for which inodes. These marks are ordered according to
550 * priority, highest number first, and then by the group's location in memory.
551 */
552 static int fsnotify_add_mark_list(struct fsnotify_mark *mark,
553 fsnotify_connp_t *connp, unsigned int type,
554 int allow_dups, __kernel_fsid_t *fsid)
555 {
556 struct fsnotify_mark *lmark, *last = NULL;
557 struct fsnotify_mark_connector *conn;
558 int cmp;
559 int err = 0;
560
561 if (WARN_ON(!fsnotify_valid_obj_type(type)))
562 return -EINVAL;
563
564 /* Backend is expected to check for zero fsid (e.g. tmpfs) */
565 if (fsid && WARN_ON_ONCE(!fsid->val[0] && !fsid->val[1]))
566 return -ENODEV;
567
568 restart:
569 spin_lock(&mark->lock);
570 conn = fsnotify_grab_connector(connp);
571 if (!conn) {
572 spin_unlock(&mark->lock);
573 err = fsnotify_attach_connector_to_object(connp, type, fsid);
574 if (err)
575 return err;
576 goto restart;
577 } else if (fsid && (conn->fsid.val[0] || conn->fsid.val[1]) &&
578 (fsid->val[0] != conn->fsid.val[0] ||
579 fsid->val[1] != conn->fsid.val[1])) {
580 /*
581 * Backend is expected to check for non uniform fsid
582 * (e.g. btrfs), but maybe we missed something?
583 * Only allow setting conn->fsid once to non zero fsid.
584 * inotify and non-fid fanotify groups do not set nor test
585 * conn->fsid.
586 */
> 587 pr_warn_ratelimited("%s: fsid mismatch on object of type %u: %x.%x != %x.%x\n",
588 __func__, conn->type,
589 fsid->val[0], fsid->val[1],
590 conn->fsid.val[0], conn->fsid.val[1]);
591 err = -EXDEV;
592 goto out_err;
593 }
594
595 /* is mark the first mark? */
596 if (hlist_empty(&conn->list)) {
597 hlist_add_head_rcu(&mark->obj_list, &conn->list);
598 goto added;
599 }
600
601 /* should mark be in the middle of the current list? */
602 hlist_for_each_entry(lmark, &conn->list, obj_list) {
603 last = lmark;
604
605 if ((lmark->group == mark->group) &&
606 (lmark->flags & FSNOTIFY_MARK_FLAG_ATTACHED) &&
607 !allow_dups) {
608 err = -EEXIST;
609 goto out_err;
610 }
611
612 cmp = fsnotify_compare_groups(lmark->group, mark->group);
613 if (cmp >= 0) {
614 hlist_add_before_rcu(&mark->obj_list, &lmark->obj_list);
615 goto added;
616 }
617 }
618
619 BUG_ON(last == NULL);
620 /* mark should be the last entry. last is the current last entry */
621 hlist_add_behind_rcu(&mark->obj_list, &last->obj_list);
622 added:
623 mark->connector = conn;
624 out_err:
625 spin_unlock(&conn->lock);
626 spin_unlock(&mark->lock);
627 return err;
628 }
629
---
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: 13190 bytes --]
next prev parent reply other threads:[~2019-01-11 3:13 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-10 17:04 [PATCH v5 00/17] fanotify: add support for more event types Amir Goldstein
2019-01-10 17:04 ` [PATCH v5 01/17] fsnotify: annotate directory entry modification events Amir Goldstein
2019-02-06 14:14 ` Jan Kara
2019-01-10 17:04 ` [PATCH v5 02/17] fsnotify: remove dirent events from FS_EVENTS_POSS_ON_CHILD mask Amir Goldstein
2019-01-10 17:04 ` [PATCH v5 03/17] fsnotify: send all event types to super block marks Amir Goldstein
2019-01-10 17:04 ` [PATCH v5 04/17] fsnotify: move mask out of struct fsnotify_event Amir Goldstein
2019-01-10 17:04 ` [PATCH v5 05/17] fanotify: rename struct fanotify_{,perm_}event_info Amir Goldstein
2019-01-10 17:04 ` [PATCH v5 06/17] fanotify: open code fill_event_metadata() Amir Goldstein
2019-01-10 17:04 ` [PATCH v5 07/17] fanotify: encode file identifier for FAN_REPORT_FID Amir Goldstein
2019-01-11 8:10 ` kbuild test robot
2019-01-11 8:37 ` Amir Goldstein
2019-01-18 18:39 ` Paul Burton
2019-01-10 17:04 ` [PATCH v5 08/17] fanotify: copy event fid info to user Amir Goldstein
2019-02-06 17:41 ` Jan Kara
2019-01-10 17:04 ` [PATCH v5 09/17] fanotify: enable FAN_REPORT_FID init flag Amir Goldstein
2019-01-10 17:04 ` [PATCH v5 10/17] fanotify: cache fsid in fsnotify_mark_connector Amir Goldstein
2019-01-11 3:13 ` kbuild test robot [this message]
2019-01-14 7:30 ` Dan Carpenter
2019-01-14 7:30 ` Dan Carpenter
2019-01-14 9:17 ` Amir Goldstein
2019-02-07 14:48 ` Jan Kara
2019-02-07 16:31 ` Amir Goldstein
2019-02-08 10:15 ` Jan Kara
2019-01-10 17:04 ` [PATCH v5 11/17] vfs: add vfs_get_fsid() helper Amir Goldstein
2019-01-10 17:04 ` [PATCH v5 12/17] fanotify: use vfs_get_fsid() helper instead of vfs_statfs() Amir Goldstein
2019-01-10 17:04 ` [PATCH v5 13/17] fsnotify: report FS_ISDIR flag with MOVE_SELF and DELETE_SELF events Amir Goldstein
2019-02-07 14:57 ` Jan Kara
2019-01-10 17:04 ` [PATCH v5 14/17] fanotify: check FS_ISDIR flag instead of d_is_dir() Amir Goldstein
2019-01-10 17:04 ` [PATCH v5 15/17] fanotify: support events with data type FSNOTIFY_EVENT_INODE Amir Goldstein
2019-02-07 15:18 ` Jan Kara
2019-02-07 16:10 ` Amir Goldstein
2019-01-10 17:04 ` [PATCH v5 16/17] fanotify: add support for create/attrib/move/delete events Amir Goldstein
2019-01-10 17:04 ` [PATCH v5 17/17] fanotify: report FAN_ONDIR to listener with FAN_REPORT_FID Amir Goldstein
2019-02-07 16:26 ` [PATCH v5 00/17] fanotify: add support for more event types Jan Kara
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=201901111133.Q8XrYPnG%fengguang.wu@intel.com \
--to=lkp@intel.com \
--cc=amir73il@gmail.com \
--cc=jack@suse.cz \
--cc=kbuild-all@01.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=mbobrowski@mbobrowski.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).