]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
MIPS: KASLR: Fix handling of NULL FDT
authorMatt Redfearn <matt.redfearn@imgtec.com>
Mon, 17 Oct 2016 16:21:46 +0000 (17:21 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Nov 2016 15:38:51 +0000 (16:38 +0100)
commit 4736697963385e6257ee8e260e97347e858cd962 upstream.

If platform code returns a NULL pointer to the FDT, initial_boot_params
will not get set to a valid pointer and attempting to find the /chosen
node in it will cause a NULL pointer dereference and the kernel to crash
immediately on startup - with no output to the console.

Fix this by checking that initial_boot_params is valid before using it.

Fixes: 405bc8fd12f5 ("MIPS: Kernel: Implement KASLR using CONFIG_RELOCATABLE")
Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/14414/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/mips/kernel/relocate.c

index ca1cc30c0891f7a94a6cb0f0e9bf4941fc817fd2..1958910b75c07aa18926df5d50f93987dbe58406 100644 (file)
@@ -200,7 +200,7 @@ static inline __init unsigned long get_random_boot(void)
 
 #if defined(CONFIG_USE_OF)
        /* Get any additional entropy passed in device tree */
-       {
+       if (initial_boot_params) {
                int node, len;
                u64 *prop;