26869ad14c
In standards such as LoPAPR, property names in excess of the usual 31 characters exist. This breaks property traversal. While in IEEE 1275-1994, nextprop is defined explicitly to work with a 32-byte region of memory, using a larger buffer should be fine. There is actually no way to pass a buffer length to the nextprop call in the OF client interface, so SLOF actually just blindly overflows the buffer. So we have to defensively make the buffer larger, to avoid memory corruption when reading out long properties on live OF systems. Note also that on real-mode OF, things are pretty tight because we are allocating against a static bounce buffer in low memory, so we can't just use a huge buffer to work around this without it being wasteful of our limited amount of 32-bit physical memory. This allows a patched ofwdump to operate properly on SLOF (i.e. pseries) systems, as well as any other PowerPC systems with overlength properties. Reviewed by: jhibbits MFC after: 2 weeks Sponsored by: Tag1 Consulting, Inc. Differential Revision: https://reviews.freebsd.org/D26669 |
||
---|---|---|
.. | ||
ofw_bus_if.m | ||
ofw_bus_subr.c | ||
ofw_bus_subr.h | ||
ofw_bus.h | ||
ofw_console.c | ||
ofw_cpu.c | ||
ofw_cpu.h | ||
ofw_disk.c | ||
ofw_fdt.c | ||
ofw_graph.c | ||
ofw_graph.h | ||
ofw_if.m | ||
ofw_pci.h | ||
ofw_standard.c | ||
ofw_subr.c | ||
ofw_subr.h | ||
ofwbus.c | ||
ofwpci.c | ||
ofwpci.h | ||
ofwvar.h | ||
openfirm.c | ||
openfirm.h | ||
openfirmio.c | ||
openfirmio.h | ||
openpromio.c | ||
openpromio.h |