diff options
Diffstat (limited to 'net/ipv4/inet_diag.c')
-rw-r--r-- | net/ipv4/inet_diag.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c index 7eb83ebed2ec..dc429b6b0ba6 100644 --- a/net/ipv4/inet_diag.c +++ b/net/ipv4/inet_diag.c | |||
@@ -815,6 +815,12 @@ static int inet_diag_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh) | |||
815 | nlmsg_len(nlh) < hdrlen) | 815 | nlmsg_len(nlh) < hdrlen) |
816 | return -EINVAL; | 816 | return -EINVAL; |
817 | 817 | ||
818 | #ifdef CONFIG_KMOD | ||
819 | if (inet_diag_table[nlh->nlmsg_type] == NULL) | ||
820 | request_module("net-pf-%d-proto-%d-type-%d", PF_NETLINK, | ||
821 | NETLINK_INET_DIAG, nlh->nlmsg_type); | ||
822 | #endif | ||
823 | |||
818 | if (inet_diag_table[nlh->nlmsg_type] == NULL) | 824 | if (inet_diag_table[nlh->nlmsg_type] == NULL) |
819 | return -ENOENT; | 825 | return -ENOENT; |
820 | 826 | ||
@@ -914,3 +920,4 @@ static void __exit inet_diag_exit(void) | |||
914 | module_init(inet_diag_init); | 920 | module_init(inet_diag_init); |
915 | module_exit(inet_diag_exit); | 921 | module_exit(inet_diag_exit); |
916 | MODULE_LICENSE("GPL"); | 922 | MODULE_LICENSE("GPL"); |
923 | MODULE_ALIAS_NET_PF_PROTO(PF_NETLINK, NETLINK_INET_DIAG); | ||