From 3b6115d6b57a263bdc8c9b1df273bd4a7955eead Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 8 Jul 2017 08:16:31 +0200 Subject: debloat: add some debloat patches, strip down procfs and make O_DIRECT support optional, saves ~15K after lzma on MIPS Signed-off-by: Felix Fietkau --- net/Kconfig | 3 +++ net/core/Makefile | 3 ++- net/core/sock.c | 2 ++ net/ipv4/Kconfig | 1 + net/netlink/Kconfig | 1 + net/packet/Kconfig | 1 + net/unix/Kconfig | 1 + 7 files changed, 11 insertions(+), 1 deletion(-) --- a/net/Kconfig +++ b/net/Kconfig @@ -95,6 +95,9 @@ source "net/netlabel/Kconfig" endif # if INET +config SOCK_DIAG + bool + config NETWORK_SECMARK bool "Security Marking" help --- a/net/core/Makefile +++ b/net/core/Makefile @@ -9,8 +9,9 @@ obj-$(CONFIG_SYSCTL) += sysctl_net_core. obj-y += dev.o ethtool.o dev_addr_lists.o dst.o netevent.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 +obj-$(CONFIG_SOCK_DIAG) += sock_diag.o obj-$(CONFIG_XFRM) += flow.o obj-y += net-sysfs.o obj-$(CONFIG_PROC_FS) += net-procfs.o --- a/net/core/sock.c +++ b/net/core/sock.c @@ -1457,9 +1457,11 @@ void sk_destruct(struct sock *sk) static void __sk_free(struct sock *sk) { +#ifdef CONFIG_SOCK_DIAG if (unlikely(sk->sk_net_refcnt && sock_diag_has_destroy_listeners(sk))) sock_diag_broadcast_destroy(sk); else +#endif sk_destruct(sk); } --- a/net/ipv4/Kconfig +++ b/net/ipv4/Kconfig @@ -408,6 +408,7 @@ config INET_XFRM_MODE_BEET config INET_DIAG tristate "INET: socket monitoring interface" + select SOCK_DIAG default y ---help--- Support for INET (TCP, DCCP, etc) socket monitoring interface used by --- a/net/netlink/Kconfig +++ b/net/netlink/Kconfig @@ -4,6 +4,7 @@ config NETLINK_DIAG tristate "NETLINK: socket monitoring interface" + select SOCK_DIAG default n ---help--- Support for NETLINK socket monitoring interface used by the ss tool. --- a/net/packet/Kconfig +++ b/net/packet/Kconfig @@ -18,6 +18,7 @@ config PACKET config PACKET_DIAG tristate "Packet: sockets monitoring interface" depends on PACKET + select SOCK_DIAG default n ---help--- Support for PF_PACKET sockets monitoring interface used by the ss tool. --- a/net/unix/Kconfig +++ b/net/unix/Kconfig @@ -22,6 +22,7 @@ config UNIX config UNIX_DIAG tristate "UNIX: socket monitoring interface" depends on UNIX + select SOCK_DIAG default n ---help--- Support for UNIX socket monitoring interface used by the ss tool.