From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: Re: [PATCH v2] drm/virtio: move cursor resv lock acquisition to prepare_fb Date: Sat, 16 May 2026 14:23:37 +1000 Message-ID: In-Reply-To: References: X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Overall Series Review Subject: Re: [PATCH v2] drm/virtio: move cursor resv lock acquisition to pr= epare_fb Author: Dmitry Osipenko Patches: 4 Reviewed: 2026-05-16T14:23:37.525668 --- This is a single-patch series fixing a real syzbot-reported bug where `virt= io_gpu_cursor_plane_update()` ignores the return value of `virtio_gpu_array= _lock_resv()`. The unchecked failure leads to `dma_resv_add_fence()` being = called without the reservation lock held, causing a lockdep splat and poten= tial fence-list corruption under concurrent access. The fix correctly moves the fallible resource acquisition (object array all= ocation, reservation lock, fence slot reservation) from `.atomic_update` = =E2=80=94 which must not fail per the DRM atomic contract =E2=80=94 into `.= prepare_fb`, which is the designated callback for fallible resource prepara= tion. This is the standard DRM pattern and the right approach. The patch is well-structured, the commit message is thorough and explains b= oth the bug mechanism and the design rationale. The lifecycle management (p= repare =E2=86=92 consume =E2=86=92 cleanup) is correct across all paths (su= ccess, rollback, cursor-move-without-fb-change). **Verdict: Good patch, ready to apply with minor observations below.** --- Generated by Claude Code Patch Reviewer