Re: [PATCH] ext4: don't free an error pointer

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

 



Reviewed-by: Tahsin Erdogan <tahsin@xxxxxxxxxx>

On Fri, Jun 30, 2017 at 12:56 AM, Dan Carpenter
<dan.carpenter@xxxxxxxxxx> wrote:
> "goto out;" calls brelse(bh); which will oops on this this path where
> "bh" is an error pointer.
>
> Fixes: 2851a40a5d71 ("ext4: xattr-in-inode support")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> ---
> Oops.  I wrote a bug report and a patch for this...  Probably we only
> need the patch.
>
>
> diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
> index ce12c3fb7e59..f7d6845e147b 100644
> --- a/fs/ext4/xattr.c
> +++ b/fs/ext4/xattr.c
> @@ -1305,10 +1305,8 @@ static int ext4_xattr_inode_write(handle_t *handle, struct inode *ea_inode,
>                 csize = (bufsize - wsize) > blocksize ? blocksize :
>                                                                 bufsize - wsize;
>                 bh = ext4_getblk(handle, ea_inode, block, 0);
> -               if (IS_ERR(bh)) {
> -                       ret = PTR_ERR(bh);
> -                       goto out;
> -               }
> +               if (IS_ERR(bh))
> +                       return PTR_ERR(bh);
>                 ret = ext4_journal_get_write_access(handle, bh);
>                 if (ret)
>                         goto out;



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux