[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4f4fe40b-1e2e-f0b9-37bc-4743fded439d@roeck-us.net>
Date: Thu, 9 Mar 2017 05:20:51 -0800
From: Guenter Roeck <linux@...ck-us.net>
To: Tobias Klauser <tklauser@...tanz.ch>
Cc: Sven Schmidt <4sschmid@...ormatik.uni-hamburg.de>,
Sandra Loosemore <sandra@...esourcery.com>,
Arnd Bergmann <arnd@...db.de>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, Ley Foon Tan <lftan@...era.com>,
nios2-dev@...ts.rocketboards.org
Subject: Re: nios2 crash/hang in mainline due to 'lib: update LZ4 compressor
module'
On 03/07/2017 04:46 AM, Tobias Klauser wrote:
[ ... ]
>
> Linux version 4.11.0-rc1-dirty (tobiask@...s08) (gcc version 7.0.1 20170226 (experimental) (GCC) ) #46 Tue Mar 7 13:40:53 CET 2017
> bootconsole [early0] enabled
> Early console on uart16650 initialized at 0xf8001600
> OF: fdt: Error -11 processing FDT
> Kernel panic - not syncing: setup_cpuinfo: No CPU found in devicetree!
>
> ---[ end Kernel panic - not syncing: setup_cpuinfo: No CPU found in devicetree!
>
> Looks like the in-memory device tree somehow gets corrupted. Not sure
> yet why and how this is linked to the Kconfig options selected but at
> least we now have a possibility to use debug messages earlier on.
>
I think I found the problem. In unflatten_and_copy_device_tree(), with added
debug information:
OF: fdt: initial_boot_params=c861e400, dt=c861f000 size=28874 (0x70ca)
... and then initial_boot_params is copied to dt, which results in corrupted
fdt since the memory overlaps. Looks like the initial_boot_params memory
is not reserved and (re-)allocated by early_init_dt_alloc_memory_arch().
Guenter
Powered by blists - more mailing lists