X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=net%2Fipv4%2Fraw.c;h=36035a0c6dc27668638b2fd4597f26cc476cf950;hb=7d06b2e053d2d536348e3a0f6bb02982a41bea37;hp=fead049daf4399b94d6e8322ac7aa1e25b17999f;hpb=f42a44494bcdf03fc851c03d438464d59c0ceaf5;p=firefly-linux-kernel-4.4.55.git diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c index fead049daf43..36035a0c6dc2 100644 --- a/net/ipv4/raw.c +++ b/net/ipv4/raw.c @@ -5,8 +5,6 @@ * * RAW - implementation of IP "raw" sockets. * - * Version: $Id: raw.c,v 1.64 2002/02/01 22:01:04 davem Exp $ - * * Authors: Ross Biro * Fred N. van Kempen, * @@ -608,6 +606,13 @@ static void raw_close(struct sock *sk, long timeout) sk_common_release(sk); } +static void raw_destroy(struct sock *sk) +{ + lock_sock(sk); + ip_flush_pending_frames(sk); + release_sock(sk); +} + /* This gets rid of all the nasties in af_inet. -DaveM */ static int raw_bind(struct sock *sk, struct sockaddr *uaddr, int addr_len) { @@ -820,6 +825,7 @@ struct proto raw_prot = { .name = "RAW", .owner = THIS_MODULE, .close = raw_close, + .destroy = raw_destroy, .connect = ip4_datagram_connect, .disconnect = udp_disconnect, .ioctl = raw_ioctl,