On Thu, Jul 19, 2018 at 11:01:57PM +0200, Martin Wilck wrote:
> Fixes: 72ecad22d9f1 ("block: support a full bio worth of IO for simplified 
> bdev direct-io")
> Signed-off-by: Martin Wilck <[email protected]>
> ---
>  fs/block_dev.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/fs/block_dev.c b/fs/block_dev.c
> index 0dd87aa..aba2541 100644
> --- a/fs/block_dev.c
> +++ b/fs/block_dev.c
> @@ -221,7 +221,7 @@ __blkdev_direct_IO_simple(struct kiocb *iocb, struct 
> iov_iter *iter,
>  
>       ret = bio_iov_iter_get_pages(&bio, iter);
>       if (unlikely(ret))
> -             return ret;
> +             goto out;
>       ret = bio.bi_iter.bi_size;
>  
>       if (iov_iter_rw(iter) == READ) {
> @@ -250,12 +250,13 @@ __blkdev_direct_IO_simple(struct kiocb *iocb, struct 
> iov_iter *iter,
>               put_page(bvec->bv_page);
>       }
>  
> -     if (vecs != inline_vecs)
> -             kfree(vecs);
> -
>       if (unlikely(bio.bi_status))
>               ret = blk_status_to_errno(bio.bi_status);
>  
> +out:
> +     if (vecs != inline_vecs)
> +             kfree(vecs);
> +
>       bio_uninit(&bio);
>  
>       return ret;
> -- 
> 2.17.1
> 

Reviewed-by: Ming Lei <[email protected]>

Thanks,
Ming

Reply via email to