Hari Bathini <hbath...@linux.vnet.ibm.com> writes: > As linux,memory-limit node is set and also later used by the kernel, > avoid endian conversions for this property. > > Fixes: 493adffcb43f ("powerpc: Make prom_init.c endian safe") > Cc: sta...@vger.kernel.org # 3.12+ > Cc: Anton Blanchard <an...@ozlabs.org> > Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org> > Signed-off-by: Hari Bathini <hbath...@linux.vnet.ibm.com> > --- > arch/powerpc/kernel/prom_init.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-)
As Ben said, this is not OK. The flat device tree is a data structure with a specified format[1], we don't violate the spec just to avoid an endian swap. Is there an actual bug you're trying to solve? cheers [1]: https://www.devicetree.org/ > > diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c > index 613f79f..723df83 100644 > --- a/arch/powerpc/kernel/prom_init.c > +++ b/arch/powerpc/kernel/prom_init.c > @@ -3180,9 +3180,8 @@ unsigned long __init prom_init(unsigned long r3, > unsigned long r4, > * Fill in some infos for use by the kernel later on > */ > if (prom_memory_limit) { > - __be64 val = cpu_to_be64(prom_memory_limit); > prom_setprop(prom.chosen, "/chosen", "linux,memory-limit", > - &val, sizeof(val)); > + &prom_memory_limit, sizeof(prom_memory_limit)); > } > #ifdef CONFIG_PPC64 > if (prom_iommu_off)