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:
Koen Vandeputte 2018-09-17 11:52:06 +02:00
parent 784d7f0251
commit 0cda4af005
12 changed files with 116 additions and 57 deletions

View file

@ -2,13 +2,13 @@
LINUX_RELEASE?=1 LINUX_RELEASE?=1
LINUX_VERSION-4.14 = .68
LINUX_VERSION-3.18 = .122 LINUX_VERSION-3.18 = .122
LINUX_VERSION-4.9 = .127 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-3.18.122 = 675b1ce36af23caa500cb1d4f0ec2976791fb0a97ebb6486a5e2ebcb5527ade5
LINUX_KERNEL_HASH-4.9.127 = 9477aeaded97589a40d7cbbfeebfa7a8f863130c0729a8dc5cdbcf48eb6fdd0f LINUX_KERNEL_HASH-4.9.127 = 9477aeaded97589a40d7cbbfeebfa7a8f863130c0729a8dc5cdbcf48eb6fdd0f
LINUX_KERNEL_HASH-4.14.70 = c5dfd832477f8856b5b094ab62cc8c8491d04b76b2ec5ebb0126e554891ee32c
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))

View file

@ -1,10 +1,10 @@
--- a/drivers/mtd/parsers/Makefile 2018-08-12 02:32:47.951243067 +0200 --- a/drivers/mtd/parsers/Makefile
+++ b/drivers/mtd/parsers/Makefile 2018-08-12 02:33:09.844626814 +0200 +++ b/drivers/mtd/parsers/Makefile
@@ -1 +1,2 @@ @@ -1 +1,2 @@
+obj-$(CONFIG_MTD_PARSER_CYBERTAN) += parser_cybertan.o +obj-$(CONFIG_MTD_PARSER_CYBERTAN) += parser_cybertan.o
obj-$(CONFIG_MTD_PARSER_TRX) += parser_trx.o obj-$(CONFIG_MTD_PARSER_TRX) += parser_trx.o
--- a/drivers/mtd/parsers/Kconfig 2018-08-12 02:28:43.987357803 +0200 --- a/drivers/mtd/parsers/Kconfig
+++ b/drivers/mtd/parsers/Kconfig 2018-08-12 02:32:23.237852972 +0200 +++ b/drivers/mtd/parsers/Kconfig
@@ -1,3 +1,11 @@ @@ -1,3 +1,11 @@
+config MTD_PARSER_CYBERTAN +config MTD_PARSER_CYBERTAN
+ tristate "Parser for Cybertan format partitions" + tristate "Parser for Cybertan format partitions"

View file

@ -90,7 +90,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
expired_count++; expired_count++;
--- a/net/netfilter/nf_conntrack_netlink.c --- a/net/netfilter/nf_conntrack_netlink.c
+++ b/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 }, .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, static int ctnetlink_flush_conntrack(struct net *net,
const struct nlattr * const cda[], const struct nlattr * const cda[],
u32 portid, int report) 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); return PTR_ERR(filter);
} }
@ -114,7 +114,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
portid, report); portid, report);
kfree(filter); 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); ct = nf_ct_tuplehash_to_ctrack(h);

View file

@ -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;

View file

@ -15,11 +15,9 @@ Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
include/linux/mtd/mtd.h | 2 ++ include/linux/mtd/mtd.h | 2 ++
2 files changed, 40 insertions(+) 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 --- a/drivers/mtd/mtdcore.c
+++ b/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); EXPORT_SYMBOL_GPL(get_mtd_device_nm);
@ -64,11 +62,9 @@ index e7ea842ba3db..1134bb81d2e5 100644
void put_mtd_device(struct mtd_info *mtd) void put_mtd_device(struct mtd_info *mtd)
{ {
mutex_lock(&mtd_table_mutex); 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 --- a/include/linux/mtd/mtd.h
+++ b/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 int __get_mtd_device(struct mtd_info *mtd);
extern void __put_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); 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); extern void put_mtd_device(struct mtd_info *mtd);
--
2.18.0

View file

@ -11,9 +11,6 @@ Signed-off-by: Bernhard Frauendienst <kernel@nospam.obeliks.de>
1 file changed, 36 insertions(+) 1 file changed, 36 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mtd/mtd-concat.txt 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 --- /dev/null
+++ b/Documentation/devicetree/bindings/mtd/mtd-concat.txt +++ b/Documentation/devicetree/bindings/mtd/mtd-concat.txt
@@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
@ -53,6 +50,3 @@ index 000000000000..2daf3157b163
+ }; + };
+ } + }
+} +}
--
2.18.0

View file

@ -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/Makefile
create mode 100644 drivers/mtd/composite/virt_concat.c 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 --- a/drivers/mtd/Kconfig
+++ b/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/ubi/Kconfig"
+source "drivers/mtd/composite/Kconfig" +source "drivers/mtd/composite/Kconfig"
+ +
endif # MTD endif # MTD
diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
index d6f8f625e1ff..a6c5f134c35d 100644
--- a/drivers/mtd/Makefile --- a/drivers/mtd/Makefile
+++ b/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_SPI_NOR) += spi-nor/
obj-$(CONFIG_MTD_UBI) += ubi/ obj-$(CONFIG_MTD_UBI) += ubi/
+ +
+# Composite drivers must be loaded last +# Composite drivers must be loaded last
+obj-y += composite/ +obj-y += composite/
diff --git a/drivers/mtd/composite/Kconfig b/drivers/mtd/composite/Kconfig
new file mode 100644
index 000000000000..0490fc0284bb
--- /dev/null --- /dev/null
+++ b/drivers/mtd/composite/Kconfig +++ b/drivers/mtd/composite/Kconfig
@@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
@ -81,9 +74,6 @@ index 000000000000..0490fc0284bb
+ used as one device with partitions spanning across device boundaries. + used as one device with partitions spanning across device boundaries.
+ +
+endmenu +endmenu
diff --git a/drivers/mtd/composite/Makefile b/drivers/mtd/composite/Makefile
new file mode 100644
index 000000000000..8421a0a30606
--- /dev/null --- /dev/null
+++ b/drivers/mtd/composite/Makefile +++ b/drivers/mtd/composite/Makefile
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
@ -93,9 +83,6 @@ index 000000000000..8421a0a30606
+# +#
+ +
+obj-$(CONFIG_MTD_VIRT_CONCAT) += virt_concat.o +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 --- /dev/null
+++ b/drivers/mtd/composite/virt_concat.c +++ b/drivers/mtd/composite/virt_concat.c
@@ -0,0 +1,128 @@ @@ -0,0 +1,128 @@
@ -227,6 +214,3 @@ index 000000000000..bfd432188c35
+MODULE_LICENSE("GPL v2"); +MODULE_LICENSE("GPL v2");
+MODULE_AUTHOR("Bernhard Frauendienst <kernel@nospam.obeliks.de>"); +MODULE_AUTHOR("Bernhard Frauendienst <kernel@nospam.obeliks.de>");
+MODULE_DESCRIPTION("Virtual concat MTD device driver"); +MODULE_DESCRIPTION("Virtual concat MTD device driver");
--
2.18.0

View file

@ -18,8 +18,6 @@ Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-armada38x.c | 23 +++++++++++++++++++++++ drivers/rtc/rtc-armada38x.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+) 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 --- a/drivers/rtc/rtc-armada38x.c
+++ b/drivers/rtc/rtc-armada38x.c +++ b/drivers/rtc/rtc-armada38x.c
@@ -30,6 +30,8 @@ @@ -30,6 +30,8 @@
@ -39,7 +37,7 @@ index 1e4978c..bde53c8c 100644
struct value_to_freq *val_to_freq; struct value_to_freq *val_to_freq;
struct armada38x_rtc_data *data; 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; return 0;
} }
@ -63,7 +61,7 @@ index 1e4978c..bde53c8c 100644
static int armada38x_rtc_set_time(struct device *dev, struct rtc_time *tm) static int armada38x_rtc_set_time(struct device *dev, struct rtc_time *tm)
{ {
struct armada38x_rtc *rtc = dev_get_drvdata(dev); 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) if (ret)
goto out; goto out;
@ -73,6 +71,3 @@ index 1e4978c..bde53c8c 100644
spin_lock_irqsave(&rtc->lock, flags); spin_lock_irqsave(&rtc->lock, flags);
rtc_delayed_write(time, rtc, RTC_TIME); rtc_delayed_write(time, rtc, RTC_TIME);
spin_unlock_irqrestore(&rtc->lock, flags); spin_unlock_irqrestore(&rtc->lock, flags);
--
2.7.4

View file

@ -57,13 +57,14 @@ Signed-off-by: Ian Pozella <Ian.Pozella@imgtec.com>
source "drivers/mtd/ubi/Kconfig" source "drivers/mtd/ubi/Kconfig"
--- a/drivers/mtd/Makefile --- a/drivers/mtd/Makefile
+++ b/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-y += chips/ lpddr/ maps/ devices/ nand/ onenand/ tests/
+obj-$(CONFIG_MTD_SPI_NAND) += spi-nand/ +obj-$(CONFIG_MTD_SPI_NAND) += spi-nand/
obj-$(CONFIG_MTD_SPI_NOR) += spi-nor/ obj-$(CONFIG_MTD_SPI_NOR) += spi-nor/
obj-$(CONFIG_MTD_UBI) += ubi/ obj-$(CONFIG_MTD_UBI) += ubi/
--- /dev/null --- /dev/null
+++ b/drivers/mtd/spi-nand/Kconfig +++ b/drivers/mtd/spi-nand/Kconfig
@@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@

View file

@ -14,8 +14,8 @@ This patch adds the originally intended prerequisite again.
Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de> Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
--- ---
--- a/arch/mips/kernel/setup.c 2018-08-18 19:07:07.142066706 +0200 --- a/arch/mips/kernel/setup.c
+++ b/arch/mips/kernel/setup.c 2018-08-18 19:10:17.827918423 +0200 +++ b/arch/mips/kernel/setup.c
@@ -369,6 +369,8 @@ static unsigned long __init bootmap_byte @@ -369,6 +369,8 @@ static unsigned long __init bootmap_byte
return ALIGN(bytes, sizeof(long)); return ALIGN(bytes, sizeof(long));
} }

View file

@ -10,7 +10,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
--- a/drivers/tty/serial/serial_core.c --- a/drivers/tty/serial/serial_core.c
+++ b/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; break;
} }

View file

@ -14,8 +14,6 @@ Signed-off-by: Michal Simek <michal.simek@xilinx.com>
arch/arm/boot/dts/zynq-zed.dts | 2 +- arch/arm/boot/dts/zynq-zed.dts | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-) 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 --- a/arch/arm/boot/dts/zynq-microzed.dts
+++ b/arch/arm/boot/dts/zynq-microzed.dts +++ b/arch/arm/boot/dts/zynq-microzed.dts
@@ -16,7 +16,7 @@ @@ -16,7 +16,7 @@
@ -27,8 +25,6 @@ index aa4a0b6defb84..574ef22761827 100644
aliases { aliases {
ethernet0 = &gem0; 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 --- a/arch/arm/boot/dts/zynq-zed.dts
+++ b/arch/arm/boot/dts/zynq-zed.dts +++ b/arch/arm/boot/dts/zynq-zed.dts
@@ -16,7 +16,7 @@ @@ -16,7 +16,7 @@