On Tue, Nov 03, 2020 at 02:21:16AM +0100, Sasha Levin wrote: > From: Vincent Whitchurch <vincent.whitchurch@xxxxxxxx> > > [ Upstream commit ca05f33316559a04867295dd49f85aeedbfd6bfd ] > > The reserved-memory overlap detection code fails to detect overlaps if > either of the regions starts at address 0x0. The code explicitly checks > for and ignores such regions, apparently in order to ignore dynamically > allocated regions which have an address of 0x0 at this point. These > dynamically allocated regions also have a size of 0x0 at this point, so > fix this by removing the check and sorting the dynamically allocated > regions ahead of any static regions at address 0x0. > > For example, there are two overlaps in this case but they are not > currently reported: > > foo@0 { > reg = <0x0 0x2000>; > }; > > bar@0 { > reg = <0x0 0x1000>; > }; > > baz@1000 { > reg = <0x1000 0x1000>; > }; > > quux { > size = <0x1000>; > }; > > but they are after this patch: > > OF: reserved mem: OVERLAP DETECTED! > bar@0 (0x00000000--0x00001000) overlaps with foo@0 (0x00000000--0x00002000) > OF: reserved mem: OVERLAP DETECTED! > foo@0 (0x00000000--0x00002000) overlaps with baz@1000 (0x00001000--0x00002000) > > Signed-off-by: Vincent Whitchurch <vincent.whitchurch@xxxxxxxx> > Link: https://lore.kernel.org/r/ded6fd6b47b58741aabdcc6967f73eca6a3f311e.1603273666.git-series.vincent.whitchurch@xxxxxxxx > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> I'm not sure if this really needs to be backported. It's only fixing what is essentially a minor debugging feature.