OSDN Git Service

arm64: mm: Ensure we ignore the initrd if it is placed out of range
authorWill Deacon <will.deacon@arm.com>
Wed, 3 Apr 2019 16:58:39 +0000 (17:58 +0100)
committerWill Deacon <will.deacon@arm.com>
Wed, 3 Apr 2019 17:35:08 +0000 (18:35 +0100)
commit70b3d237bd7f52d3322c750a358581bf5a267699
tree6f21b5f5316a77d4abb446ac056ed75a7be8ce3b
parent92606ec9285fb84cd9b5943df23f07d741384bfc
arm64: mm: Ensure we ignore the initrd if it is placed out of range

If the initrd payload isn't completely accessible via the linear map,
then we print a warning during boot and nobble the virtual address of
the payload so that we ignore it later on.

Unfortunately, since commit c756c592e442 ("arm64: Utilize
phys_initrd_start/phys_initrd_size"), the virtual address isn't
initialised until later anyway, so we need to nobble the size of the
payload to ensure that we don't try to use it later on.

Fixes: c756c592e442 ("arm64: Utilize phys_initrd_start/phys_initrd_size")
Reported-by: Pierre Kuo <vichy.kuo@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/mm/init.c