diff options
| author | Deepanshu Kartikey <kartikey406@gmail.com> | 2026-08-09 10:29:46 +0530 |
|---|---|---|
| committer | Bjorn Helgaas <bhelgaas@google.com> | 2026-10-19 17:38:46 -0500 |
| commit | c6479aac4f877d2c64b0eb3553ddd529423a9074 (patch) | |
| tree | fa5983d299387d016c6b5b89c2c6ad18e2c78bab /tools/perf/scripts/python | |
| parent | af5ca2d75147bf283239e8ef0fbf6e5e0488ca91 (diff) | |
PCI/sysfs: Reject unaligned resource I/O port accesses
pci_resource_io() validates that off+count stays within the BAR's range but
never checks that the resulting port is aligned to the access size. A
pwrite64()/pread64() on a resourceN file with an odd offset and count=2 or
count=4 reaches outw()/outl() with a misaligned address. On arm64 this
becomes a store/load to a Device-memory mapping (PCI_IOBASE + port), which
architecturally requires natural alignment, causing an alignment fault and
kernel oops.
Reject misaligned accesses before they reach the low-level accessor.
Reported-by: syzbot+7134530b25073b4ef373@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=7134530b25073b4ef373
Signed-off-by: Deepanshu Kartikey <kartikey406@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Tested-by: Rihyeon Kim <rihyeon8648@gmail.com>
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Link: https://patch.msgid.link/20260809045946.15638-1-kartikey406@gmail.com
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
