Re: [PATCH v2] btrfs: send: add support for fs-verity

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jul 31, 2022 at 10:19:28PM +0800, kernel test robot wrote:
> Hi Boris,
> 
> Thank you for the patch! Yet something to improve:
> 
> [auto build test ERROR on kdave/for-next]
> [also build test ERROR on next-20220728]
> [cannot apply to fscrypt/fsverity linus/master v5.19-rc8]
> [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#_base_tree_information]
> 
> url:    https://github.com/intel-lab-lkp/linux/commits/Boris-Burkov/btrfs-send-add-support-for-fs-verity/20220729-021228
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git for-next
> config: arc-randconfig-r025-20220731 (https://download.01.org/0day-ci/archive/20220731/202207312226.d2uCDX53-lkp@xxxxxxxxx/config)
> compiler: arceb-elf-gcc (GCC) 12.1.0
> 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/cd0224725d17f6e9ebabdddeea5bc5743a9250ae
>         git remote add linux-review https://github.com/intel-lab-lkp/linux
>         git fetch --no-tags linux-review Boris-Burkov/btrfs-send-add-support-for-fs-verity/20220729-021228
>         git checkout cd0224725d17f6e9ebabdddeea5bc5743a9250ae
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash fs/
> 
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> 
> All errors (new ones prefixed by >>):
> 
>    fs/btrfs/send.c: In function 'process_new_verity':
> >> fs/btrfs/send.c:4926:28: error: 'struct super_block' has no member named 's_vop'; did you mean 's_op'?
>     4926 |         ret = fs_info->sb->s_vop->get_verity_descriptor(inode, NULL, 0);
>          |                            ^~~~~
>          |                            s_op
>    fs/btrfs/send.c:4942:28: error: 'struct super_block' has no member named 's_vop'; did you mean 's_op'?
>     4942 |         ret = fs_info->sb->s_vop->get_verity_descriptor(inode, sctx->verity_descriptor, ret);
>          |                            ^~~~~
>          |                            s_op
> 
> 
> vim +4926 fs/btrfs/send.c
> 
>   4914	
>   4915	static int process_new_verity(struct send_ctx *sctx)
>   4916	{
>   4917		int ret = 0;
>   4918		struct btrfs_fs_info *fs_info = sctx->send_root->fs_info;
>   4919		struct inode *inode;
>   4920		struct fs_path *p;
>   4921	
>   4922		inode = btrfs_iget(fs_info->sb, sctx->cur_ino, sctx->send_root);
>   4923		if (IS_ERR(inode))
>   4924			return PTR_ERR(inode);
>   4925	
> > 4926		ret = fs_info->sb->s_vop->get_verity_descriptor(inode, NULL, 0);

sb::s_vop is under ifdef CONFIG_FS_VERITY so you'll need to ifdef the
verity callbacks.

>   4927		if (ret < 0)
>   4928			goto iput;
>   4929	
>   4930		if (ret > FS_VERITY_MAX_DESCRIPTOR_SIZE) {
>   4931			ret = -EMSGSIZE;
>   4932			goto iput;
>   4933		}
>   4934		if (!sctx->verity_descriptor) {
>   4935			sctx->verity_descriptor = kvmalloc(FS_VERITY_MAX_DESCRIPTOR_SIZE, GFP_KERNEL);
>   4936			if (!sctx->verity_descriptor) {
>   4937				ret = -ENOMEM;
>   4938				goto iput;
>   4939			}
>   4940		}
>   4941	
>   4942		ret = fs_info->sb->s_vop->get_verity_descriptor(inode, sctx->verity_descriptor, ret);
>   4943		if (ret < 0)
>   4944			goto iput;
>   4945	
>   4946		p = fs_path_alloc();
>   4947		if (!p) {
>   4948			ret = -ENOMEM;
>   4949			goto iput;
>   4950		}
>   4951		ret = get_cur_path(sctx, sctx->cur_ino, sctx->cur_inode_gen, p);
>   4952		if (ret < 0)
>   4953			goto free_path;
>   4954	
>   4955		ret = send_verity(sctx, p, sctx->verity_descriptor);
>   4956		if (ret < 0)
>   4957			goto free_path;
>   4958	
>   4959	free_path:
>   4960		fs_path_free(p);
>   4961	iput:
>   4962		iput(inode);
>   4963		return ret;
>   4964	}
>   4965	
> 
> -- 
> 0-DAY CI Kernel Test Service
> https://01.org/lkp



[Index of Archives]     [linux Cryptography]     [Asterisk App Development]     [PJ SIP]     [Gnu Gatekeeper]     [IETF Sipping]     [Info Cyrus]     [ALSA User]     [Fedora Linux Users]     [Linux SCTP]     [DCCP]     [Gimp]     [Yosemite News]     [Deep Creek Hot Springs]     [Yosemite Campsites]     [ISDN Cause Codes]

  Powered by Linux