linux/samples
Stefan Hajnoczi a7bea9f4fe vfio: use __aligned_u64 in struct vfio_device_gfx_plane_info
The memory layout of struct vfio_device_gfx_plane_info is
architecture-dependent due to a u64 field and a struct size that is not
a multiple of 8 bytes:
- On x86_64 the struct size is padded to a multiple of 8 bytes.
- On x32 the struct size is only a multiple of 4 bytes, not 8.
- Other architectures may vary.

Use __aligned_u64 to make memory layout consistent. This reduces the
chance of 32-bit userspace on a 64-bit kernel breakage.

This patch increases the struct size on x32 but this is safe because of
the struct's argsz field. The kernel may grow the struct as long as it
still supports smaller argsz values from userspace (e.g. applications
compiled against older kernel headers).

Suggested-by: Jason Gunthorpe <jgg@ziepe.ca>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Link: https://lore.kernel.org/r/20230918205617.1478722-3-stefanha@redhat.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2023-09-28 12:12:08 -06:00
..
acrn virt: acrn: Replace obsolete memalign() with posix_memalign() 2023-04-20 14:20:51 +02:00
auxdisplay
binderfs
bpf samples/bpf: Add note to README about the XDP utilities moved to xdp-tools 2023-08-24 08:43:50 -07:00
configfs
connector
coresight
fanotify
fprobe fprobe: Pass return address to the handlers 2023-06-06 21:39:55 +09:00
ftrace samples: ftrace: Replace bti assembly with hint for older compiler 2023-08-21 22:03:58 -04:00
hid bpf: Replace deprecated -target with --target= for Clang 2023-06-29 15:46:17 +02:00
hidraw
hw_breakpoint samples/hw_breakpoint: mark sample_hbp as static 2023-07-26 11:17:19 -07:00
kdb
kfifo
kmemleak kmemleak-test: drop __init to get better backtrace 2023-06-09 16:25:40 -07:00
kobject samples/kobject: make kobj_type structure constant 2023-02-08 13:34:41 +01:00
kprobes samples/kprobes: Add LoongArch support 2023-02-25 22:12:17 +08:00
landlock
livepatch
mei
nitro_enclaves
pfsm samples: Add userspace example for TI TPS6594 PFSM 2023-06-15 13:41:53 +02:00
pidfd
pktgen samples: pktgen: fix append mode failed issue 2023-07-03 09:15:26 +01:00
qmi
rpmsg
rust samples: rust: print: Add sample code for Arc printing 2023-04-10 05:05:43 +02:00
seccomp
timers
trace_events
trace_printk
uhid
user_events tracing/user_events: Use write ABI in example 2023-03-29 06:52:09 -04:00
v4l
vfio-mdev vfio: use __aligned_u64 in struct vfio_device_gfx_plane_info 2023-09-28 12:12:08 -06:00
vfs
watch_queue
watchdog
Kconfig vfio-dev/mdpy-fb: Use fbdev I/O helpers 2023-08-04 15:54:39 +02:00
Makefile samples: Add userspace example for TI TPS6594 PFSM 2023-06-15 13:41:53 +02:00