lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sat, 4 Mar 2023 00:32:12 +0300
From:   Dmitry Osipenko <dmitry.osipenko@...labora.com>
To:     Harshit Mogalapalli <harshit.m.mogalapalli@...cle.com>,
        stable@...r.kernel.org
Cc:     kraxel@...hat.com, linux-kernel@...r.kernel.org,
        emil.l.velikov@...il.com, airlied@...ux.ie, error27@...il.com,
        gregkh@...uxfoundation.org, darren.kenny@...cle.com,
        vegard.nossum@...cle.com
Subject: Re: [PATCH 5.10.y] drm/virtio: Fix error code in
 virtio_gpu_object_shmem_init()

On 3/2/23 20:28, Harshit Mogalapalli wrote:
> In virtio_gpu_object_shmem_init() we are passing NULL to PTR_ERR, which
> is returning 0/success.
> 
> Fix this by storing error value in 'ret' variable before assigning
> shmem->pages to NULL.
> 
> Found using static analysis with Smatch.
> 
> Fixes: 64b88afbd92f ("drm/virtio: Correct drm_gem_shmem_get_sg_table() error handling")
> Signed-off-by: Harshit Mogalapalli <harshit.m.mogalapalli@...cle.com>
> ---
> Only compile tested.
> 
> Upstream commit b5c9ed70d1a9 ("drm/virtio: Improve DMA API usage for shmem BOs")
> deleted this code, so this patch is not necessary in linux-6.1.y and
> linux-6.2.y.
> ---
>  drivers/gpu/drm/virtio/virtgpu_object.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/virtio/virtgpu_object.c b/drivers/gpu/drm/virtio/virtgpu_object.c
> index 168148686001..49fa59e09187 100644
> --- a/drivers/gpu/drm/virtio/virtgpu_object.c
> +++ b/drivers/gpu/drm/virtio/virtgpu_object.c
> @@ -159,8 +159,9 @@ static int virtio_gpu_object_shmem_init(struct virtio_gpu_device *vgdev,
>  	shmem->pages = drm_gem_shmem_get_sg_table(&bo->base.base);
>  	if (IS_ERR(shmem->pages)) {
>  		drm_gem_shmem_unpin(&bo->base.base);
> +		ret = PTR_ERR(shmem->pages);
>  		shmem->pages = NULL;
> -		return PTR_ERR(shmem->pages);
> +		return ret;
>  	}
>  
>  	if (use_dma_api) {

Reviewed-by: Dmitry Osipenko <dmitry.osipenko@...labora.com>

-- 
Best regards,
Dmitry

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ