mirror of
https://github.com/torvalds/linux.git
synced 2026-09-14 16:10:02 +02:00
Add explicit padding before launch_time so xsk_tx_metadata has the same
layout on 32-bit and 64-bit systems.
On several architectures (csky, i386, nios2, m65k, openrisc, sh), the old
native 32-bit layout put launch_time at offset 12 and had a natural size of
20 bytes. Using sizeof(struct xsk_tx_metadata) as tx_metadata_len was already
rejected because the length must be a multiple of eight, so the
straightforward use of the interface was broken on those ABIs. Userspace
could still register a padded length of 24 bytes, though; mixing the old and
new layouts then silently reads launch_time from the wrong offset and
misprograms packet launch times. This intentionally replaces that
incompatible layout because the affected architectures are unlikely to
have any notable users. (x86_64 and arm64 have the most users and are _not_
affected)
Fixes:
|
||
|---|---|---|
| .. | ||
| asm-generic | ||
| cxl | ||
| drm | ||
| fwctl | ||
| linux | ||
| misc | ||
| mtd | ||
| rdma | ||
| regulator | ||
| scsi | ||
| sound | ||
| video | ||
| xen | ||
| Kbuild | ||