powerpc: Find and destroy possible stale kernel added properties
authorMilton Miller <miltonm@bga.com>
Mon, 20 Oct 2008 15:37:03 +0000 (15:37 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 21 Oct 2008 04:19:12 +0000 (15:19 +1100)
commited7b2144bcc87b2b097553f15a2f96e18ede21b0
treee967ddbe6b53d10851e1072d0192f35948ed8218
parentdbc1c5c250cbedccf3571597d156e581e34b2944
powerpc: Find and destroy possible stale kernel added properties

64 bit powerpc requires the kexec user space tools avoid overwriting
the static kernel image and translation hash table when choosing
where to put memory image data because it copies the data into place
using the kernels virtual memory system.  Kexec userspace determines
these and other areas blocked by reading properties the kernel adds,
but does not filter these properties when creating the device tree
for the next kernel.

When the second kernel tries to add its values for these properties,
the export via /proc/device-tree is hidden by the pre-existing but
stale values from the flat tree.  Kexec userspace reads the old
property, allocates the new kernel at the old kernel's end, and
gets rejected by the overlap check.

Search and remove these stale properties before adding the new values.

Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/machine_kexec_64.c