Re: [PATCH AUTOSEL 6.3 06/11] of: fdt: Scan /memreserve/ last

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hey Sasha,

On Thu, May 11, 2023 at 03:37:49PM -0400, Sasha Levin wrote:
> From: Lucas Tanure <tanure@xxxxxxxxx>
> 
> [ Upstream commit b413281876292de44ae84e9a9ce9d62e47f266e9 ]
> 
> Change the scanning /memreserve/ and /reserved-memory node order to fix
> Kernel panic on Khadas Vim3 Board.
> 
> If /memreserve/ goes first, the memory is reserved, but nomap can't be
> applied to the region. So the memory won't be used by Linux, but it is
> still present in the linear map as normal memory, which allows
> speculation. Legitimate access to adjacent pages will cause the CPU
> to end up prefetching into them leading to Kernel panic.
> 
> So /reserved-memory node should go first, as it has a more updated
> description of the memory regions and can apply flags, like nomap.
> 
> Link: https://lore.kernel.org/all/CAJX_Q+1Tjc+-TjZ6JW9X0NxEdFe=82a9626yL63j7uVD4LpxEA@xxxxxxxxxxxxxx/
> Signed-off-by: Lucas Tanure <tanure@xxxxxxxxx>
> Link: https://lore.kernel.org/r/20230424113846.46382-1-tanure@xxxxxxxxx
> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

Rob requested that this patch (and it's bretheren in other AUTOSEL
series) not be backported immediately:
| Going to let this sit in linux-next for a bit. I also didn't tag for 
| stable kernels. I want it to get some exposure in mainline at least for 
| a few -rc releases rather than getting backported right away. Please 
| help ensure that happens if you see stable review emails. I'm going to 
| be offline most of the next month.
https://lore.kernel.org/linux-devicetree/168262872454.3491083.6407810340850053636.robh@xxxxxxxxxx/

Perhaps delaying it for another couple of weeks, since we have only just
had -rc2, is a good idead?

Cheers,
Conor.

> ---
>  drivers/of/fdt.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
> index d1a68b6d03b3f..c28aedd7ae1f7 100644
> --- a/drivers/of/fdt.c
> +++ b/drivers/of/fdt.c
> @@ -635,6 +635,9 @@ void __init early_init_fdt_scan_reserved_mem(void)
>  	if (!initial_boot_params)
>  		return;
>  
> +	fdt_scan_reserved_mem();
> +	fdt_reserve_elfcorehdr();
> +
>  	/* Process header /memreserve/ fields */
>  	for (n = 0; ; n++) {
>  		fdt_get_mem_rsv(initial_boot_params, n, &base, &size);
> @@ -643,8 +646,6 @@ void __init early_init_fdt_scan_reserved_mem(void)
>  		memblock_reserve(base, size);
>  	}
>  
> -	fdt_scan_reserved_mem();
> -	fdt_reserve_elfcorehdr();
>  	fdt_init_reserved_mem();
>  }
>  
> -- 
> 2.39.2
> 

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux