Skip to content

Commit

Permalink
kernel: bump 4.14 to 4.14.70
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Koen Vandeputte committed Sep 17, 2018
1 parent 784d7f0 commit 0cda4af
Show file tree
Hide file tree
Showing 12 changed files with 116 additions and 57 deletions.
4 changes: 2 additions & 2 deletions include/kernel-version.mk
Expand Up @@ -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)))))))
Expand Down
@@ -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"
Expand Down
Expand Up @@ -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 },
};

Expand All @@ -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);
}

Expand All @@ -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);

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

Expand Up @@ -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);

Expand Down Expand Up @@ -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);
Expand All @@ -77,6 +73,3 @@ index 6cd0f6b7658b..cf7c8030cd8e 100644
extern void put_mtd_device(struct mtd_info *mtd);


--
2.18.0

Expand Up @@ -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 @@
Expand Down Expand Up @@ -53,6 +50,3 @@ index 000000000000..2daf3157b163
+ };
+ }
+}
--
2.18.0

Expand Up @@ -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 @@
Expand All @@ -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 @@
Expand All @@ -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 @@
Expand Down Expand Up @@ -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

Expand Up @@ -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 @@
Expand All @@ -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;
}

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

Expand All @@ -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

Expand Up @@ -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 @@
Expand Down
Expand Up @@ -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));
}
Expand Down
Expand Up @@ -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;
}

Expand Down
Expand Up @@ -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 @@
Expand All @@ -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 @@
Expand Down

0 comments on commit 0cda4af

Please sign in to comment.