[PATCH] fbdev: hyperv_fb: fix uninitialized local variable use

Helge Deller deller at gmx.de
Wed Nov 8 15:38:34 UTC 2023


On 11/8/23 15:58, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd at arndb.de>
>
> When CONFIG_SYSFB is disabled, the hyperv_fb driver can now run into
> undefined behavior on a gen2 VM, as indicated by this smatch warning:
>
> drivers/video/fbdev/hyperv_fb.c:1077 hvfb_getmem() error: uninitialized symbol 'base'.
> drivers/video/fbdev/hyperv_fb.c:1077 hvfb_getmem() error: uninitialized symbol 'size'.
>
> Since there is no way to know the actual framebuffer in this configuration,
> just return an allocation failure here, which should avoid the build
> warning and the undefined behavior.
>
> Reported-by: kernel test robot <lkp at intel.com>
> Reported-by: Dan Carpenter <dan.carpenter at linaro.org>
> Closes: https://lore.kernel.org/r/202311070802.YCpvehaz-lkp@intel.com/
> Fixes: a07b50d80ab6 ("hyperv: avoid dependency on screen_info")
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>

applied.

Thanks!
Helge


> ---
>   drivers/video/fbdev/hyperv_fb.c | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/drivers/video/fbdev/hyperv_fb.c b/drivers/video/fbdev/hyperv_fb.c
> index bf59daf862fc..a80939fe2ee6 100644
> --- a/drivers/video/fbdev/hyperv_fb.c
> +++ b/drivers/video/fbdev/hyperv_fb.c
> @@ -1013,6 +1013,8 @@ static int hvfb_getmem(struct hv_device *hdev, struct fb_info *info)
>   	} else if (IS_ENABLED(CONFIG_SYSFB)) {
>   		base = screen_info.lfb_base;
>   		size = screen_info.lfb_size;
> +	} else {
> +		goto err1;
>   	}
>
>   	/*



More information about the dri-devel mailing list