Commit 114b4bb1 authored by Eric Dumazet's avatar Eric Dumazet Committed by Paolo Abeni

sock_diag: add module pointer to "struct sock_diag_handler"

Following patch is going to use RCU instead of
sock_diag_table_mutex acquisition.

This patch is a preparation, no change of behavior yet.
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Reviewed-by: default avatarGuillaume Nault <gnault@redhat.com>
Reviewed-by: default avatarKuniyuki Iwashima <kuniyu@amazon.com>
Reviewed-by: default avatarWillem de Bruijn <willemb@google.com>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 223f5519
...@@ -13,6 +13,7 @@ struct nlmsghdr; ...@@ -13,6 +13,7 @@ struct nlmsghdr;
struct sock; struct sock;
struct sock_diag_handler { struct sock_diag_handler {
struct module *owner;
__u8 family; __u8 family;
int (*dump)(struct sk_buff *skb, struct nlmsghdr *nlh); int (*dump)(struct sk_buff *skb, struct nlmsghdr *nlh);
int (*get_info)(struct sk_buff *skb, struct sock *sk); int (*get_info)(struct sk_buff *skb, struct sock *sk);
......
...@@ -1488,6 +1488,7 @@ int inet_diag_handler_get_info(struct sk_buff *skb, struct sock *sk) ...@@ -1488,6 +1488,7 @@ int inet_diag_handler_get_info(struct sk_buff *skb, struct sock *sk)
} }
static const struct sock_diag_handler inet_diag_handler = { static const struct sock_diag_handler inet_diag_handler = {
.owner = THIS_MODULE,
.family = AF_INET, .family = AF_INET,
.dump = inet_diag_handler_cmd, .dump = inet_diag_handler_cmd,
.get_info = inet_diag_handler_get_info, .get_info = inet_diag_handler_get_info,
...@@ -1495,6 +1496,7 @@ static const struct sock_diag_handler inet_diag_handler = { ...@@ -1495,6 +1496,7 @@ static const struct sock_diag_handler inet_diag_handler = {
}; };
static const struct sock_diag_handler inet6_diag_handler = { static const struct sock_diag_handler inet6_diag_handler = {
.owner = THIS_MODULE,
.family = AF_INET6, .family = AF_INET6,
.dump = inet_diag_handler_cmd, .dump = inet_diag_handler_cmd,
.get_info = inet_diag_handler_get_info, .get_info = inet_diag_handler_get_info,
......
...@@ -241,6 +241,7 @@ static int netlink_diag_handler_dump(struct sk_buff *skb, struct nlmsghdr *h) ...@@ -241,6 +241,7 @@ static int netlink_diag_handler_dump(struct sk_buff *skb, struct nlmsghdr *h)
} }
static const struct sock_diag_handler netlink_diag_handler = { static const struct sock_diag_handler netlink_diag_handler = {
.owner = THIS_MODULE,
.family = AF_NETLINK, .family = AF_NETLINK,
.dump = netlink_diag_handler_dump, .dump = netlink_diag_handler_dump,
}; };
......
...@@ -245,6 +245,7 @@ static int packet_diag_handler_dump(struct sk_buff *skb, struct nlmsghdr *h) ...@@ -245,6 +245,7 @@ static int packet_diag_handler_dump(struct sk_buff *skb, struct nlmsghdr *h)
} }
static const struct sock_diag_handler packet_diag_handler = { static const struct sock_diag_handler packet_diag_handler = {
.owner = THIS_MODULE,
.family = AF_PACKET, .family = AF_PACKET,
.dump = packet_diag_handler_dump, .dump = packet_diag_handler_dump,
}; };
......
...@@ -255,6 +255,7 @@ static int smc_diag_handler_dump(struct sk_buff *skb, struct nlmsghdr *h) ...@@ -255,6 +255,7 @@ static int smc_diag_handler_dump(struct sk_buff *skb, struct nlmsghdr *h)
} }
static const struct sock_diag_handler smc_diag_handler = { static const struct sock_diag_handler smc_diag_handler = {
.owner = THIS_MODULE,
.family = AF_SMC, .family = AF_SMC,
.dump = smc_diag_handler_dump, .dump = smc_diag_handler_dump,
}; };
......
...@@ -95,6 +95,7 @@ static int tipc_sock_diag_handler_dump(struct sk_buff *skb, ...@@ -95,6 +95,7 @@ static int tipc_sock_diag_handler_dump(struct sk_buff *skb,
} }
static const struct sock_diag_handler tipc_sock_diag_handler = { static const struct sock_diag_handler tipc_sock_diag_handler = {
.owner = THIS_MODULE,
.family = AF_TIPC, .family = AF_TIPC,
.dump = tipc_sock_diag_handler_dump, .dump = tipc_sock_diag_handler_dump,
}; };
......
...@@ -322,6 +322,7 @@ static int unix_diag_handler_dump(struct sk_buff *skb, struct nlmsghdr *h) ...@@ -322,6 +322,7 @@ static int unix_diag_handler_dump(struct sk_buff *skb, struct nlmsghdr *h)
} }
static const struct sock_diag_handler unix_diag_handler = { static const struct sock_diag_handler unix_diag_handler = {
.owner = THIS_MODULE,
.family = AF_UNIX, .family = AF_UNIX,
.dump = unix_diag_handler_dump, .dump = unix_diag_handler_dump,
}; };
......
...@@ -157,6 +157,7 @@ static int vsock_diag_handler_dump(struct sk_buff *skb, struct nlmsghdr *h) ...@@ -157,6 +157,7 @@ static int vsock_diag_handler_dump(struct sk_buff *skb, struct nlmsghdr *h)
} }
static const struct sock_diag_handler vsock_diag_handler = { static const struct sock_diag_handler vsock_diag_handler = {
.owner = THIS_MODULE,
.family = AF_VSOCK, .family = AF_VSOCK,
.dump = vsock_diag_handler_dump, .dump = vsock_diag_handler_dump,
}; };
......
...@@ -194,6 +194,7 @@ static int xsk_diag_handler_dump(struct sk_buff *nlskb, struct nlmsghdr *hdr) ...@@ -194,6 +194,7 @@ static int xsk_diag_handler_dump(struct sk_buff *nlskb, struct nlmsghdr *hdr)
} }
static const struct sock_diag_handler xsk_diag_handler = { static const struct sock_diag_handler xsk_diag_handler = {
.owner = THIS_MODULE,
.family = AF_XDP, .family = AF_XDP,
.dump = xsk_diag_handler_dump, .dump = xsk_diag_handler_dump,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment