Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 476eab82 authored by Octavian Purdila's avatar Octavian Purdila Committed by David S. Miller
Browse files

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: default avatarOctavian Purdila <octavian.purdila@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent aa27fc50
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -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;
+4 −2
Original line number Diff line number Diff line
@@ -88,8 +88,10 @@ struct inet_request_sock {
				acked	   : 1,
				no_srccheck: 1;
	kmemcheck_bitfield_end(flags);
	union {
		struct ip_options_rcu	*opt;
		struct sk_buff		*pktopts;
	};
	u32                     ir_mark;
};

+1 −1
Original line number Diff line number Diff line
@@ -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;

+1 −1
Original line number Diff line number Diff line
@@ -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;

+1 −1
Original line number Diff line number Diff line
@@ -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;