diff options
Diffstat (limited to 'net/packet/af_packet.c')
| -rw-r--r-- | net/packet/af_packet.c | 10 | 
1 files changed, 6 insertions, 4 deletions
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index e639645e8fe..c111bd0e083 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -2361,13 +2361,15 @@ static int packet_release(struct socket *sock)  	packet_flush_mclist(sk); -	memset(&req_u, 0, sizeof(req_u)); - -	if (po->rx_ring.pg_vec) +	if (po->rx_ring.pg_vec) { +		memset(&req_u, 0, sizeof(req_u));  		packet_set_ring(sk, &req_u, 1, 0); +	} -	if (po->tx_ring.pg_vec) +	if (po->tx_ring.pg_vec) { +		memset(&req_u, 0, sizeof(req_u));  		packet_set_ring(sk, &req_u, 1, 1); +	}  	fanout_release(sk);  |