Re: [PATCH] rbd: Fix uninitialized variable use in rbd_acquire_lock

From: Ilya Dryomov
Date: Fri Jul 14 2017 - 06:06:23 EST


On Thu, Jul 13, 2017 at 9:46 AM, Kefeng Wang <wangkefeng.wang@xxxxxxxxxx> wrote:
> drivers/block/rbd.c: In function 'rbd_acquire_lock':
> drivers/block/rbd.c:3602:44: error: 'ret' may be used uninitialized in this function [-Werror=maybe-uninitialized]
>
> Silence the warning, found it when built old kernel(3.10) with
> OBS(opensuse build service).
>
> Signed-off-by: Kefeng Wang <wangkefeng.wang@xxxxxxxxxx>
> ---
> drivers/block/rbd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
> index b008b6a..b640ad8 100644
> --- a/drivers/block/rbd.c
> +++ b/drivers/block/rbd.c
> @@ -3435,7 +3435,7 @@ static void rbd_acquire_lock(struct work_struct *work)
> struct rbd_device *rbd_dev = container_of(to_delayed_work(work),
> struct rbd_device, lock_dwork);
> enum rbd_lock_state lock_state;
> - int ret;
> + int ret = 0;
>
> dout("%s rbd_dev %p\n", __func__, rbd_dev);
> again:

How did you get rbd_acquire_lock() into 3.10?

Thanks,

Ilya