]> git.baikalelectronics.ru Git - kernel.git/commit
of: unittest: overlay: ensure proper alignment of copied FDT
authorFrank Rowand <frank.rowand@sony.com>
Thu, 8 Apr 2021 20:45:08 +0000 (15:45 -0500)
committerRob Herring <robh@kernel.org>
Thu, 8 Apr 2021 21:38:47 +0000 (16:38 -0500)
commit848ddf5d152c53b08a78dd6dbc733e9292f5cf34
tree2fa58efa7eeb0a6367f6efbcd4b5f4438a1fdfc0
parent087b5dff2634120d6f4841d5f9673780d252b412
of: unittest: overlay: ensure proper alignment of copied FDT

The Devicetree standard specifies an 8 byte alignment of the FDT.
Code in libfdt expects this alignment for an FDT image in memory.
kmemdup() returns 4 byte alignment on openrisc.  Replace kmemdup()
with kmalloc(), align pointer, memcpy() to get proper alignment.

The 4 byte alignment exposed a related bug which triggered a crash
on openrisc with:
commit 2b9136faec55 ("scripts/dtc: Update to upstream version v1.6.0-51-g183df9e9c2b9")
as reported in:
https://lore.kernel.org/lkml/20210327224116.69309-1-linux@roeck-us.net/

Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Frank Rowand <frank.rowand@sony.com>
Link: https://lore.kernel.org/r/20210408204508.2276230-1-frowand.list@gmail.com
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/of_private.h
drivers/of/overlay.c
drivers/of/unittest.c