From de76cefd865c2f39bb611f6403bb8e86a23aae18 Mon Sep 17 00:00:00 2001 From: Stijn Segers Date: Sun, 16 Sep 2018 17:28:54 +0200 Subject: [PATCH] kernel: bump 4.14 to 4.14.70 for 18.06 Refreshes patches and bumps 4.14 kernel to 4.14.70 for OpenWrt 18.06. Compile-tested on ramips/mt7621, x86/64, imx6. Run-tested on ramips/mt7621, x86/64, imx6. Signed-off-by: Stijn Segers [added ubifs fix + tested on imx6] Signed-off-by: Koen Vandeputte --- include/kernel-version.mk | 4 +- ...conntrack-add-IPS_OFFLOAD-status-bit.patch | 6 +- ...attr-Don-t-operate-on-deleted-inodes.patch | 96 +++++++++++++++++++ ...erial-add-ugly-custom-baud-rate-hack.patch | 2 +- 4 files changed, 102 insertions(+), 6 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 50aed02c4a..4c35b124a4 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -3,10 +3,10 @@ LINUX_RELEASE?=1 LINUX_VERSION-4.9 = .127 -LINUX_VERSION-4.14 = .68 +LINUX_VERSION-4.14 = .70 LINUX_KERNEL_HASH-4.9.127 = 9477aeaded97589a40d7cbbfeebfa7a8f863130c0729a8dc5cdbcf48eb6fdd0f -LINUX_KERNEL_HASH-4.14.68 = 791dbf1597033bf2b61e83307d78188ffc1ad4bdd1da3234876667edfdd28690 +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/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/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; } -- 2.30.2