Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1501839 > unrolled thread

[PATCH] MIPS: KASLR: Fix handling of NULL FDT

Started byMatt Redfearn <matt.redfearn@imgtec.com>
First post2016-10-17 12:10 +0200
Last post2016-10-17 15:50 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] MIPS: KASLR: Fix handling of NULL FDT Matt Redfearn <matt.redfearn@imgtec.com> - 2016-10-17 12:10 +0200
    Re: [PATCH] MIPS: KASLR: Fix handling of NULL FDT James Hogan <james.hogan@imgtec.com> - 2016-10-17 12:20 +0200
    Re: [PATCH] MIPS: KASLR: Fix handling of NULL FDT Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> - 2016-10-17 15:50 +0200

#1501839 — [PATCH] MIPS: KASLR: Fix handling of NULL FDT

FromMatt Redfearn <matt.redfearn@imgtec.com>
Date2016-10-17 12:10 +0200
Subject[PATCH] MIPS: KASLR: Fix handling of NULL FDT
Message-ID<std1L-26b-11@gated-at.bofh.it>
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")
Cc: <stable@vger.kernel.org> # 4.7+
Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
---

 arch/mips/kernel/relocate.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/mips/kernel/relocate.c b/arch/mips/kernel/relocate.c
index ca1cc30c0891..8810183840ca 100644
--- a/arch/mips/kernel/relocate.c
+++ b/arch/mips/kernel/relocate.c
@@ -200,6 +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;
-- 
2.7.4

[toc] | [next] | [standalone]


#1501843

FromJames Hogan <james.hogan@imgtec.com>
Date2016-10-17 12:20 +0200
Message-ID<stdbr-2aY-1@gated-at.bofh.it>
In reply to#1501839

[Multipart message — attachments visible in raw view] — view raw

Hi Matt,

On Mon, Oct 17, 2016 at 11:04:54AM +0100, Matt Redfearn wrote:
> 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")
> Cc: <stable@vger.kernel.org> # 4.7+
> Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
> ---
> 
>  arch/mips/kernel/relocate.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/mips/kernel/relocate.c b/arch/mips/kernel/relocate.c
> index ca1cc30c0891..8810183840ca 100644
> --- a/arch/mips/kernel/relocate.c
> +++ b/arch/mips/kernel/relocate.c
> @@ -200,6 +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)
>  	{

The open brace should be on the same line as the if really.

Cheers
James

>  		int node, len;
>  		u64 *prop;
> -- 
> 2.7.4
> 
> 

[toc] | [prev] | [next] | [standalone]


#1501973

FromSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Date2016-10-17 15:50 +0200
Message-ID<stgsF-47u-1@gated-at.bofh.it>
In reply to#1501839
Hello.

On 10/17/2016 01:04 PM, Matt Redfearn wrote:

> 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")
> Cc: <stable@vger.kernel.org> # 4.7+
> Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
> ---
>
>  arch/mips/kernel/relocate.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/arch/mips/kernel/relocate.c b/arch/mips/kernel/relocate.c
> index ca1cc30c0891..8810183840ca 100644
> --- a/arch/mips/kernel/relocate.c
> +++ b/arch/mips/kernel/relocate.c
> @@ -200,6 +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)
>  	{

    CodingStyle: *if* and { should be on the same line.

[...]

MBR, Sergei

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web