diff options
author | Daniel Borkmann <dborkman@redhat.com> | 2013-03-28 18:48:25 +0100 |
---|---|---|
committer | Daniel Borkmann <dborkman@redhat.com> | 2013-03-28 18:48:25 +0100 |
commit | 367efea8c9ba557a81158a69ecee267706a520eb (patch) | |
tree | 461ddf127e076a99d792e59006fd599ad1704c01 /ring_tx.c | |
parent | b55fde49e9f3e772b62e175cdbbec8f9fcc77567 (diff) |
ring: purge timer before we unmap tx ring buffers
If we unmap TX ring buffers and still have timer shots that trigger
the kernel to traverse the TX_RING, it can send out random crap in
some situations. Prevent this by destroying the timer and flush the
TX_RING first in wait mode.
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Diffstat (limited to 'ring_tx.c')
-rw-r--r-- | ring_tx.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -40,7 +40,7 @@ void destroy_tx_ring(int sock, struct ring *ring) ret = setsockopt(sock, SOL_PACKET, PACKET_TX_RING, &ring->layout, sizeof(ring->layout)); if (unlikely(ret)) - panic("Cannot destroy the TX_RING!\n"); + panic("Cannot destroy the TX_RING: %s!\n", strerror(errno)); xfree(ring->frames); } |