[NET] pktgen: Fix races between control/worker threads.
authorArthur Kepner <akepner@sgi.com>
Tue, 21 Mar 2006 05:26:56 +0000 (21:26 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 21 Mar 2006 05:26:56 +0000 (21:26 -0800)
commit95ed63f791656fc19e36ae68bc328e367958c76b
treedbee5227c99677c35874e0b522f6b84df262cf63
parent4bf07ef3fd5db2df7d1899fcf9c67d2263ead2e2
[NET] pktgen: Fix races between control/worker threads.

There's a race in pktgen which can lead to a double
free of a pktgen_dev's skb. If a worker thread is in
the midst of doing fill_packet(), and the controlling
thread gets a "stop" message, the already freed skb
can be freed once again in pktgen_stop_device(). This
patch gives all responsibility for cleaning up a
pktgen_dev's skb to the associated worker thread.

Signed-off-by: Arthur Kepner <akepner@sgi.com>
Acked-by: Robert Olsson <Robert.Olsson@data.slu.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/pktgen.c