Re: [PATCH 1/2] pnfsblock: fix NULL pointer dereference

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

 



Sorry, forgot to cc nfs list.

On Sat, Sep 10, 2011 at 10:49 AM, Peng Tao <bergwolf@xxxxxxxxx> wrote:
> bl_add_page_to_bio returns error pointer. bio should be reset to
> NULL in failure cases as the out path always calls bl_submit_bio.
>
> Signed-off-by: Peng Tao <peng_tao@xxxxxxx>
> ---
>  fs/nfs/blocklayout/blocklayout.c |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
>
> diff --git a/fs/nfs/blocklayout/blocklayout.c b/fs/nfs/blocklayout/blocklayout.c
> index 7debb55..0920c35 100644
> --- a/fs/nfs/blocklayout/blocklayout.c
> +++ b/fs/nfs/blocklayout/blocklayout.c
> @@ -292,6 +292,7 @@ bl_read_pagelist(struct nfs_read_data *rdata)
>                                                 bl_end_io_read, par);
>                        if (IS_ERR(bio)) {
>                                rdata->pnfs_error = PTR_ERR(bio);
> +                               bio = NULL;
>                                goto out;
>                        }
>                }
> @@ -581,6 +582,7 @@ fill_invalid_ext:
>                                                 bl_end_io_write_zero, par);
>                        if (IS_ERR(bio)) {
>                                wdata->pnfs_error = PTR_ERR(bio);
> +                               bio = NULL;
>                                goto out;
>                        }
>                        /* FIXME: This should be done in bi_end_io */
> @@ -629,6 +631,7 @@ next_page:
>                                         bl_end_io_write, par);
>                if (IS_ERR(bio)) {
>                        wdata->pnfs_error = PTR_ERR(bio);
> +                       bio = NULL;
>                        goto out;
>                }
>                isect += PAGE_CACHE_SECTORS;
> --
> 1.7.1.262.g5ef3d
>
>



-- 
Thanks,
-Bergwolf
��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux