kernel: Update kernel 4.14 to version 4.14.187

Fixes:
- CVE-2020-10757

The "mtd: rawnand: Pass a nand_chip object to nand_release()" commit was
backported which needed some adaptations to other code.

Build tested: ramips

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Hauke Mehrtens
2020-07-04 00:54:41 +02:00
parent 78b632134f
commit ce958dd88a
35 changed files with 74 additions and 79 deletions

View File

@@ -15,10 +15,10 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
BOOTMEM_DEFAULT);
#endif
- device_tree_init();
sparse_init();
plat_swiotlb_setup();
@@ -1026,6 +1025,7 @@ void __init setup_arch(char **cmdline_p)
/*
* In order to reduce the possibility of kernel panic when failed to
@@ -1036,6 +1035,7 @@ void __init setup_arch(char **cmdline_p)
cpu_cache_init();
paging_init();

View File

@@ -47,7 +47,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* selected and we have 256 byte pagesize fallback to software ECC
--- a/include/linux/mtd/rawnand.h
+++ b/include/linux/mtd/rawnand.h
@@ -862,6 +862,7 @@ struct nand_manufacturer_ops {
@@ -860,6 +860,7 @@ struct nand_manufacturer_ops {
* structure which is shared among multiple independent
* devices.
* @priv: [OPTIONAL] pointer to private chip data
@@ -55,7 +55,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* @manufacturer: [INTERN] Contains manufacturer information
*/
@@ -885,6 +886,9 @@ struct nand_chip {
@@ -883,6 +884,9 @@ struct nand_chip {
int(*waitfunc)(struct mtd_info *mtd, struct nand_chip *this);
int (*erase)(struct mtd_info *mtd, int page);
int (*scan_bbt)(struct mtd_info *mtd);

View File

@@ -3590,7 +3590,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+
+out:
+ MSG(INIT, "[NFI] mtk_nand_probe fail, err = %d!\n", err);
+ nand_release(mtd);
+ nand_release(nand_chip);
+ platform_set_drvdata(pdev, NULL);
+ kfree(host);
+ nand_disable_clock();
@@ -3604,7 +3604,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ struct mtd_info *mtd = host->mtd;
+ struct nand_chip *nand_chip = &host->nand_chip;
+
+ nand_release(mtd);
+ nand_release(nand_chip);
+ kfree(host);
+ nand_disable_clock();
+

View File

@@ -20,7 +20,7 @@
/* Invalidate page cache */
--- a/include/linux/mtd/rawnand.h
+++ b/include/linux/mtd/rawnand.h
@@ -897,6 +897,9 @@ struct nand_chip {
@@ -895,6 +895,9 @@ struct nand_chip {
int (*setup_data_interface)(struct mtd_info *mtd, int chipnr,
const struct nand_data_interface *conf);