All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] 9pfs: fix invalid union V9fsFidOpenState access
@ 2026-06-16 15:00 Christian Schoenebeck
  2026-06-16 15:00 ` [PATCH 3/3] hw/9pfs/local: harden local_fid_fd() on FID types Christian Schoenebeck
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Christian Schoenebeck @ 2026-06-16 15:00 UTC (permalink / raw)
  To: qemu-devel, qemu-stable; +Cc: Greg Kurz, Feifan Qian

The individual FID types (P9_FID_NONE, P9_FID_FILE, P9_FID_DIR, P9_FID_XATTR)
share union V9fsFidOpenState with FID-type specific fields. Accessing any of
the union fields must comply with the FID-type to avoid undefined behaviour
or information disclosure.

This series fixes invalid access of this union type at several locations.

* Patch 1 and Patch 2 are the core fixes checking the FID type on protocol
  level (9p.c) before allowing access to a FID-type specific union field.

* Patch 3 adds another safety layer by returning -1 from local_fid_fd() if
  the FID type would not have a valid file descriptor.

Christian Schoenebeck (3):
  hw/9pfs: fix invalid union access by v9fs_co_fsync()
  hw/9pfs: fix invalid union access by v9fs_co_fstat()
  hw/9pfs/local: harden local_fid_fd() on FID types

 hw/9pfs/9p-local.c |  5 ++++-
 hw/9pfs/9p.c       | 17 +++++++++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)

-- 
2.47.3



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-06-17 11:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-16 15:00 [PATCH 0/3] 9pfs: fix invalid union V9fsFidOpenState access Christian Schoenebeck
2026-06-16 15:00 ` [PATCH 3/3] hw/9pfs/local: harden local_fid_fd() on FID types Christian Schoenebeck
2026-06-16 15:00 ` [PATCH 2/3] hw/9pfs: fix invalid union access by v9fs_co_fstat() Christian Schoenebeck
2026-06-16 15:00 ` [PATCH 1/3] hw/9pfs: fix invalid union access by v9fs_co_fsync() Christian Schoenebeck
2026-06-17  7:27 ` [PATCH 0/3] 9pfs: fix invalid union V9fsFidOpenState access Michael Tokarev
2026-06-17  8:10   ` Christian Schoenebeck
2026-06-17  9:35     ` Michael Tokarev
2026-06-17  9:59       ` Christian Schoenebeck
2026-06-17 10:43         ` Michael Tokarev
2026-06-17 11:49           ` Christian Schoenebeck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.