net sched: fix race in mirred device removal
authorstephen hemminger <shemminger@vyatta.com>
Thu, 22 Jul 2010 18:45:04 +0000 (18:45 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 25 Jul 2010 04:04:20 +0000 (21:04 -0700)
This fixes hang when target device of mirred packet classifier
action is removed.

If a mirror or redirection action is configured to cause packets
to go to another device, the classifier holds a ref count, but was assuming
the adminstrator cleaned up all redirections before removing. The fix
is to add a notifier and cleanup during unregister.

The new list is implicitly protected by RTNL mutex because
it is held during filter add/delete as well as notifier.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Jamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>

No differences found