Re: [syzbot] [dri?] WARNING in vkms_get_vblank_timestamp (2)

From: Lizhi Xu
Date: Sun Feb 25 2024 - 23:07:13 EST


#syz test https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master

diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c
index 61e500b8c9da..8994cbd88482 100644
--- a/drivers/gpu/drm/vkms/vkms_crtc.c
+++ b/drivers/gpu/drm/vkms/vkms_crtc.c
@@ -100,6 +100,9 @@ static bool vkms_get_vblank_timestamp(struct drm_crtc *crtc,

*vblank_time = READ_ONCE(output->vblank_hrtimer.node.expires);

+ if (!in_vblank_irq && *vblank_time == vblank->time)
+ return true;
+
if (WARN_ON(*vblank_time == vblank->time))
return true;