Commit 34160ea3 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller

inet_diag: add const to inet_diag_req_v2

diag dumpers should not modify the request.
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e31c5e0e
...@@ -11,33 +11,34 @@ struct sk_buff; ...@@ -11,33 +11,34 @@ struct sk_buff;
struct netlink_callback; struct netlink_callback;
struct inet_diag_handler { struct inet_diag_handler {
void (*dump)(struct sk_buff *skb, void (*dump)(struct sk_buff *skb,
struct netlink_callback *cb, struct netlink_callback *cb,
struct inet_diag_req_v2 *r, const struct inet_diag_req_v2 *r,
struct nlattr *bc); struct nlattr *bc);
int (*dump_one)(struct sk_buff *in_skb, int (*dump_one)(struct sk_buff *in_skb,
const struct nlmsghdr *nlh, const struct nlmsghdr *nlh,
struct inet_diag_req_v2 *req); const struct inet_diag_req_v2 *req);
void (*idiag_get_info)(struct sock *sk, void (*idiag_get_info)(struct sock *sk,
struct inet_diag_msg *r, struct inet_diag_msg *r,
void *info); void *info);
__u16 idiag_type; __u16 idiag_type;
}; };
struct inet_connection_sock; struct inet_connection_sock;
int inet_sk_diag_fill(struct sock *sk, struct inet_connection_sock *icsk, int inet_sk_diag_fill(struct sock *sk, struct inet_connection_sock *icsk,
struct sk_buff *skb, struct inet_diag_req_v2 *req, struct sk_buff *skb, const struct inet_diag_req_v2 *req,
struct user_namespace *user_ns, struct user_namespace *user_ns,
u32 pid, u32 seq, u16 nlmsg_flags, u32 pid, u32 seq, u16 nlmsg_flags,
const struct nlmsghdr *unlh); const struct nlmsghdr *unlh);
void inet_diag_dump_icsk(struct inet_hashinfo *h, struct sk_buff *skb, void inet_diag_dump_icsk(struct inet_hashinfo *h, struct sk_buff *skb,
struct netlink_callback *cb, struct inet_diag_req_v2 *r, struct netlink_callback *cb,
struct nlattr *bc); const struct inet_diag_req_v2 *r,
struct nlattr *bc);
int inet_diag_dump_one_icsk(struct inet_hashinfo *hashinfo, int inet_diag_dump_one_icsk(struct inet_hashinfo *hashinfo,
struct sk_buff *in_skb, const struct nlmsghdr *nlh, struct sk_buff *in_skb, const struct nlmsghdr *nlh,
struct inet_diag_req_v2 *req); const struct inet_diag_req_v2 *req);
int inet_diag_bc_sk(const struct nlattr *_bc, struct sock *sk); int inet_diag_bc_sk(const struct nlattr *_bc, struct sock *sk);
......
...@@ -49,13 +49,14 @@ static void dccp_diag_get_info(struct sock *sk, struct inet_diag_msg *r, ...@@ -49,13 +49,14 @@ static void dccp_diag_get_info(struct sock *sk, struct inet_diag_msg *r,
} }
static void dccp_diag_dump(struct sk_buff *skb, struct netlink_callback *cb, static void dccp_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
struct inet_diag_req_v2 *r, struct nlattr *bc) const struct inet_diag_req_v2 *r, struct nlattr *bc)
{ {
inet_diag_dump_icsk(&dccp_hashinfo, skb, cb, r, bc); inet_diag_dump_icsk(&dccp_hashinfo, skb, cb, r, bc);
} }
static int dccp_diag_dump_one(struct sk_buff *in_skb, const struct nlmsghdr *nlh, static int dccp_diag_dump_one(struct sk_buff *in_skb,
struct inet_diag_req_v2 *req) const struct nlmsghdr *nlh,
const struct inet_diag_req_v2 *req)
{ {
return inet_diag_dump_one_icsk(&dccp_hashinfo, in_skb, nlh, req); return inet_diag_dump_one_icsk(&dccp_hashinfo, in_skb, nlh, req);
} }
......
...@@ -71,7 +71,7 @@ static void inet_diag_unlock_handler(const struct inet_diag_handler *handler) ...@@ -71,7 +71,7 @@ static void inet_diag_unlock_handler(const struct inet_diag_handler *handler)
} }
int inet_sk_diag_fill(struct sock *sk, struct inet_connection_sock *icsk, int inet_sk_diag_fill(struct sock *sk, struct inet_connection_sock *icsk,
struct sk_buff *skb, struct inet_diag_req_v2 *req, struct sk_buff *skb, const struct inet_diag_req_v2 *req,
struct user_namespace *user_ns, struct user_namespace *user_ns,
u32 portid, u32 seq, u16 nlmsg_flags, u32 portid, u32 seq, u16 nlmsg_flags,
const struct nlmsghdr *unlh) const struct nlmsghdr *unlh)
...@@ -212,7 +212,7 @@ EXPORT_SYMBOL_GPL(inet_sk_diag_fill); ...@@ -212,7 +212,7 @@ EXPORT_SYMBOL_GPL(inet_sk_diag_fill);
static int inet_csk_diag_fill(struct sock *sk, static int inet_csk_diag_fill(struct sock *sk,
struct sk_buff *skb, struct sk_buff *skb,
struct inet_diag_req_v2 *req, const struct inet_diag_req_v2 *req,
struct user_namespace *user_ns, struct user_namespace *user_ns,
u32 portid, u32 seq, u16 nlmsg_flags, u32 portid, u32 seq, u16 nlmsg_flags,
const struct nlmsghdr *unlh) const struct nlmsghdr *unlh)
...@@ -223,7 +223,7 @@ static int inet_csk_diag_fill(struct sock *sk, ...@@ -223,7 +223,7 @@ static int inet_csk_diag_fill(struct sock *sk,
static int inet_twsk_diag_fill(struct inet_timewait_sock *tw, static int inet_twsk_diag_fill(struct inet_timewait_sock *tw,
struct sk_buff *skb, struct sk_buff *skb,
struct inet_diag_req_v2 *req, const struct inet_diag_req_v2 *req,
u32 portid, u32 seq, u16 nlmsg_flags, u32 portid, u32 seq, u16 nlmsg_flags,
const struct nlmsghdr *unlh) const struct nlmsghdr *unlh)
{ {
...@@ -277,7 +277,7 @@ static int inet_twsk_diag_fill(struct inet_timewait_sock *tw, ...@@ -277,7 +277,7 @@ static int inet_twsk_diag_fill(struct inet_timewait_sock *tw,
} }
static int sk_diag_fill(struct sock *sk, struct sk_buff *skb, static int sk_diag_fill(struct sock *sk, struct sk_buff *skb,
struct inet_diag_req_v2 *r, const struct inet_diag_req_v2 *r,
struct user_namespace *user_ns, struct user_namespace *user_ns,
u32 portid, u32 seq, u16 nlmsg_flags, u32 portid, u32 seq, u16 nlmsg_flags,
const struct nlmsghdr *unlh) const struct nlmsghdr *unlh)
...@@ -293,7 +293,7 @@ static int sk_diag_fill(struct sock *sk, struct sk_buff *skb, ...@@ -293,7 +293,7 @@ static int sk_diag_fill(struct sock *sk, struct sk_buff *skb,
int inet_diag_dump_one_icsk(struct inet_hashinfo *hashinfo, int inet_diag_dump_one_icsk(struct inet_hashinfo *hashinfo,
struct sk_buff *in_skb, struct sk_buff *in_skb,
const struct nlmsghdr *nlh, const struct nlmsghdr *nlh,
struct inet_diag_req_v2 *req) const struct inet_diag_req_v2 *req)
{ {
struct net *net = sock_net(in_skb->sk); struct net *net = sock_net(in_skb->sk);
struct sk_buff *rep; struct sk_buff *rep;
...@@ -358,7 +358,7 @@ EXPORT_SYMBOL_GPL(inet_diag_dump_one_icsk); ...@@ -358,7 +358,7 @@ EXPORT_SYMBOL_GPL(inet_diag_dump_one_icsk);
static int inet_diag_get_exact(struct sk_buff *in_skb, static int inet_diag_get_exact(struct sk_buff *in_skb,
const struct nlmsghdr *nlh, const struct nlmsghdr *nlh,
struct inet_diag_req_v2 *req) const struct inet_diag_req_v2 *req)
{ {
const struct inet_diag_handler *handler; const struct inet_diag_handler *handler;
int err; int err;
...@@ -626,7 +626,7 @@ static int inet_diag_bc_audit(const void *bytecode, int bytecode_len) ...@@ -626,7 +626,7 @@ static int inet_diag_bc_audit(const void *bytecode, int bytecode_len)
static int inet_csk_diag_dump(struct sock *sk, static int inet_csk_diag_dump(struct sock *sk,
struct sk_buff *skb, struct sk_buff *skb,
struct netlink_callback *cb, struct netlink_callback *cb,
struct inet_diag_req_v2 *r, const struct inet_diag_req_v2 *r,
const struct nlattr *bc) const struct nlattr *bc)
{ {
if (!inet_diag_bc_sk(bc, sk)) if (!inet_diag_bc_sk(bc, sk))
...@@ -667,7 +667,7 @@ static void twsk_build_assert(void) ...@@ -667,7 +667,7 @@ static void twsk_build_assert(void)
static int inet_twsk_diag_dump(struct sock *sk, static int inet_twsk_diag_dump(struct sock *sk,
struct sk_buff *skb, struct sk_buff *skb,
struct netlink_callback *cb, struct netlink_callback *cb,
struct inet_diag_req_v2 *r, const struct inet_diag_req_v2 *r,
const struct nlattr *bc) const struct nlattr *bc)
{ {
twsk_build_assert(); twsk_build_assert();
...@@ -770,7 +770,7 @@ static int inet_diag_fill_req(struct sk_buff *skb, struct sock *sk, ...@@ -770,7 +770,7 @@ static int inet_diag_fill_req(struct sk_buff *skb, struct sock *sk,
static int inet_diag_dump_reqs(struct sk_buff *skb, struct sock *sk, static int inet_diag_dump_reqs(struct sk_buff *skb, struct sock *sk,
struct netlink_callback *cb, struct netlink_callback *cb,
struct inet_diag_req_v2 *r, const struct inet_diag_req_v2 *r,
const struct nlattr *bc) const struct nlattr *bc)
{ {
struct inet_connection_sock *icsk = inet_csk(sk); struct inet_connection_sock *icsk = inet_csk(sk);
...@@ -842,7 +842,7 @@ static int inet_diag_dump_reqs(struct sk_buff *skb, struct sock *sk, ...@@ -842,7 +842,7 @@ static int inet_diag_dump_reqs(struct sk_buff *skb, struct sock *sk,
void inet_diag_dump_icsk(struct inet_hashinfo *hashinfo, struct sk_buff *skb, void inet_diag_dump_icsk(struct inet_hashinfo *hashinfo, struct sk_buff *skb,
struct netlink_callback *cb, struct netlink_callback *cb,
struct inet_diag_req_v2 *r, struct nlattr *bc) const struct inet_diag_req_v2 *r, struct nlattr *bc)
{ {
struct net *net = sock_net(skb->sk); struct net *net = sock_net(skb->sk);
int i, num, s_i, s_num; int i, num, s_i, s_num;
...@@ -978,7 +978,7 @@ void inet_diag_dump_icsk(struct inet_hashinfo *hashinfo, struct sk_buff *skb, ...@@ -978,7 +978,7 @@ void inet_diag_dump_icsk(struct inet_hashinfo *hashinfo, struct sk_buff *skb,
EXPORT_SYMBOL_GPL(inet_diag_dump_icsk); EXPORT_SYMBOL_GPL(inet_diag_dump_icsk);
static int __inet_diag_dump(struct sk_buff *skb, struct netlink_callback *cb, static int __inet_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
struct inet_diag_req_v2 *r, const struct inet_diag_req_v2 *r,
struct nlattr *bc) struct nlattr *bc)
{ {
const struct inet_diag_handler *handler; const struct inet_diag_handler *handler;
......
...@@ -34,13 +34,13 @@ static void tcp_diag_get_info(struct sock *sk, struct inet_diag_msg *r, ...@@ -34,13 +34,13 @@ static void tcp_diag_get_info(struct sock *sk, struct inet_diag_msg *r,
} }
static void tcp_diag_dump(struct sk_buff *skb, struct netlink_callback *cb, static void tcp_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
struct inet_diag_req_v2 *r, struct nlattr *bc) const struct inet_diag_req_v2 *r, struct nlattr *bc)
{ {
inet_diag_dump_icsk(&tcp_hashinfo, skb, cb, r, bc); inet_diag_dump_icsk(&tcp_hashinfo, skb, cb, r, bc);
} }
static int tcp_diag_dump_one(struct sk_buff *in_skb, const struct nlmsghdr *nlh, static int tcp_diag_dump_one(struct sk_buff *in_skb, const struct nlmsghdr *nlh,
struct inet_diag_req_v2 *req) const struct inet_diag_req_v2 *req)
{ {
return inet_diag_dump_one_icsk(&tcp_hashinfo, in_skb, nlh, req); return inet_diag_dump_one_icsk(&tcp_hashinfo, in_skb, nlh, req);
} }
......
...@@ -18,8 +18,9 @@ ...@@ -18,8 +18,9 @@
#include <linux/sock_diag.h> #include <linux/sock_diag.h>
static int sk_diag_dump(struct sock *sk, struct sk_buff *skb, static int sk_diag_dump(struct sock *sk, struct sk_buff *skb,
struct netlink_callback *cb, struct inet_diag_req_v2 *req, struct netlink_callback *cb,
struct nlattr *bc) const struct inet_diag_req_v2 *req,
struct nlattr *bc)
{ {
if (!inet_diag_bc_sk(bc, sk)) if (!inet_diag_bc_sk(bc, sk))
return 0; return 0;
...@@ -31,7 +32,8 @@ static int sk_diag_dump(struct sock *sk, struct sk_buff *skb, ...@@ -31,7 +32,8 @@ static int sk_diag_dump(struct sock *sk, struct sk_buff *skb,
} }
static int udp_dump_one(struct udp_table *tbl, struct sk_buff *in_skb, static int udp_dump_one(struct udp_table *tbl, struct sk_buff *in_skb,
const struct nlmsghdr *nlh, struct inet_diag_req_v2 *req) const struct nlmsghdr *nlh,
const struct inet_diag_req_v2 *req)
{ {
int err = -EINVAL; int err = -EINVAL;
struct sock *sk; struct sock *sk;
...@@ -90,8 +92,9 @@ static int udp_dump_one(struct udp_table *tbl, struct sk_buff *in_skb, ...@@ -90,8 +92,9 @@ static int udp_dump_one(struct udp_table *tbl, struct sk_buff *in_skb,
return err; return err;
} }
static void udp_dump(struct udp_table *table, struct sk_buff *skb, struct netlink_callback *cb, static void udp_dump(struct udp_table *table, struct sk_buff *skb,
struct inet_diag_req_v2 *r, struct nlattr *bc) struct netlink_callback *cb,
const struct inet_diag_req_v2 *r, struct nlattr *bc)
{ {
int num, s_num, slot, s_slot; int num, s_num, slot, s_slot;
struct net *net = sock_net(skb->sk); struct net *net = sock_net(skb->sk);
...@@ -144,13 +147,13 @@ static void udp_dump(struct udp_table *table, struct sk_buff *skb, struct netlin ...@@ -144,13 +147,13 @@ static void udp_dump(struct udp_table *table, struct sk_buff *skb, struct netlin
} }
static void udp_diag_dump(struct sk_buff *skb, struct netlink_callback *cb, static void udp_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
struct inet_diag_req_v2 *r, struct nlattr *bc) const struct inet_diag_req_v2 *r, struct nlattr *bc)
{ {
udp_dump(&udp_table, skb, cb, r, bc); udp_dump(&udp_table, skb, cb, r, bc);
} }
static int udp_diag_dump_one(struct sk_buff *in_skb, const struct nlmsghdr *nlh, static int udp_diag_dump_one(struct sk_buff *in_skb, const struct nlmsghdr *nlh,
struct inet_diag_req_v2 *req) const struct inet_diag_req_v2 *req)
{ {
return udp_dump_one(&udp_table, in_skb, nlh, req); return udp_dump_one(&udp_table, in_skb, nlh, req);
} }
...@@ -170,13 +173,14 @@ static const struct inet_diag_handler udp_diag_handler = { ...@@ -170,13 +173,14 @@ static const struct inet_diag_handler udp_diag_handler = {
}; };
static void udplite_diag_dump(struct sk_buff *skb, struct netlink_callback *cb, static void udplite_diag_dump(struct sk_buff *skb, struct netlink_callback *cb,
struct inet_diag_req_v2 *r, struct nlattr *bc) const struct inet_diag_req_v2 *r,
struct nlattr *bc)
{ {
udp_dump(&udplite_table, skb, cb, r, bc); udp_dump(&udplite_table, skb, cb, r, bc);
} }
static int udplite_diag_dump_one(struct sk_buff *in_skb, const struct nlmsghdr *nlh, static int udplite_diag_dump_one(struct sk_buff *in_skb, const struct nlmsghdr *nlh,
struct inet_diag_req_v2 *req) const struct inet_diag_req_v2 *req)
{ {
return udp_dump_one(&udplite_table, in_skb, nlh, req); return udp_dump_one(&udplite_table, in_skb, nlh, req);
} }
......
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