Skip to content

Commit

Permalink
ipv6: udp: remove udp_v6_clear_sk()
Browse files Browse the repository at this point in the history
Now RCU lookups of ipv6 udp sockets no longer dereference
pinet6 field, we can get rid of udp_v6_clear_sk() helper.

Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
Eric Dumazet authored and davem330 committed Aug 24, 2016
1 parent 5d77dca commit 6a6ad2a
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 15 deletions.
12 changes: 0 additions & 12 deletions net/ipv6/udp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1424,17 +1424,6 @@ void udp6_proc_exit(struct net *net)
}
#endif /* CONFIG_PROC_FS */

void udp_v6_clear_sk(struct sock *sk, int size)
{
struct inet_sock *inet = inet_sk(sk);

/* we do not want to clear pinet6 field, because of RCU lookups */
sk_prot_clear_portaddr_nulls(sk, offsetof(struct inet_sock, pinet6));

size -= offsetof(struct inet_sock, pinet6) + sizeof(inet->pinet6);
memset(&inet->pinet6 + 1, 0, size);
}

/* ------------------------------------------------------------------------ */

struct proto udpv6_prot = {
Expand Down Expand Up @@ -1466,7 +1455,6 @@ struct proto udpv6_prot = {
.compat_setsockopt = compat_udpv6_setsockopt,
.compat_getsockopt = compat_udpv6_getsockopt,
#endif
.clear_sk = udp_v6_clear_sk,
.diag_destroy = udp_abort,
};

Expand Down
2 changes: 0 additions & 2 deletions net/ipv6/udp_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ int udpv6_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int noblock,
int udpv6_queue_rcv_skb(struct sock *sk, struct sk_buff *skb);
void udpv6_destroy_sock(struct sock *sk);

void udp_v6_clear_sk(struct sock *sk, int size);

#ifdef CONFIG_PROC_FS
int udp6_seq_show(struct seq_file *seq, void *v);
#endif
Expand Down
2 changes: 1 addition & 1 deletion net/ipv6/udplite.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ struct proto udplitev6_prot = {
.compat_setsockopt = compat_udpv6_setsockopt,
.compat_getsockopt = compat_udpv6_getsockopt,
#endif
.clear_sk = udp_v6_clear_sk,
.clear_sk = sk_prot_clear_portaddr_nulls,
};

static struct inet_protosw udplite6_protosw = {
Expand Down

0 comments on commit 6a6ad2a

Please sign in to comment.