From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_PASS,URIBL_BLOCKED, USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DD51BC43387 for ; Fri, 11 Jan 2019 03:13:36 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 943A920879 for ; Fri, 11 Jan 2019 03:13:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728130AbfAKDNf (ORCPT ); Thu, 10 Jan 2019 22:13:35 -0500 Received: from mga03.intel.com ([134.134.136.65]:28201 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726255AbfAKDNf (ORCPT ); Thu, 10 Jan 2019 22:13:35 -0500 X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Jan 2019 19:13:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,463,1539673200"; d="gz'50?scan'50,208,50";a="309451816" Received: from lkp-server01.sh.intel.com (HELO lkp-server01) ([10.239.97.150]) by fmsmga006.fm.intel.com with ESMTP; 10 Jan 2019 19:13:32 -0800 Received: from kbuild by lkp-server01 with local (Exim 4.89) (envelope-from ) id 1ghnGG-0002Mr-7d; Fri, 11 Jan 2019 11:13:32 +0800 Date: Fri, 11 Jan 2019 11:13:05 +0800 From: kbuild test robot To: Amir Goldstein Cc: kbuild-all@01.org, Jan Kara , Matthew Bobrowski , linux-fsdevel@vger.kernel.org Subject: Re: [PATCH v5 10/17] fanotify: cache fsid in fsnotify_mark_connector Message-ID: <201901111133.Q8XrYPnG%fengguang.wu@intel.com> References: <20190110170444.30616-11-amir73il@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="AhhlLboLdkugWU4S" Content-Disposition: inline In-Reply-To: <20190110170444.30616-11-amir73il@gmail.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org --AhhlLboLdkugWU4S Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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 --AhhlLboLdkugWU4S Content-Type: application/gzip Content-Disposition: attachment; filename=".config.gz" Content-Transfer-Encoding: base64 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 hNA4TOp/DL5U7m7QAAA= --AhhlLboLdkugWU4S--