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 committed by AmadeusGhost
parent de4455bd3d
commit 0287f7cc12
7 changed files with 11 additions and 11 deletions

View File

@ -1566,7 +1566,7 @@ ar934x_nfc_remove(struct platform_device *pdev)
nfc = platform_get_drvdata(pdev);
if (nfc) {
mtd = ar934x_nfc_to_mtd(nfc);
nand_release(mtd);
nand_release(&nfc->nand_chip);
ar934x_nfc_free_buf(nfc);
free_irq(nfc->irq, nfc);
}

View File

@ -335,7 +335,7 @@ static int rb4xx_nand_probe(struct platform_device *pdev)
return 0;
err_release_nand:
nand_release(mtd);
nand_release(&info->chip);
err_set_drvdata:
platform_set_drvdata(pdev, NULL);
err_free_info:
@ -356,7 +356,7 @@ static int rb4xx_nand_remove(struct platform_device *pdev)
{
struct rb4xx_nand_info *info = platform_get_drvdata(pdev);
nand_release(rbinfo_to_mtd(info));
nand_release(&info->chip));
platform_set_drvdata(pdev, NULL);
kfree(info);
gpio_free(RB4XX_NAND_GPIO_NCE);

View File

@ -393,7 +393,7 @@ static int rb750_nand_probe(struct platform_device *pdev)
return 0;
err_release_nand:
nand_release(mtd);
nand_release(&info->chip);
err_set_drvdata:
platform_set_drvdata(pdev, NULL);
err_free_info:
@ -405,7 +405,7 @@ static int rb750_nand_remove(struct platform_device *pdev)
{
struct rb750_nand_info *info = platform_get_drvdata(pdev);
nand_release(rbinfo_to_mtd(info));
nand_release(&info->chip);
platform_set_drvdata(pdev, NULL);
kfree(info);

View File

@ -434,7 +434,7 @@ static int rb91x_nand_probe(struct platform_device *pdev)
return 0;
err_release_nand:
nand_release(mtd);
nand_release(&rbni->chip);
return ret;
}
@ -442,7 +442,7 @@ static int rb91x_nand_remove(struct platform_device *pdev)
{
struct rb91x_nand_info *info = platform_get_drvdata(pdev);
nand_release(rbinfo_to_mtd(info));
nand_release(&rbni->chip);
return 0;
}

View File

@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+KBUILD_CFLAGS += -Os $(EXTRA_OPTIMIZATION)
else
-KBUILD_CFLAGS += -O2
+KBUILD_CFLAGS += -O2 $(EXTRA_OPTIMIZATION)
+KBUILD_CFLAGS += -O2 -fno-reorder-blocks -fno-tree-ch $(EXTRA_OPTIMIZATION)
endif
# Tell gcc to never replace conditional load with a non-conditional one

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

@ -470,7 +470,7 @@ static int s5p_nand_remove(struct platform_device *pdev)
struct s5p_nand_host *host = platform_get_drvdata(pdev);
struct mtd_info *mtd = nand_to_mtd(&host->nand_chip);
nand_release(mtd);
nand_release(&host->nand_chip);
clk_disable_unprepare(host->clk[0]); /* nandxl */
clk_disable_unprepare(host->clk[1]); /* nand */