aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/etherswitch/arswitch/arswitch_vlans.h
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2026-09-28 05:33:06 +0000
committerPiotr Kubaj <pkubaj@FreeBSD.org>2026-09-29 08:28:46 +0000
commit081f751823aa90d8cfea53e900f81dff7cc9836b (patch)
tree8019794aa9c0462e98feb7ce8d482f884bc5927a /sys/dev/etherswitch/arswitch/arswitch_vlans.h
parent34f9f5680c9d5d5138e427ba3aeab0138cec3882 (diff)
stand/powerpc/ofw: do not truncate device tree properties to 1024 bytesHEADmain
When the OpenFirmware loader flattens the firmware device tree into the FDT it hands to the kernel (usefdt=1, i.e. on every real-mode OF system such as pSeries LPARs and QEMU pseries guests), add_node_to_fdt() clamps every property value to 1024 bytes. Any larger property reaches the kernel truncated. On QEMU pseries the PCI host bridge's "interrupt-map" is 3584 bytes (32 slots x 4 pins x 7 cells), so only the entries for slots 0-8 survive and the entry for slot 9 is cut in the middle. A PCI device in slot 9 or above therefore gets no INTx routing (irq 0), and with INVARIANTS the partial trailing entry trips the "ofw_bus_search_intrmap: truncated map" assertion in ofw_bus_search_intrmap() during PCI attach, panicking the kernel as soon as such a device is present. "ibm,drc-indexes", "ibm,drc-names" and "ibm,drc-power-domains" are cut the same way. Drop the clamp. fdt_setprop() already reports a property that does not fit into the FDT buffer, so no separate limit is needed. Fixes: 5ecf8e3852a9 ("Clean up some FDT-related code in the PowerPC bootloader, improving error checking and robustness. Prevents errors and crashes in FDT commands on PowerMac G5 systems.") Differential Revision: https://reviews.freebsd.org/D60086
Diffstat (limited to 'sys/dev/etherswitch/arswitch/arswitch_vlans.h')
0 files changed, 0 insertions, 0 deletions