From 0cda4af005f22f3e9a18a1760d8482be1a45e02a Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Mon, 17 Sep 2018 11:52:06 +0200 Subject: [PATCH] kernel: bump 4.14 to 4.14.70 Refreshed all patches. Added new patch: - 192-Revert-ubifs-xattr-Don-t-operate-on-deleted-inodes.patch This fixes a bug introduced in upstream 4.14.68 which caused targets using ubifs to produce file-system errors on boot, rendering them useless. Compile-tested on: cns3xxx, imx6, x86_64 Runtime-tested on: cns3xxx, imx6, x86_64 Signed-off-by: Koen Vandeputte --- include/kernel-version.mk | 4 +- .../404-mtd-cybertan-trx-parser.patch | 8 +- ...conntrack-add-IPS_OFFLOAD-status-bit.patch | 6 +- ...attr-Don-t-operate-on-deleted-inodes.patch | 96 +++++++++++++++++++ ...-mtd-core-add-get_mtd_device_by_node.patch | 11 +-- ...-add-bindings-for-mtd-concat-devices.patch | 6 -- ...cat-add-dt-driver-for-concat-devices.patch | 20 +--- ...armada38x-reset-after-rtc-power-loss.patch | 9 +- ...413-mtd-Introduce-SPI-NAND-framework.patch | 3 +- ...reservation-in-bootmem_init-for-cert.patch | 4 +- ...erial-add-ugly-custom-baud-rate-hack.patch | 2 +- ...nufacturer-for-ZedBoard-and-MicroZed.patch | 4 - 12 files changed, 116 insertions(+), 57 deletions(-) create mode 100644 target/linux/generic/pending-4.14/192-Revert-ubifs-xattr-Don-t-operate-on-deleted-inodes.patch diff --git a/include/kernel-version.mk b/include/kernel-version.mk index 69528c684e..6d270c5aa6 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -2,13 +2,13 @@ LINUX_RELEASE?=1 -LINUX_VERSION-4.14 = .68 LINUX_VERSION-3.18 = .122 LINUX_VERSION-4.9 = .127 +LINUX_VERSION-4.14 = .70 -LINUX_KERNEL_HASH-4.14.68 = 791dbf1597033bf2b61e83307d78188ffc1ad4bdd1da3234876667edfdd28690 LINUX_KERNEL_HASH-3.18.122 = 675b1ce36af23caa500cb1d4f0ec2976791fb0a97ebb6486a5e2ebcb5527ade5 LINUX_KERNEL_HASH-4.9.127 = 9477aeaded97589a40d7cbbfeebfa7a8f863130c0729a8dc5cdbcf48eb6fdd0f +LINUX_KERNEL_HASH-4.14.70 = c5dfd832477f8856b5b094ab62cc8c8491d04b76b2ec5ebb0126e554891ee32c remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/target/linux/ath79/patches-4.14/404-mtd-cybertan-trx-parser.patch b/target/linux/ath79/patches-4.14/404-mtd-cybertan-trx-parser.patch index 2d2a042b04..3cc0b0dd49 100644 --- a/target/linux/ath79/patches-4.14/404-mtd-cybertan-trx-parser.patch +++ b/target/linux/ath79/patches-4.14/404-mtd-cybertan-trx-parser.patch @@ -1,10 +1,10 @@ ---- a/drivers/mtd/parsers/Makefile 2018-08-12 02:32:47.951243067 +0200 -+++ b/drivers/mtd/parsers/Makefile 2018-08-12 02:33:09.844626814 +0200 +--- a/drivers/mtd/parsers/Makefile ++++ b/drivers/mtd/parsers/Makefile @@ -1 +1,2 @@ +obj-$(CONFIG_MTD_PARSER_CYBERTAN) += parser_cybertan.o obj-$(CONFIG_MTD_PARSER_TRX) += parser_trx.o ---- a/drivers/mtd/parsers/Kconfig 2018-08-12 02:28:43.987357803 +0200 -+++ b/drivers/mtd/parsers/Kconfig 2018-08-12 02:32:23.237852972 +0200 +--- a/drivers/mtd/parsers/Kconfig ++++ b/drivers/mtd/parsers/Kconfig @@ -1,3 +1,11 @@ +config MTD_PARSER_CYBERTAN + tristate "Parser for Cybertan format partitions" diff --git a/target/linux/generic/backport-4.14/320-v4.16-netfilter-nf_conntrack-add-IPS_OFFLOAD-status-bit.patch b/target/linux/generic/backport-4.14/320-v4.16-netfilter-nf_conntrack-add-IPS_OFFLOAD-status-bit.patch index 9d6ce98080..5aae823ed7 100644 --- a/target/linux/generic/backport-4.14/320-v4.16-netfilter-nf_conntrack-add-IPS_OFFLOAD-status-bit.patch +++ b/target/linux/generic/backport-4.14/320-v4.16-netfilter-nf_conntrack-add-IPS_OFFLOAD-status-bit.patch @@ -90,7 +90,7 @@ Signed-off-by: Pablo Neira Ayuso expired_count++; --- a/net/netfilter/nf_conntrack_netlink.c +++ b/net/netfilter/nf_conntrack_netlink.c -@@ -1105,6 +1105,14 @@ static const struct nla_policy ct_nla_po +@@ -1120,6 +1120,14 @@ static const struct nla_policy ct_nla_po .len = NF_CT_LABELS_MAX_SIZE }, }; @@ -105,7 +105,7 @@ Signed-off-by: Pablo Neira Ayuso static int ctnetlink_flush_conntrack(struct net *net, const struct nlattr * const cda[], u32 portid, int report) -@@ -1117,7 +1125,7 @@ static int ctnetlink_flush_conntrack(str +@@ -1132,7 +1140,7 @@ static int ctnetlink_flush_conntrack(str return PTR_ERR(filter); } @@ -114,7 +114,7 @@ Signed-off-by: Pablo Neira Ayuso portid, report); kfree(filter); -@@ -1163,6 +1171,11 @@ static int ctnetlink_del_conntrack(struc +@@ -1178,6 +1186,11 @@ static int ctnetlink_del_conntrack(struc ct = nf_ct_tuplehash_to_ctrack(h); diff --git a/target/linux/generic/pending-4.14/192-Revert-ubifs-xattr-Don-t-operate-on-deleted-inodes.patch b/target/linux/generic/pending-4.14/192-Revert-ubifs-xattr-Don-t-operate-on-deleted-inodes.patch new file mode 100644 index 0000000000..cd9a758e37 --- /dev/null +++ b/target/linux/generic/pending-4.14/192-Revert-ubifs-xattr-Don-t-operate-on-deleted-inodes.patch @@ -0,0 +1,96 @@ +From a99708737f566c70651015332e89d0d3b1eb5529 Mon Sep 17 00:00:00 2001 +From: Koen Vandeputte +Date: Mon, 17 Sep 2018 10:13:09 +0200 +Subject: [PATCH] Revert "ubifs: xattr: Don't operate on deleted inodes" + +This reverts commit 8a23348d76a1e7716da6e76383281ac82fc071cf. + +UBIFS wants to assert that xattr operations are only issued on files +with positive link count. The said patch made this operations return +-ENOENT for unlinked files such that the asserts will no longer trigger. +This was wrong since xattr operations are perfectly fine on unlinked +files. +Instead the assertions need to be fixed/removed. + +Fixes: 11a6fc3dc743 ("ubifs: xattr: Don't operate on deleted inodes") +Reported-by: Koen Vandeputte +Signed-off-by: Richard Weinberger +--- + fs/ubifs/xattr.c | 24 ------------------------ + 1 file changed, 24 deletions(-) + +--- a/fs/ubifs/xattr.c ++++ b/fs/ubifs/xattr.c +@@ -152,12 +152,6 @@ static int create_xattr(struct ubifs_inf + ui->data_len = size; + + mutex_lock(&host_ui->ui_mutex); +- +- if (!host->i_nlink) { +- err = -ENOENT; +- goto out_noent; +- } +- + host->i_ctime = current_time(host); + host_ui->xattr_cnt += 1; + host_ui->xattr_size += CALC_DENT_SIZE(fname_len(nm)); +@@ -189,7 +183,6 @@ out_cancel: + host_ui->xattr_size -= CALC_XATTR_BYTES(size); + host_ui->xattr_names -= fname_len(nm); + host_ui->flags &= ~UBIFS_CRYPT_FL; +-out_noent: + mutex_unlock(&host_ui->ui_mutex); + out_free: + make_bad_inode(inode); +@@ -241,12 +234,6 @@ static int change_xattr(struct ubifs_inf + mutex_unlock(&ui->ui_mutex); + + mutex_lock(&host_ui->ui_mutex); +- +- if (!host->i_nlink) { +- err = -ENOENT; +- goto out_noent; +- } +- + host->i_ctime = current_time(host); + host_ui->xattr_size -= CALC_XATTR_BYTES(old_size); + host_ui->xattr_size += CALC_XATTR_BYTES(size); +@@ -268,7 +255,6 @@ static int change_xattr(struct ubifs_inf + out_cancel: + host_ui->xattr_size -= CALC_XATTR_BYTES(size); + host_ui->xattr_size += CALC_XATTR_BYTES(old_size); +-out_noent: + mutex_unlock(&host_ui->ui_mutex); + make_bad_inode(inode); + out_free: +@@ -497,12 +483,6 @@ static int remove_xattr(struct ubifs_inf + return err; + + mutex_lock(&host_ui->ui_mutex); +- +- if (!host->i_nlink) { +- err = -ENOENT; +- goto out_noent; +- } +- + host->i_ctime = current_time(host); + host_ui->xattr_cnt -= 1; + host_ui->xattr_size -= CALC_DENT_SIZE(fname_len(nm)); +@@ -522,7 +502,6 @@ out_cancel: + host_ui->xattr_size += CALC_DENT_SIZE(fname_len(nm)); + host_ui->xattr_size += CALC_XATTR_BYTES(ui->data_len); + host_ui->xattr_names += fname_len(nm); +-out_noent: + mutex_unlock(&host_ui->ui_mutex); + ubifs_release_budget(c, &req); + make_bad_inode(inode); +@@ -562,9 +541,6 @@ static int ubifs_xattr_remove(struct ino + + ubifs_assert(inode_is_locked(host)); + +- if (!host->i_nlink) +- return -ENOENT; +- + if (fname_len(&nm) > UBIFS_MAX_NLEN) + return -ENAMETOOLONG; + diff --git a/target/linux/generic/pending-4.14/495-mtd-core-add-get_mtd_device_by_node.patch b/target/linux/generic/pending-4.14/495-mtd-core-add-get_mtd_device_by_node.patch index 32a87d34d5..b9c6bd0125 100644 --- a/target/linux/generic/pending-4.14/495-mtd-core-add-get_mtd_device_by_node.patch +++ b/target/linux/generic/pending-4.14/495-mtd-core-add-get_mtd_device_by_node.patch @@ -15,11 +15,9 @@ Reviewed-by: Miquel Raynal include/linux/mtd/mtd.h | 2 ++ 2 files changed, 40 insertions(+) -diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c -index e7ea842ba3db..1134bb81d2e5 100644 --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c -@@ -936,6 +936,44 @@ struct mtd_info *get_mtd_device_nm(const char *name) +@@ -922,6 +922,44 @@ out_unlock: } EXPORT_SYMBOL_GPL(get_mtd_device_nm); @@ -64,11 +62,9 @@ index e7ea842ba3db..1134bb81d2e5 100644 void put_mtd_device(struct mtd_info *mtd) { mutex_lock(&mtd_table_mutex); -diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h -index 6cd0f6b7658b..cf7c8030cd8e 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h -@@ -557,6 +557,8 @@ extern struct mtd_info *get_mtd_device(struct mtd_info *mtd, int num); +@@ -579,6 +579,8 @@ extern struct mtd_info *get_mtd_device(s extern int __get_mtd_device(struct mtd_info *mtd); extern void __put_mtd_device(struct mtd_info *mtd); extern struct mtd_info *get_mtd_device_nm(const char *name); @@ -77,6 +73,3 @@ index 6cd0f6b7658b..cf7c8030cd8e 100644 extern void put_mtd_device(struct mtd_info *mtd); --- -2.18.0 - diff --git a/target/linux/generic/pending-4.14/496-dt-bindings-add-bindings-for-mtd-concat-devices.patch b/target/linux/generic/pending-4.14/496-dt-bindings-add-bindings-for-mtd-concat-devices.patch index 99fdb0dc0f..01f3b9ec2d 100644 --- a/target/linux/generic/pending-4.14/496-dt-bindings-add-bindings-for-mtd-concat-devices.patch +++ b/target/linux/generic/pending-4.14/496-dt-bindings-add-bindings-for-mtd-concat-devices.patch @@ -11,9 +11,6 @@ Signed-off-by: Bernhard Frauendienst 1 file changed, 36 insertions(+) create mode 100644 Documentation/devicetree/bindings/mtd/mtd-concat.txt -diff --git a/Documentation/devicetree/bindings/mtd/mtd-concat.txt b/Documentation/devicetree/bindings/mtd/mtd-concat.txt -new file mode 100644 -index 000000000000..2daf3157b163 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/mtd-concat.txt @@ -0,0 +1,36 @@ @@ -53,6 +50,3 @@ index 000000000000..2daf3157b163 + }; + } +} --- -2.18.0 - diff --git a/target/linux/generic/pending-4.14/497-mtd-mtdconcat-add-dt-driver-for-concat-devices.patch b/target/linux/generic/pending-4.14/497-mtd-mtdconcat-add-dt-driver-for-concat-devices.patch index 0c5ac5b8f8..94acc883f3 100644 --- a/target/linux/generic/pending-4.14/497-mtd-mtdconcat-add-dt-driver-for-concat-devices.patch +++ b/target/linux/generic/pending-4.14/497-mtd-mtdconcat-add-dt-driver-for-concat-devices.patch @@ -41,31 +41,24 @@ Signed-off-by: Bernhard Frauendienst create mode 100644 drivers/mtd/composite/Makefile create mode 100644 drivers/mtd/composite/virt_concat.c -diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig -index 5a2d71729b9a..de18bc568e3e 100644 --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig -@@ -342,4 +342,6 @@ source "drivers/mtd/spi-nor/Kconfig" +@@ -377,4 +377,6 @@ source "drivers/mtd/spi-nor/Kconfig" source "drivers/mtd/ubi/Kconfig" +source "drivers/mtd/composite/Kconfig" + endif # MTD -diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile -index d6f8f625e1ff..a6c5f134c35d 100644 --- a/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile -@@ -36,3 +36,6 @@ obj-y += chips/ lpddr/ maps/ devices/ nand/ onenand/ tests/ +@@ -39,3 +39,6 @@ obj-y += chips/ lpddr/ maps/ devices/ n obj-$(CONFIG_MTD_SPI_NOR) += spi-nor/ obj-$(CONFIG_MTD_UBI) += ubi/ + +# Composite drivers must be loaded last +obj-y += composite/ -diff --git a/drivers/mtd/composite/Kconfig b/drivers/mtd/composite/Kconfig -new file mode 100644 -index 000000000000..0490fc0284bb --- /dev/null +++ b/drivers/mtd/composite/Kconfig @@ -0,0 +1,12 @@ @@ -81,9 +74,6 @@ index 000000000000..0490fc0284bb + used as one device with partitions spanning across device boundaries. + +endmenu -diff --git a/drivers/mtd/composite/Makefile b/drivers/mtd/composite/Makefile -new file mode 100644 -index 000000000000..8421a0a30606 --- /dev/null +++ b/drivers/mtd/composite/Makefile @@ -0,0 +1,6 @@ @@ -93,9 +83,6 @@ index 000000000000..8421a0a30606 +# + +obj-$(CONFIG_MTD_VIRT_CONCAT) += virt_concat.o -diff --git a/drivers/mtd/composite/virt_concat.c b/drivers/mtd/composite/virt_concat.c -new file mode 100644 -index 000000000000..bfd432188c35 --- /dev/null +++ b/drivers/mtd/composite/virt_concat.c @@ -0,0 +1,128 @@ @@ -227,6 +214,3 @@ index 000000000000..bfd432188c35 +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Bernhard Frauendienst "); +MODULE_DESCRIPTION("Virtual concat MTD device driver"); --- -2.18.0 - diff --git a/target/linux/mvebu/patches-4.14/421-rtc-armada38x-reset-after-rtc-power-loss.patch b/target/linux/mvebu/patches-4.14/421-rtc-armada38x-reset-after-rtc-power-loss.patch index e9291c456f..885e3d7c5e 100644 --- a/target/linux/mvebu/patches-4.14/421-rtc-armada38x-reset-after-rtc-power-loss.patch +++ b/target/linux/mvebu/patches-4.14/421-rtc-armada38x-reset-after-rtc-power-loss.patch @@ -18,8 +18,6 @@ Signed-off-by: Alexandre Belloni drivers/rtc/rtc-armada38x.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) -diff --git a/drivers/rtc/rtc-armada38x.c b/drivers/rtc/rtc-armada38x.c -index 1e4978c..bde53c8c 100644 --- a/drivers/rtc/rtc-armada38x.c +++ b/drivers/rtc/rtc-armada38x.c @@ -30,6 +30,8 @@ @@ -39,7 +37,7 @@ index 1e4978c..bde53c8c 100644 struct value_to_freq *val_to_freq; struct armada38x_rtc_data *data; }; -@@ -226,6 +229,23 @@ static int armada38x_rtc_read_time(struct device *dev, struct rtc_time *tm) +@@ -226,6 +229,23 @@ static int armada38x_rtc_read_time(struc return 0; } @@ -63,7 +61,7 @@ index 1e4978c..bde53c8c 100644 static int armada38x_rtc_set_time(struct device *dev, struct rtc_time *tm) { struct armada38x_rtc *rtc = dev_get_drvdata(dev); -@@ -237,6 +257,9 @@ static int armada38x_rtc_set_time(struct device *dev, struct rtc_time *tm) +@@ -237,6 +257,9 @@ static int armada38x_rtc_set_time(struct if (ret) goto out; @@ -73,6 +71,3 @@ index 1e4978c..bde53c8c 100644 spin_lock_irqsave(&rtc->lock, flags); rtc_delayed_write(time, rtc, RTC_TIME); spin_unlock_irqrestore(&rtc->lock, flags); --- -2.7.4 - diff --git a/target/linux/pistachio/patches-4.14/413-mtd-Introduce-SPI-NAND-framework.patch b/target/linux/pistachio/patches-4.14/413-mtd-Introduce-SPI-NAND-framework.patch index fe93b2114a..d1189eeb8c 100644 --- a/target/linux/pistachio/patches-4.14/413-mtd-Introduce-SPI-NAND-framework.patch +++ b/target/linux/pistachio/patches-4.14/413-mtd-Introduce-SPI-NAND-framework.patch @@ -57,13 +57,14 @@ Signed-off-by: Ian Pozella source "drivers/mtd/ubi/Kconfig" --- a/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile -@@ -37,5 +37,6 @@ inftl-objs := inftlcore.o inftlmount.o +@@ -37,6 +37,7 @@ inftl-objs := inftlcore.o inftlmount.o obj-y += chips/ lpddr/ maps/ devices/ nand/ onenand/ tests/ +obj-$(CONFIG_MTD_SPI_NAND) += spi-nand/ obj-$(CONFIG_MTD_SPI_NOR) += spi-nor/ obj-$(CONFIG_MTD_UBI) += ubi/ + --- /dev/null +++ b/drivers/mtd/spi-nand/Kconfig @@ -0,0 +1,7 @@ diff --git a/target/linux/ramips/patches-4.14/0003-MIPS-Fix-memory-reservation-in-bootmem_init-for-cert.patch b/target/linux/ramips/patches-4.14/0003-MIPS-Fix-memory-reservation-in-bootmem_init-for-cert.patch index d47f27e194..77f2622b9d 100644 --- a/target/linux/ramips/patches-4.14/0003-MIPS-Fix-memory-reservation-in-bootmem_init-for-cert.patch +++ b/target/linux/ramips/patches-4.14/0003-MIPS-Fix-memory-reservation-in-bootmem_init-for-cert.patch @@ -14,8 +14,8 @@ This patch adds the originally intended prerequisite again. Signed-off-by: Tobias Wolf --- ---- a/arch/mips/kernel/setup.c 2018-08-18 19:07:07.142066706 +0200 -+++ b/arch/mips/kernel/setup.c 2018-08-18 19:10:17.827918423 +0200 +--- a/arch/mips/kernel/setup.c ++++ b/arch/mips/kernel/setup.c @@ -369,6 +369,8 @@ static unsigned long __init bootmap_byte return ALIGN(bytes, sizeof(long)); } diff --git a/target/linux/ramips/patches-4.14/0051-serial-add-ugly-custom-baud-rate-hack.patch b/target/linux/ramips/patches-4.14/0051-serial-add-ugly-custom-baud-rate-hack.patch index b71d8f38e0..634033d18d 100644 --- a/target/linux/ramips/patches-4.14/0051-serial-add-ugly-custom-baud-rate-hack.patch +++ b/target/linux/ramips/patches-4.14/0051-serial-add-ugly-custom-baud-rate-hack.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c -@@ -411,6 +411,9 @@ uart_get_baud_rate(struct uart_port *por +@@ -418,6 +418,9 @@ uart_get_baud_rate(struct uart_port *por break; } diff --git a/target/linux/zynq/patches-4.14/022-v4.19-dts-set-correct-manufacturer-for-ZedBoard-and-MicroZed.patch b/target/linux/zynq/patches-4.14/022-v4.19-dts-set-correct-manufacturer-for-ZedBoard-and-MicroZed.patch index 1f01a0bec6..3091846a63 100644 --- a/target/linux/zynq/patches-4.14/022-v4.19-dts-set-correct-manufacturer-for-ZedBoard-and-MicroZed.patch +++ b/target/linux/zynq/patches-4.14/022-v4.19-dts-set-correct-manufacturer-for-ZedBoard-and-MicroZed.patch @@ -14,8 +14,6 @@ Signed-off-by: Michal Simek arch/arm/boot/dts/zynq-zed.dts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -diff --git a/arch/arm/boot/dts/zynq-microzed.dts b/arch/arm/boot/dts/zynq-microzed.dts -index aa4a0b6defb84..574ef22761827 100644 --- a/arch/arm/boot/dts/zynq-microzed.dts +++ b/arch/arm/boot/dts/zynq-microzed.dts @@ -16,7 +16,7 @@ @@ -27,8 +25,6 @@ index aa4a0b6defb84..574ef22761827 100644 aliases { ethernet0 = &gem0; -diff --git a/arch/arm/boot/dts/zynq-zed.dts b/arch/arm/boot/dts/zynq-zed.dts -index 252153913a157..cd93009067266 100644 --- a/arch/arm/boot/dts/zynq-zed.dts +++ b/arch/arm/boot/dts/zynq-zed.dts @@ -16,7 +16,7 @@ -- 2.30.2