Re: [bug report] btrfs: root->fs_info cleanup, add fs_info convenience variables

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

 



On 12/22/16 7:53 AM, Dan Carpenter wrote:
> Hello Jeff Mahoney,
> 
> This is a semi-automatic email about new static checker warnings.

Hi Dan -

Thanks for the report.  We've already seen this one and the right fix is
to remove the checks in btrfs_get_name since exportfs won't pass
negative dentries.  The original reporter has submitted a patch for that.

-Jeff

> The patch 0b246afa62b0: "btrfs: root->fs_info cleanup, add fs_info 
> convenience variables" from Jun 22, 2016, leads to the following 
> Smatch complaint:
> 
> fs/btrfs/export.c:238 btrfs_get_name()
> 	 warn: variable dereferenced before check 'inode' (see line 226)
> 
> fs/btrfs/export.c
>    225		struct inode *dir = d_inode(parent);
>    226		struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb);
>                                                          ^^^^^^^^^^^
> Patch adds dereference.
> 
>    227		struct btrfs_path *path;
>    228		struct btrfs_root *root = BTRFS_I(dir)->root;
>    229		struct btrfs_inode_ref *iref;
>    230		struct btrfs_root_ref *rref;
>    231		struct extent_buffer *leaf;
>    232		unsigned long name_ptr;
>    233		struct btrfs_key key;
>    234		int name_len;
>    235		int ret;
>    236		u64 ino;
>    237	
>    238		if (!dir || !inode)
>                              ^^^^^
> Old code checked for NULL.
> 
>    239			return -EINVAL;
>    240	
> 
> regards,
> dan carpenter
> 


-- 
Jeff Mahoney
SUSE Labs

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux