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 <koen.vandeputte@ncentric.com>
This commit is contained in:
		| @@ -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))))))) | ||||
|   | ||||
| @@ -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" | ||||
|   | ||||
| @@ -90,7 +90,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org> | ||||
|  				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 <pablo@netfilter.org> | ||||
|  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 <pablo@netfilter.org> | ||||
|  				  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); | ||||
|   | ||||
|   | ||||
| @@ -0,0 +1,96 @@ | ||||
| From a99708737f566c70651015332e89d0d3b1eb5529 Mon Sep 17 00:00:00 2001 | ||||
| From: Koen Vandeputte <koen.vandeputte@ncentric.com> | ||||
| 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 <koen.vandeputte@ncentric.com> | ||||
| Signed-off-by: Richard Weinberger <richard@nod.at> | ||||
| --- | ||||
|  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; | ||||
|   | ||||
| @@ -15,11 +15,9 @@ Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com> | ||||
|  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 | ||||
|  | ||||
|   | ||||
| @@ -11,9 +11,6 @@ Signed-off-by: Bernhard Frauendienst <kernel@nospam.obeliks.de> | ||||
|  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 | ||||
|  | ||||
|   | ||||
| @@ -41,31 +41,24 @@ Signed-off-by: Bernhard Frauendienst <kernel@nospam.obeliks.de> | ||||
|  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 <kernel@nospam.obeliks.de>"); | ||||
| +MODULE_DESCRIPTION("Virtual concat MTD device driver"); | ||||
| --  | ||||
| 2.18.0 | ||||
|  | ||||
|   | ||||
| @@ -18,8 +18,6 @@ Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> | ||||
|  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 | ||||
|  | ||||
|   | ||||
| @@ -57,13 +57,14 @@ Signed-off-by: Ian Pozella <Ian.Pozella@imgtec.com> | ||||
|  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 @@ | ||||
|   | ||||
| @@ -14,8 +14,8 @@ This patch adds the originally intended prerequisite again. | ||||
| Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de> | ||||
| --- | ||||
|  | ||||
| --- 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)); | ||||
|  } | ||||
|   | ||||
| @@ -10,7 +10,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org> | ||||
|  | ||||
| --- 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; | ||||
|  	} | ||||
|   | ||||
|   | ||||
| @@ -14,8 +14,6 @@ Signed-off-by: Michal Simek <michal.simek@xilinx.com> | ||||
|  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 @@ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Koen Vandeputte
					Koen Vandeputte