projects
/
openwrt
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
kernel: add support for kernel 5.4
[openwrt/openwrt.git]
/
target
/
linux
/
generic
/
hack-5.4
/
901-debloat_sock_diag.patch
diff --git
a/target/linux/generic/hack-5.4/901-debloat_sock_diag.patch
b/target/linux/generic/hack-5.4/901-debloat_sock_diag.patch
index 639f76d3091f04c559a1901f47f17e158efec413..aec1d58fa7a6d175dc236e22518997f8a0c53ef6 100644
(file)
--- a/
target/linux/generic/hack-5.4/901-debloat_sock_diag.patch
+++ b/
target/linux/generic/hack-5.4/901-debloat_sock_diag.patch
@@
-16,7
+16,7
@@
Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/Kconfig
+++ b/net/Kconfig
--- a/net/Kconfig
+++ b/net/Kconfig
-@@ -
98,6 +98
,9 @@ source "net/netlabel/Kconfig"
+@@ -
100,6 +100
,9 @@ source "net/netlabel/Kconfig"
endif # if INET
endif # if INET
@@
-34,7
+34,7
@@
Signed-off-by: Felix Fietkau <nbd@nbd.name>
neighbour.o rtnetlink.o utils.o link_watch.o filter.o \
- sock_diag.o dev_ioctl.o tso.o sock_reuseport.o \
+ dev_ioctl.o tso.o sock_reuseport.o \
neighbour.o rtnetlink.o utils.o link_watch.o filter.o \
- sock_diag.o dev_ioctl.o tso.o sock_reuseport.o \
+ dev_ioctl.o tso.o sock_reuseport.o \
- fib_notifier.o xdp.o
+ fib_notifier.o xdp.o
flow_offload.o
+obj-$(CONFIG_SOCK_DIAG) += sock_diag.o
obj-y += net-sysfs.o
+obj-$(CONFIG_SOCK_DIAG) += sock_diag.o
obj-y += net-sysfs.o
@@
-42,7
+42,15
@@
Signed-off-by: Felix Fietkau <nbd@nbd.name>
obj-$(CONFIG_PROC_FS) += net-procfs.o
--- a/net/core/sock.c
+++ b/net/core/sock.c
obj-$(CONFIG_PROC_FS) += net-procfs.o
--- a/net/core/sock.c
+++ b/net/core/sock.c
-@@ -490,6 +490,18 @@ discard_and_relse:
+@@ -140,6 +140,7 @@
+
+ static DEFINE_MUTEX(proto_list_mutex);
+ static LIST_HEAD(proto_list);
++static atomic64_t cookie_gen;
+
+ static void sock_inuse_add(struct net *net, int val);
+
+@@ -539,6 +540,18 @@ discard_and_relse:
}
EXPORT_SYMBOL(__sk_receive_skb);
}
EXPORT_SYMBOL(__sk_receive_skb);
@@
-53,7
+61,7
@@
Signed-off-by: Felix Fietkau <nbd@nbd.name>
+
+ if (res)
+ return res;
+
+ if (res)
+ return res;
-+ res = atomic64_inc_return(&
sock_net(sk)->
cookie_gen);
++ res = atomic64_inc_return(&cookie_gen);
+ atomic64_cmpxchg(&sk->sk_cookie, 0, res);
+ }
+}
+ atomic64_cmpxchg(&sk->sk_cookie, 0, res);
+ }
+}
@@
-61,7
+69,7
@@
Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie)
{
struct dst_entry *dst = __sk_dst_get(sk);
struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie)
{
struct dst_entry *dst = __sk_dst_get(sk);
-@@ -1
603,9 +1615
,11 @@ static void __sk_free(struct sock *sk)
+@@ -1
746,9 +1759
,11 @@ static void __sk_free(struct sock *sk)
if (likely(sk->sk_net_refcnt))
sock_inuse_add(sock_net(sk), -1);
if (likely(sk->sk_net_refcnt))
sock_inuse_add(sock_net(sk), -1);
@@
-75,10
+83,12
@@
Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/core/sock_diag.c
+++ b/net/core/sock_diag.c
--- a/net/core/sock_diag.c
+++ b/net/core/sock_diag.c
-@@ -20,18 +20,6 @@ static int (*inet_rcv_compat)(struct sk_
+@@ -19,19 +19,6 @@ static const struct sock_diag_handler *s
+ static int (*inet_rcv_compat)(struct sk_buff *skb, struct nlmsghdr *nlh);
static DEFINE_MUTEX(sock_diag_table_mutex);
static struct workqueue_struct *broadcast_wq;
static DEFINE_MUTEX(sock_diag_table_mutex);
static struct workqueue_struct *broadcast_wq;
-
+-static atomic64_t cookie_gen;
+-
-u64 sock_gen_cookie(struct sock *sk)
-{
- while (1) {
-u64 sock_gen_cookie(struct sock *sk)
-{
- while (1) {
@@
-86,17
+96,16
@@
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-
- if (res)
- return res;
-
- if (res)
- return res;
-- res = atomic64_inc_return(&
sock_net(sk)->
cookie_gen);
+- res = atomic64_inc_return(&cookie_gen);
- atomic64_cmpxchg(&sk->sk_cookie, 0, res);
- }
-}
- atomic64_cmpxchg(&sk->sk_cookie, 0, res);
- }
-}
--
+
int sock_diag_check_cookie(struct sock *sk, const __u32 *cookie)
{
int sock_diag_check_cookie(struct sock *sk, const __u32 *cookie)
{
- u64 res;
--- a/net/ipv4/Kconfig
+++ b/net/ipv4/Kconfig
--- a/net/ipv4/Kconfig
+++ b/net/ipv4/Kconfig
-@@ -
425,6 +425,7 @@ config INET_XFRM_MODE_BEET
+@@ -
399,6 +399,7 @@ config INET_TUNNEL
config INET_DIAG
tristate "INET: socket monitoring interface"
config INET_DIAG
tristate "INET: socket monitoring interface"
@@
-106,7
+115,7
@@
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Support for INET (TCP, DCCP, etc) socket monitoring interface used by
--- a/net/netlink/Kconfig
+++ b/net/netlink/Kconfig
Support for INET (TCP, DCCP, etc) socket monitoring interface used by
--- a/net/netlink/Kconfig
+++ b/net/netlink/Kconfig
-@@ -
4,6 +4
,7 @@
+@@ -
5,6 +5
,7 @@
config NETLINK_DIAG
tristate "NETLINK: socket monitoring interface"
config NETLINK_DIAG
tristate "NETLINK: socket monitoring interface"
@@
-116,7
+125,7
@@
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Support for NETLINK socket monitoring interface used by the ss tool.
--- a/net/packet/Kconfig
+++ b/net/packet/Kconfig
Support for NETLINK socket monitoring interface used by the ss tool.
--- a/net/packet/Kconfig
+++ b/net/packet/Kconfig
-@@ -1
8,6 +18
,7 @@ config PACKET
+@@ -1
9,6 +19
,7 @@ config PACKET
config PACKET_DIAG
tristate "Packet: sockets monitoring interface"
depends on PACKET
config PACKET_DIAG
tristate "Packet: sockets monitoring interface"
depends on PACKET
@@
-126,7
+135,7
@@
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Support for PF_PACKET sockets monitoring interface used by the ss tool.
--- a/net/unix/Kconfig
+++ b/net/unix/Kconfig
Support for PF_PACKET sockets monitoring interface used by the ss tool.
--- a/net/unix/Kconfig
+++ b/net/unix/Kconfig
-@@ -2
2,6 +22,7 @@ config UNIX
+@@ -2
8,6 +28,7 @@ config UNIX_SCM
config UNIX_DIAG
tristate "UNIX: socket monitoring interface"
depends on UNIX
config UNIX_DIAG
tristate "UNIX: socket monitoring interface"
depends on UNIX