linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 --]

  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).