kernel: bump 4.14 to 4.14.70 for 18.06
authorStijn Segers <foss@volatilesystems.org>
Sun, 16 Sep 2018 15:28:54 +0000 (17:28 +0200)
committerKoen Vandeputte <koen.vandeputte@ncentric.com>
Mon, 17 Sep 2018 13:47:44 +0000 (15:47 +0200)
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 <foss@volatilesystems.org>
[added ubifs fix + tested on imx6]
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
include/kernel-version.mk
target/linux/generic/backport-4.14/320-v4.16-netfilter-nf_conntrack-add-IPS_OFFLOAD-status-bit.patch
target/linux/generic/pending-4.14/192-Revert-ubifs-xattr-Don-t-operate-on-deleted-inodes.patch [new file with mode: 0644]
target/linux/ramips/patches-4.14/0051-serial-add-ugly-custom-baud-rate-hack.patch

index 50aed02c4a5c1f6e56af6471809127bb7356d22d..4c35b124a46c8d3b72c935cb80e0b19597f94779 100644 (file)
@@ -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)))))))
index 9d6ce980800e5c422afa68e5f5839f9cb1c247ae..5aae823ed7fe03bb2aadede782f01f4e3df1a4eb 100644 (file)
@@ -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);
  
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 (file)
index 0000000..cd9a758
--- /dev/null
@@ -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;
index b71d8f38e01b12b526b0e90e2ae29812d7f49e35..634033d18d3fe5862d94037dca524a5d75e68b06 100644 (file)
@@ -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;
        }