Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: 96484a32b1e560750a36210a288054c2b4c3d6d4
      
https://github.com/tianocore/edk2/commit/96484a32b1e560750a36210a288054c2b4c3d6d4
  Author: Philipp Schuster <[email protected]>
  Date:   2026-04-23 (Thu, 23 Apr 2026)

  Changed paths:
    M OvmfPkg/VirtioBlkDxe/VirtioBlk.c

  Log Message:
  -----------
  OvmfPkg/VirtioBlkDxe: protect SynchronousRequest against interrupts

A UEFI timer event firing at TPL_NOTIFY can preempt SynchronousRequest
while it is executing between VirtioPrepare() and VirtioFlush(). If the
timer callback also performs a block I/O operation backed by the same
virtio-blk device, both contexts manipulate the shared virtqueue
concurrently, corrupting its state and likely crashing the firmware.

Raise the TPL to TPL_NOTIFY before VirtioPrepare() and restore it after
the completion poll to make the virtqueue manipulation and the status
check an uninterruptible sequence. This mirrors the fix applied to the
VirtioRng driver in issue #11987.

On-behalf-of: SAP [email protected]
Signed-off-by: Philipp Schuster <[email protected]>



To unsubscribe from these emails, change your notification settings at 
https://github.com/tianocore/edk2/settings/notifications


_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to