linux
linux copied to clipboard
[FDT] kernel panic on crc32
With enabled DTB append and a patch for DTB overlay support, I've got an error during parse stage of appended to the kernel fdt:
[ 0.400000] Freeing initrd memory: 1532K (c0800000 - c097f000)
[ 7.110000] Unable to handle kernel paging request at virtual address cf800004
[ 7.110000] [<c0284f64>] (crc32_be) from [<c06161a8>] (of_fdt_raw_init+0x30/0x78)
The problem in the range of the appended DTB that belongs to the initrd's range and at the moment of of_fdt_raw_init() call. The freed memory has unpredictable content that leads to wrong crc32 calculation range (and processing stopped at unmapped 0xcf80_0004).