All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Luís Henriques" <lhenriques@suse.de>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org
Subject: Re: [RFC PATCH v3] ceph: prevent a client from exceeding the MDS maximum xattr size
Date: Thu, 2 Jun 2022 04:27:29 +0800	[thread overview]
Message-ID: <202206020411.AHeREyCE-lkp@intel.com> (raw)
In-Reply-To: <20220601162939.12278-1-lhenriques@suse.de>

Hi "Luís,

[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on ceph-client/for-linus]
[also build test WARNING on v5.18 next-20220601]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/intel-lab-lkp/linux/commits/Lu-s-Henriques/ceph-prevent-a-client-from-exceeding-the-MDS-maximum-xattr-size/20220602-002950
base:   https://github.com/ceph/ceph-client.git for-linus
config: i386-randconfig-a006 (https://download.01.org/0day-ci/archive/20220602/202206020411.AHeREyCE-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project c825abd6b0198fb088d9752f556a70705bc99dfd)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/052d43ff323eb7d212ed64d7cd3e2af4589f4596
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Lu-s-Henriques/ceph-prevent-a-client-from-exceeding-the-MDS-maximum-xattr-size/20220602-002950
        git checkout 052d43ff323eb7d212ed64d7cd3e2af4589f4596
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=i386 SHELL=/bin/bash fs/ceph/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> fs/ceph/xattr.c:1081:37: warning: format specifies type 'long' but the argument has type 'size_t' (aka 'unsigned int') [-Wformat]
           dout("setxattr value size: %ld\n", size);
                                      ~~~     ^~~~
                                      %zu
   include/linux/ceph/ceph_debug.h:35:45: note: expanded from macro 'dout'
   # define dout(fmt, ...) pr_debug(" " fmt, ##__VA_ARGS__)
                                        ~~~    ^~~~~~~~~~~
   include/linux/printk.h:576:38: note: expanded from macro 'pr_debug'
           no_printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__)
                                       ~~~     ^~~~~~~~~~~
   include/linux/printk.h:132:17: note: expanded from macro 'no_printk'
                   printk(fmt, ##__VA_ARGS__);             \
                          ~~~    ^~~~~~~~~~~
   include/linux/printk.h:446:60: note: expanded from macro 'printk'
   #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
                                                       ~~~    ^~~~~~~~~~~
   include/linux/printk.h:418:19: note: expanded from macro 'printk_index_wrap'
                   _p_func(_fmt, ##__VA_ARGS__);                           \
                           ~~~~    ^~~~~~~~~~~
   1 warning generated.


vim +1081 fs/ceph/xattr.c

  1052	
  1053	static int ceph_sync_setxattr(struct inode *inode, const char *name,
  1054				      const char *value, size_t size, int flags)
  1055	{
  1056		struct ceph_fs_client *fsc = ceph_sb_to_client(inode->i_sb);
  1057		struct ceph_inode_info *ci = ceph_inode(inode);
  1058		struct ceph_mds_request *req;
  1059		struct ceph_mds_client *mdsc = fsc->mdsc;
  1060		struct ceph_osd_client *osdc = &fsc->client->osdc;
  1061		struct ceph_pagelist *pagelist = NULL;
  1062		int op = CEPH_MDS_OP_SETXATTR;
  1063		int err;
  1064	
  1065		if (size > 0) {
  1066			/* copy value into pagelist */
  1067			pagelist = ceph_pagelist_alloc(GFP_NOFS);
  1068			if (!pagelist)
  1069				return -ENOMEM;
  1070	
  1071			err = ceph_pagelist_append(pagelist, value, size);
  1072			if (err)
  1073				goto out;
  1074		} else if (!value) {
  1075			if (flags & CEPH_XATTR_REPLACE)
  1076				op = CEPH_MDS_OP_RMXATTR;
  1077			else
  1078				flags |= CEPH_XATTR_REMOVE;
  1079		}
  1080	
> 1081		dout("setxattr value size: %ld\n", size);
  1082	
  1083		/* do request */
  1084		req = ceph_mdsc_create_request(mdsc, op, USE_AUTH_MDS);
  1085		if (IS_ERR(req)) {
  1086			err = PTR_ERR(req);
  1087			goto out;
  1088		}
  1089	
  1090		req->r_path2 = kstrdup(name, GFP_NOFS);
  1091		if (!req->r_path2) {
  1092			ceph_mdsc_put_request(req);
  1093			err = -ENOMEM;
  1094			goto out;
  1095		}
  1096	
  1097		if (op == CEPH_MDS_OP_SETXATTR) {
  1098			req->r_args.setxattr.flags = cpu_to_le32(flags);
  1099			req->r_args.setxattr.osdmap_epoch =
  1100				cpu_to_le32(osdc->osdmap->epoch);
  1101			req->r_pagelist = pagelist;
  1102			pagelist = NULL;
  1103		}
  1104	
  1105		req->r_inode = inode;
  1106		ihold(inode);
  1107		req->r_num_caps = 1;
  1108		req->r_inode_drop = CEPH_CAP_XATTR_SHARED;
  1109	
  1110		dout("xattr.ver (before): %lld\n", ci->i_xattrs.version);
  1111		err = ceph_mdsc_do_request(mdsc, NULL, req);
  1112		ceph_mdsc_put_request(req);
  1113		dout("xattr.ver (after): %lld\n", ci->i_xattrs.version);
  1114	
  1115	out:
  1116		if (pagelist)
  1117			ceph_pagelist_release(pagelist);
  1118		return err;
  1119	}
  1120	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

  reply	other threads:[~2022-06-01 20:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-01 16:29 [RFC PATCH v3] ceph: prevent a client from exceeding the MDS maximum xattr size Luís Henriques
2022-06-01 20:27 ` kernel test robot [this message]
2022-06-02  2:33 ` Xiubo Li
2022-06-02  9:26   ` Luís Henriques
2022-06-02  9:42     ` Xiubo Li
2022-06-02 10:28       ` Luís Henriques
2022-06-02 10:57         ` Xiubo Li

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=202206020411.AHeREyCE-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    --cc=lhenriques@suse.de \
    --cc=llvm@lists.linux.dev \
    /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.