aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/hack-5.10
diff options
context:
space:
mode:
authorJohn Audia <therealgraysky@proton.me>2022-12-06 13:22:57 -0500
committerHauke Mehrtens <hauke@hauke-m.de>2022-12-11 02:43:28 +0100
commit7b7d8fe60de3fd5d45b7c817aef001cd85ee1533 (patch)
tree8019844a72faae8b20e6019c6e21f3127e3a8482 /target/linux/generic/hack-5.10
parentf83a8329a33ee19060c9e28771434309ef55915d (diff)
downloadupstream-7b7d8fe60de3fd5d45b7c817aef001cd85ee1533.tar.gz
upstream-7b7d8fe60de3fd5d45b7c817aef001cd85ee1533.tar.bz2
upstream-7b7d8fe60de3fd5d45b7c817aef001cd85ee1533.zip
kernel: bump 5.10 to 5.10.157
Manually rebased: backport-5.10/610-v5.13-32-net-ethernet-mtk_eth_soc-add-support-for-initializin.patch hack-5.10/645-netfilter-connmark-introduce-set-dscpmark.patch Removed upstreamed: pending-5.10/706-netfilter-nf_flow_table-add-missing-locking.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.157&id=b8e494240e69f91517256adcd6fda62d0671772d Signed-off-by: John Audia <therealgraysky@proton.me>
Diffstat (limited to 'target/linux/generic/hack-5.10')
-rw-r--r--target/linux/generic/hack-5.10/645-netfilter-connmark-introduce-set-dscpmark.patch18
-rw-r--r--target/linux/generic/hack-5.10/901-debloat_sock_diag.patch2
-rw-r--r--target/linux/generic/hack-5.10/902-debloat_proc.patch4
3 files changed, 13 insertions, 11 deletions
diff --git a/target/linux/generic/hack-5.10/645-netfilter-connmark-introduce-set-dscpmark.patch b/target/linux/generic/hack-5.10/645-netfilter-connmark-introduce-set-dscpmark.patch
index 2d3fe01a75..c368c4ae3b 100644
--- a/target/linux/generic/hack-5.10/645-netfilter-connmark-introduce-set-dscpmark.patch
+++ b/target/linux/generic/hack-5.10/645-netfilter-connmark-introduce-set-dscpmark.patch
@@ -109,7 +109,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
__u8 invert;
--- a/net/netfilter/xt_connmark.c
+++ b/net/netfilter/xt_connmark.c
-@@ -24,12 +24,13 @@ MODULE_ALIAS("ipt_connmark");
+@@ -24,13 +24,13 @@ MODULE_ALIAS("ipt_connmark");
MODULE_ALIAS("ip6t_connmark");
static unsigned int
@@ -120,20 +120,22 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
u_int32_t new_targetmark;
struct nf_conn *ct;
u_int32_t newmark;
+- u_int32_t oldmark;
+ u_int8_t dscp;
ct = nf_ct_get(skb, &ctinfo);
if (ct == NULL)
-@@ -37,12 +38,24 @@ connmark_tg_shift(struct sk_buff *skb, c
+@@ -38,13 +38,24 @@ connmark_tg_shift(struct sk_buff *skb, c
switch (info->mode) {
case XT_CONNMARK_SET:
-- newmark = (ct->mark & ~info->ctmask) ^ info->ctmark;
+- oldmark = READ_ONCE(ct->mark);
+- newmark = (oldmark & ~info->ctmask) ^ info->ctmark;
- if (info->shift_dir == D_SHIFT_RIGHT)
- newmark >>= info->shift_bits;
- else
- newmark <<= info->shift_bits;
-+ newmark = ct->mark;
++ newmark = READ_ONCE(ct->mark);
+ if (info->func & XT_CONNMARK_VALUE) {
+ newmark = (newmark & ~info->ctmask) ^ info->ctmark;
+ if (info->shift_dir == D_SHIFT_RIGHT)
@@ -151,10 +153,10 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
+ newmark = (newmark & ~info->ctmark) |
+ (info->ctmask | (dscp << info->shift_bits));
+ }
- if (ct->mark != newmark) {
- ct->mark = newmark;
+ if (READ_ONCE(ct->mark) != newmark) {
+ WRITE_ONCE(ct->mark, newmark);
nf_conntrack_event_cache(IPCT_MARK, ct);
-@@ -81,20 +94,36 @@ static unsigned int
+@@ -83,20 +94,36 @@ static unsigned int
connmark_tg(struct sk_buff *skb, const struct xt_action_param *par)
{
const struct xt_connmark_tginfo1 *info = par->targinfo;
@@ -193,7 +195,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
return connmark_tg_shift(skb, info);
}
-@@ -165,6 +194,16 @@ static struct xt_target connmark_tg_reg[
+@@ -167,6 +194,16 @@ static struct xt_target connmark_tg_reg[
.targetsize = sizeof(struct xt_connmark_tginfo2),
.destroy = connmark_tg_destroy,
.me = THIS_MODULE,
diff --git a/target/linux/generic/hack-5.10/901-debloat_sock_diag.patch b/target/linux/generic/hack-5.10/901-debloat_sock_diag.patch
index 5302c793de..1ff1bcabb4 100644
--- a/target/linux/generic/hack-5.10/901-debloat_sock_diag.patch
+++ b/target/linux/generic/hack-5.10/901-debloat_sock_diag.patch
@@ -122,7 +122,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
u64 res;
--- a/net/ipv4/Kconfig
+++ b/net/ipv4/Kconfig
-@@ -414,6 +414,7 @@ config INET_TUNNEL
+@@ -424,6 +424,7 @@ config INET_TUNNEL
config INET_DIAG
tristate "INET: socket monitoring interface"
diff --git a/target/linux/generic/hack-5.10/902-debloat_proc.patch b/target/linux/generic/hack-5.10/902-debloat_proc.patch
index 913a5cb132..5cdc22a5d5 100644
--- a/target/linux/generic/hack-5.10/902-debloat_proc.patch
+++ b/target/linux/generic/hack-5.10/902-debloat_proc.patch
@@ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
-@@ -2986,11 +2986,13 @@ static const struct seq_operations fib_r
+@@ -2988,11 +2988,13 @@ static const struct seq_operations fib_r
int __net_init fib_proc_init(struct net *net)
{
@@ -357,7 +357,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
fib_triestat_seq_show, NULL))
goto out2;
-@@ -3001,17 +3003,21 @@ int __net_init fib_proc_init(struct net
+@@ -3003,17 +3005,21 @@ int __net_init fib_proc_init(struct net
return 0;
out3: