mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 21:24:08 +08:00
net: remove inet6_reqsk_alloc
Since pktops is only used for IPv6 only and opts is used for IPv4 only, we can move these fields into a union and this allows us to drop the inet6_reqsk_alloc function as after this change it becomes equivalent with inet_reqsk_alloc. This patch also fixes a kmemcheck issue in the IPv6 stack: the flags field was not annotated after a request_sock was allocated. Signed-off-by: Octavian Purdila <octavian.purdila@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
aa27fc5018
commit
476eab8251
@ -256,16 +256,6 @@ static inline struct ipv6_pinfo * inet6_sk(const struct sock *__sk)
|
||||
return inet_sk(__sk)->pinet6;
|
||||
}
|
||||
|
||||
static inline struct request_sock *inet6_reqsk_alloc(struct request_sock_ops *ops)
|
||||
{
|
||||
struct request_sock *req = reqsk_alloc(ops);
|
||||
|
||||
if (req)
|
||||
inet_rsk(req)->pktopts = NULL;
|
||||
|
||||
return req;
|
||||
}
|
||||
|
||||
static inline struct raw6_sock *raw6_sk(const struct sock *sk)
|
||||
{
|
||||
return (struct raw6_sock *)sk;
|
||||
|
@ -88,8 +88,10 @@ struct inet_request_sock {
|
||||
acked : 1,
|
||||
no_srccheck: 1;
|
||||
kmemcheck_bitfield_end(flags);
|
||||
struct ip_options_rcu *opt;
|
||||
struct sk_buff *pktopts;
|
||||
union {
|
||||
struct ip_options_rcu *opt;
|
||||
struct sk_buff *pktopts;
|
||||
};
|
||||
u32 ir_mark;
|
||||
};
|
||||
|
||||
|
@ -386,7 +386,7 @@ static int dccp_v6_conn_request(struct sock *sk, struct sk_buff *skb)
|
||||
if (sk_acceptq_is_full(sk) && inet_csk_reqsk_queue_young(sk) > 1)
|
||||
goto drop;
|
||||
|
||||
req = inet6_reqsk_alloc(&dccp6_request_sock_ops);
|
||||
req = inet_reqsk_alloc(&dccp6_request_sock_ops);
|
||||
if (req == NULL)
|
||||
goto drop;
|
||||
|
||||
|
@ -187,7 +187,7 @@ struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb)
|
||||
goto out;
|
||||
|
||||
ret = NULL;
|
||||
req = inet6_reqsk_alloc(&tcp6_request_sock_ops);
|
||||
req = inet_reqsk_alloc(&tcp6_request_sock_ops);
|
||||
if (!req)
|
||||
goto out;
|
||||
|
||||
|
@ -1010,7 +1010,7 @@ static int tcp_v6_conn_request(struct sock *sk, struct sk_buff *skb)
|
||||
goto drop;
|
||||
}
|
||||
|
||||
req = inet6_reqsk_alloc(&tcp6_request_sock_ops);
|
||||
req = inet_reqsk_alloc(&tcp6_request_sock_ops);
|
||||
if (req == NULL)
|
||||
goto drop;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user