 e5aa498acb
			
		
	
	e5aa498acb
	
	
	
		
			
			Fixes CVE-2020-10757 via upstream commit df4988aa1c96 ("mm: Fix mremap
not considering huge pmd devmap").
Resolved merge conflict in the following patches:
 bcm27xx: 950-0128-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch
Refreshed patches, removed upstreamed patch:
 generic: 751-v5.8-net-dsa-mt7530-set-CPU-port-to-fallback-mode.patch
 generic: 754-v5.7-net-dsa-mt7530-fix-roaming-from-DSA-user-ports.patch
Run tested: qemu-x86-64
Build tested: x86/64, imx6, sunxi/a53
Signed-off-by: Petr Štetiar <ynezz@true.cz>
		
	
		
			
				
	
	
		
			85 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From bb0c3b0175240bf152fd7c644821a0cf9f77c37c Mon Sep 17 00:00:00 2001
 | |
| From: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
 | |
| Date: Fri, 15 Mar 2019 18:53:38 +0300
 | |
| Subject: [PATCH] arc add OWRTDTB section
 | |
| 
 | |
| This change allows OpenWRT to patch resulting kernel binary with
 | |
| external .dtb.
 | |
| 
 | |
| That allows us to re-use exactky the same vmlinux on different boards
 | |
| given its ARC core configurations match (at least cache line sizes etc).
 | |
| 
 | |
| ""patch-dtb" searches for ASCII "OWRTDTB:" strign and copies external
 | |
| .dtb right after it, keeping the string in place.
 | |
| 
 | |
| Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
 | |
| Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
 | |
| Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
 | |
| ---
 | |
|  arch/arc/kernel/head.S        | 10 ++++++++++
 | |
|  arch/arc/kernel/setup.c       |  4 +++-
 | |
|  arch/arc/kernel/vmlinux.lds.S | 13 +++++++++++++
 | |
|  3 files changed, 26 insertions(+), 1 deletion(-)
 | |
| 
 | |
| --- a/arch/arc/kernel/head.S
 | |
| +++ b/arch/arc/kernel/head.S
 | |
| @@ -61,6 +61,16 @@
 | |
|  #endif
 | |
|  .endm
 | |
|  
 | |
| +	; Here "patch-dtb" will embed external .dtb
 | |
| +	; Note "patch-dtb" searches for ASCII "OWRTDTB:" string
 | |
| +	; and pastes .dtb right after it, hense the string precedes
 | |
| +	; __image_dtb symbol.
 | |
| +	.section .owrt, "aw",@progbits
 | |
| +	.ascii  "OWRTDTB:"
 | |
| +ENTRY(__image_dtb)
 | |
| +	.fill   0x4000
 | |
| +END(__image_dtb)
 | |
| +
 | |
|  	.section .init.text, "ax",@progbits
 | |
|  
 | |
|  ;----------------------------------------------------------------
 | |
| --- a/arch/arc/kernel/setup.c
 | |
| +++ b/arch/arc/kernel/setup.c
 | |
| @@ -492,6 +492,8 @@ static inline bool uboot_arg_invalid(uns
 | |
|  /* We always pass 0 as magic from U-boot */
 | |
|  #define UBOOT_MAGIC_VALUE	0
 | |
|  
 | |
| +extern struct boot_param_header __image_dtb;
 | |
| +
 | |
|  void __init handle_uboot_args(void)
 | |
|  {
 | |
|  	bool use_embedded_dtb = true;
 | |
| @@ -530,7 +532,7 @@ void __init handle_uboot_args(void)
 | |
|  ignore_uboot_args:
 | |
|  
 | |
|  	if (use_embedded_dtb) {
 | |
| -		machine_desc = setup_machine_fdt(__dtb_start);
 | |
| +		machine_desc = setup_machine_fdt(&__image_dtb);
 | |
|  		if (!machine_desc)
 | |
|  			panic("Embedded DT invalid\n");
 | |
|  	}
 | |
| --- a/arch/arc/kernel/vmlinux.lds.S
 | |
| +++ b/arch/arc/kernel/vmlinux.lds.S
 | |
| @@ -27,6 +27,19 @@ SECTIONS
 | |
|  
 | |
|  	. = CONFIG_LINUX_LINK_BASE;
 | |
|  
 | |
| +	/*
 | |
| +	* In OpenWRT we want to patch built binary embedding .dtb of choice.
 | |
| +	* This is implemented with "patch-dtb" utility which searches for
 | |
| +	* "OWRTDTB:" string in first 16k of image and if it is found
 | |
| +	* copies .dtb right after mentioned string.
 | |
| +	*
 | |
| +	* Note: "OWRTDTB:" won't be overwritten with .dtb, .dtb will follow it.
 | |
| +	*/
 | |
| + 	.owrt : {
 | |
| +		*(.owrt)
 | |
| +	. = ALIGN(PAGE_SIZE);
 | |
| +	}
 | |
| +
 | |
|  	_int_vec_base_lds = .;
 | |
|  	.vector : {
 | |
|  		*(.vector)
 |