[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <YO8VjgdgHXoAcOMY@sashalap>
Date: Wed, 14 Jul 2021 12:49:18 -0400
From: Sasha Levin <sashal@...nel.org>
To: Pavel Machek <pavel@...x.de>
Cc: linux-kernel@...r.kernel.org, stable@...r.kernel.org,
Xie Yongji <xieyongji@...edance.com>,
Gerd Hoffmann <kraxel@...hat.com>,
dri-devel@...ts.freedesktop.org,
virtualization@...ts.linux-foundation.org
Subject: Re: [PATCH AUTOSEL 4.4 08/31] drm/virtio: Fixes a potential NULL
pointer dereference on probe failure
On Mon, Jul 12, 2021 at 11:59:37PM +0200, Pavel Machek wrote:
>Hi!
>
>> From: Xie Yongji <xieyongji@...edance.com>
>>
>> [ Upstream commit 17f46f488a5d82c5568e6e786cd760bba1c2ee09 ]
>>
>> The dev->dev_private might not be allocated if virtio_gpu_pci_quirk()
>> or virtio_gpu_init() failed. In this case, we should avoid the cleanup
>> in virtio_gpu_release().
>
>The check is in wrong place at least in 4.4:
>
>> +++ b/drivers/gpu/drm/virtio/virtgpu_kms.c
>> @@ -257,6 +257,9 @@ int virtio_gpu_driver_unload(struct drm_device *dev)
>> flush_work(&vgdev->config_changed_work);
>> vgdev->vdev->config->del_vqs(vgdev->vdev);
>>
>> + if (!vgdev)
>> + return;
>> +
>
>Pointer is dereferenced before being tested.
Heh, yes, thanks for catching that. I'll drop it for now and rework it
next week.
--
Thanks,
Sasha
Powered by blists - more mailing lists