aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/hack-5.15
diff options
context:
space:
mode:
authorRui Salvaterra <rsalvaterra@gmail.com>2022-05-25 11:21:59 +0100
committerHauke Mehrtens <hauke@hauke-m.de>2022-06-06 19:20:28 +0200
commit2454342e068335ec0a52b2304e83f5f62f6b6b2d (patch)
treebe13490842f4786e960fc2fcb36956727273fe29 /target/linux/generic/hack-5.15
parented1536e0b6b7f2aeea6881632b89b269d27ff7ce (diff)
downloadupstream-2454342e068335ec0a52b2304e83f5f62f6b6b2d.tar.gz
upstream-2454342e068335ec0a52b2304e83f5f62f6b6b2d.tar.bz2
upstream-2454342e068335ec0a52b2304e83f5f62f6b6b2d.zip
kernel: bump 5.15 to 5.15.42
Deleted (upstreamed): generic/backport-5.15/610-v5.18-netfilter-flowtable-move-dst_check-to-packet-path.patch [1] generic/pending-5.15/704-00-netfilter-flowtable-fix-excessive-hw-offload-attempt.patch [2] generic/pending-5.15/704-01-netfilter-nft_flow_offload-skip-dst-neigh-lookup-for.patch [3] generic/pending-5.15/704-02-net-fix-dev_fill_forward_path-with-pppoe-bridge.patch [4] generic/pending-5.15/704-03-netfilter-nft_flow_offload-fix-offload-with-pppoe-vl.patch [5] Manually rebased: generic/hack-5.15/650-netfilter-add-xt_FLOWOFFLOAD-target.patch [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.42&id=88b937673b3552d54da20f648e61a123f4c1fa67 [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.42&id=5f4197a020c049a59ea7907c31f9ab037dcefefe [3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.42&id=7613dcaceee281973145588f4244f2f78ef85b7f [4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.42&id=f96b2e06721249ebf8da3254cfef29dcb6583948 [5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.42&id=b329889974aed47e1167c85653c07097013e01a7 Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
Diffstat (limited to 'target/linux/generic/hack-5.15')
-rw-r--r--target/linux/generic/hack-5.15/600-bridge_offload.patch4
-rw-r--r--target/linux/generic/hack-5.15/650-netfilter-add-xt_FLOWOFFLOAD-target.patch32
-rw-r--r--target/linux/generic/hack-5.15/904-debloat_dma_buf.patch2
3 files changed, 21 insertions, 17 deletions
diff --git a/target/linux/generic/hack-5.15/600-bridge_offload.patch b/target/linux/generic/hack-5.15/600-bridge_offload.patch
index b396d748b6..5d49d07753 100644
--- a/target/linux/generic/hack-5.15/600-bridge_offload.patch
+++ b/target/linux/generic/hack-5.15/600-bridge_offload.patch
@@ -154,7 +154,7 @@
static int
br_netif_receive_skb(struct net *net, struct sock *sk, struct sk_buff *skb)
-@@ -164,6 +165,7 @@ int br_handle_frame_finish(struct net *n
+@@ -171,6 +172,7 @@ int br_handle_frame_finish(struct net *n
dst->used = now;
br_forward(dst->dst, skb, local_rcv, false);
} else {
@@ -162,7 +162,7 @@
if (!mcast_hit)
br_flood(br, skb, pkt_type, local_rcv, false);
else
-@@ -297,6 +299,9 @@ static rx_handler_result_t br_handle_fra
+@@ -304,6 +306,9 @@ static rx_handler_result_t br_handle_fra
memset(skb->cb, 0, sizeof(struct br_input_skb_cb));
p = br_port_get_rcu(skb->dev);
diff --git a/target/linux/generic/hack-5.15/650-netfilter-add-xt_FLOWOFFLOAD-target.patch b/target/linux/generic/hack-5.15/650-netfilter-add-xt_FLOWOFFLOAD-target.patch
index 81432bbeab..f826d65a81 100644
--- a/target/linux/generic/hack-5.15/650-netfilter-add-xt_FLOWOFFLOAD-target.patch
+++ b/target/linux/generic/hack-5.15/650-netfilter-add-xt_FLOWOFFLOAD-target.patch
@@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
obj-$(CONFIG_NETFILTER_XT_TARGET_LED) += xt_LED.o
--- /dev/null
+++ b/net/netfilter/xt_FLOWOFFLOAD.c
-@@ -0,0 +1,694 @@
+@@ -0,0 +1,697 @@
+/*
+ * Copyright (C) 2018-2021 Felix Fietkau <nbd@nbd.name>
+ *
@@ -289,13 +289,16 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+}
+
+static void
-+xt_flowoffload_check_hook(struct flow_offload *flow, void *data)
++xt_flowoffload_check_hook(struct nf_flowtable *flowtable,
++ struct flow_offload *flow, void *data)
+{
-+ struct xt_flowoffload_table *table = data;
++ struct xt_flowoffload_table *table;
+ struct flow_offload_tuple *tuple0 = &flow->tuplehash[0].tuple;
+ struct flow_offload_tuple *tuple1 = &flow->tuplehash[1].tuple;
+ struct xt_flowoffload_hook *hook;
+
++ table = container_of(flowtable, struct xt_flowoffload_table, ft);
++
+ spin_lock_bh(&hooks_lock);
+ hlist_for_each_entry(hook, &table->hooks, list) {
+ if (hook->ops.dev->ifindex != tuple0->iifidx &&
@@ -323,7 +326,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+ spin_unlock_bh(&hooks_lock);
+
+ err = nf_flow_table_iterate(&table->ft, xt_flowoffload_check_hook,
-+ table);
++ NULL);
+ if (err && err != -EAGAIN)
+ goto out;
+
@@ -803,23 +806,23 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
#include <net/netfilter/nf_flow_table.h>
#include <net/netfilter/nf_conntrack.h>
#include <net/netfilter/nf_conntrack_core.h>
-@@ -399,8 +398,7 @@ flow_offload_lookup(struct nf_flowtable
+@@ -380,8 +379,7 @@ flow_offload_lookup(struct nf_flowtable
}
EXPORT_SYMBOL_GPL(flow_offload_lookup);
-static int
-nf_flow_table_iterate(struct nf_flowtable *flow_table,
+int nf_flow_table_iterate(struct nf_flowtable *flow_table,
- void (*iter)(struct flow_offload *flow, void *data),
+ void (*iter)(struct nf_flowtable *flowtable,
+ struct flow_offload *flow, void *data),
void *data)
- {
-@@ -432,6 +430,7 @@ nf_flow_table_iterate(struct nf_flowtabl
-
- return err;
+@@ -435,6 +433,7 @@ static void nf_flow_offload_gc_step(stru
+ nf_flow_offload_stats(flow_table, flow);
+ }
}
+EXPORT_SYMBOL_GPL(nf_flow_table_iterate);
- static void nf_flow_offload_gc_step(struct flow_offload *flow, void *data)
+ static void nf_flow_offload_work_gc(struct work_struct *work)
{
--- /dev/null
+++ b/include/uapi/linux/netfilter/xt_FLOWOFFLOAD.h
@@ -843,13 +846,14 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+#endif /* _XT_FLOWOFFLOAD_H */
--- a/include/net/netfilter/nf_flow_table.h
+++ b/include/net/netfilter/nf_flow_table.h
-@@ -275,6 +275,10 @@ void nf_flow_table_free(struct nf_flowta
+@@ -275,6 +275,11 @@ void nf_flow_table_free(struct nf_flowta
void flow_offload_teardown(struct flow_offload *flow);
+int nf_flow_table_iterate(struct nf_flowtable *flow_table,
-+ void (*iter)(struct flow_offload *flow, void *data),
-+ void *data);
++ void (*iter)(struct nf_flowtable *flowtable,
++ struct flow_offload *flow, void *data),
++ void *data);
+
void nf_flow_snat_port(const struct flow_offload *flow,
struct sk_buff *skb, unsigned int thoff,
diff --git a/target/linux/generic/hack-5.15/904-debloat_dma_buf.patch b/target/linux/generic/hack-5.15/904-debloat_dma_buf.patch
index 2531e32ff8..1f4d2fd394 100644
--- a/target/linux/generic/hack-5.15/904-debloat_dma_buf.patch
+++ b/target/linux/generic/hack-5.15/904-debloat_dma_buf.patch
@@ -63,7 +63,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+dma-shared-buffer-objs := $(dma-buf-objs-y)
--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
-@@ -1498,4 +1498,5 @@ static void __exit dma_buf_deinit(void)
+@@ -1506,4 +1506,5 @@ static void __exit dma_buf_deinit(void)
kern_unmount(dma_buf_mnt);
dma_buf_uninit_sysfs_statistics();
}