[U-Boot] [PATCH] ARM: mvebu: don't dereference null bd pointer

Stefan Roese sr at denx.de
Wed Oct 23 10:31:11 UTC 2019


On 23.10.19 09:48, Chris Packham wrote:
> On Wed, Oct 23, 2019 at 1:15 AM Stefan Roese <sr at denx.de> wrote:
>>
>> Hi Chris,
>>
>> On 22.10.19 09:05, Chris Packham wrote:
>>> As mentioned in doc/README.arm-relocation gd->bd is not available in
>>> dram_init() so we shouldn't attempt to access it.
>>>
>>> Signed-off-by: Chris Packham <judge.packham at gmail.com>
>>> ---
>>>
>>>    arch/arm/mach-mvebu/dram.c | 10 ----------
>>>    1 file changed, 10 deletions(-)
>>>
>>> diff --git a/arch/arm/mach-mvebu/dram.c b/arch/arm/mach-mvebu/dram.c
>>> index fa8c799a462e..ba8ebc62887f 100644
>>> --- a/arch/arm/mach-mvebu/dram.c
>>> +++ b/arch/arm/mach-mvebu/dram.c
>>> @@ -281,16 +281,6 @@ int dram_init(void)
>>>                        size = MVEBU_SDRAM_SIZE_MAX;
>>>        }
>>>
>>> -     for (; i < CONFIG_NR_DRAM_BANKS; i++) {
>>> -             /* If above loop terminated prematurely, we need to set
>>> -              * remaining banks' start address & size as 0. Otherwise other
>>> -              * u-boot functions and Linux kernel gets wrong values which
>>> -              * could result in crash */
>>> -             gd->bd->bi_dram[i].start = 0;
>>> -             gd->bd->bi_dram[i].size = 0;
>>> -     }
>>> -
>>> -
>>
>> How did you spot this issue? Did you see some crash / oops on one of
>> your boards lately? I'm asking since I've never seen any issues with
>> this code.
>>
> 
> Actually spotted this on another board.
> 
> Part of the $dayjob customisations include a diagnostic menu used for
> production testing. For mostly historical reasons we try and run the
> RAM test from the pre-relocation parts of u-boot. This lets us test
> all of RAM but as a consequence the bank start/size get overwritten
> with the test pattern so we hit a bug where the test would work the
> first time but then run off into the weeds the second time.
> 
> Aside from the wrongness I'm not aware of any problem this causes.

Thanks for the explanation.

Reviewed-by: Stefan Roese <sr at denx.de>

Thanks,
Stefan


More information about the U-Boot mailing list