lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <200710161728.23733.jdelvare@suse.de> Date: Tue, 16 Oct 2007 17:28:23 +0200 From: Jean Delvare <jdelvare@...e.de> To: netdev@...r.kernel.org Cc: Alexey Kuznetsov <kuznet@....inr.ac.ru> Subject: [PATCH 1/2] net: Let inet_diag and friends autoload By adding module aliases to inet_diag, tcp_diag and dccp_diag, we let them load automatically as needed. This makes tools like "ss" run faster. Signed-off-by: Jean Delvare <jdelvare@...e.de> Cc: Alexey Kuznetsov <kuznet@....inr.ac.ru> --- The alias naming scheme for tcp_diag and dccp_diag follows what was done for dccp_ipv4 and dccp_ipv6. include/linux/net.h | 4 ++++ net/dccp/diag.c | 1 + net/ipv4/inet_diag.c | 7 +++++++ net/ipv4/tcp_diag.c | 1 + 4 files changed, 13 insertions(+) --- linux-2.6.23-rc0.orig/net/ipv4/inet_diag.c 2007-10-16 13:32:13.000000000 +0200 +++ linux-2.6.23-rc0/net/ipv4/inet_diag.c 2007-10-16 13:46:34.000000000 +0200 @@ -815,6 +815,12 @@ static int inet_diag_rcv_msg(struct sk_b nlmsg_len(nlh) < hdrlen) return -EINVAL; +#ifdef CONFIG_KMOD + if (inet_diag_table[nlh->nlmsg_type] == NULL) + request_module("net-pf-%d-proto-%d-type-%d", PF_NETLINK, + NETLINK_INET_DIAG, nlh->nlmsg_type); +#endif + if (inet_diag_table[nlh->nlmsg_type] == NULL) return -ENOENT; @@ -914,3 +920,4 @@ static void __exit inet_diag_exit(void) module_init(inet_diag_init); module_exit(inet_diag_exit); MODULE_LICENSE("GPL"); +MODULE_ALIAS_NET_PF_PROTO(PF_NETLINK, NETLINK_INET_DIAG); --- linux-2.6.23-rc0.orig/include/linux/net.h 2007-10-15 21:39:08.000000000 +0200 +++ linux-2.6.23-rc0/include/linux/net.h 2007-10-16 14:31:02.000000000 +0200 @@ -313,6 +313,10 @@ static const struct proto_ops name##_ops #define MODULE_ALIAS_NET_PF_PROTO(pf, proto) \ MODULE_ALIAS("net-pf-" __stringify(pf) "-proto-" __stringify(proto)) +#define MODULE_ALIAS_NET_PF_PROTO_TYPE(pf, proto, type) \ + MODULE_ALIAS("net-pf-" __stringify(pf) "-proto-" __stringify(proto) \ + "-type-" __stringify(type)) + #ifdef CONFIG_SYSCTL #include <linux/sysctl.h> extern ctl_table net_table[]; --- linux-2.6.23-rc0.orig/net/ipv4/tcp_diag.c 2007-10-16 13:32:13.000000000 +0200 +++ linux-2.6.23-rc0/net/ipv4/tcp_diag.c 2007-10-16 13:51:09.000000000 +0200 @@ -56,3 +56,4 @@ static void __exit tcp_diag_exit(void) module_init(tcp_diag_init); module_exit(tcp_diag_exit); MODULE_LICENSE("GPL"); +MODULE_ALIAS_NET_PF_PROTO_TYPE(PF_NETLINK, NETLINK_INET_DIAG, TCPDIAG_GETSOCK); --- linux-2.6.23-rc0.orig/net/dccp/diag.c 2007-02-04 19:44:54.000000000 +0100 +++ linux-2.6.23-rc0/net/dccp/diag.c 2007-10-16 14:27:10.000000000 +0200 @@ -68,3 +68,4 @@ module_exit(dccp_diag_fini); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Arnaldo Carvalho de Melo <acme@...driva.com>"); MODULE_DESCRIPTION("DCCP inet_diag handler"); +MODULE_ALIAS_NET_PF_PROTO_TYPE(PF_NETLINK, NETLINK_INET_DIAG, DCCPDIAG_GETSOCK); -- Jean Delvare Suse L3 - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists