Fix routing table locking in rose_remove_neigh.
Subsystems (2)
The locking rule for rose_remove_neigh() are that the called needs to hold rose_neigh_list_lock, so we better don't take it yet again in rose_neigh_list_lock.
Signed-off-by Ralf Baechle <[email protected]>
net/rose/rose_route.c | 5 ----- 1 file changed, 5 deletions(-)
net/rose/rose_route.c +0 -5
@@ -233,11 +233,8 @@ static void rose_remove_neigh(struct rosskb_queue_purge (&rose_neigh->queue); -spin_lock_bh (&rose_neigh_list_lock); -if ((s = rose_neigh_list) == rose_neigh) { rose_neigh_list = rose_neigh->next; -spin_unlock_bh (&rose_neigh_list_lock);kfree (rose_neigh->digipeat);kfree (rose_neigh);return ;
@@ -246,7 +243,6 @@ static void rose_remove_neigh(struct roswhile (s !=NULL && s->next !=NULL ) {if (s->next == rose_neigh) { s->next = rose_neigh->next; -spin_unlock_bh (&rose_neigh_list_lock);kfree (rose_neigh->digipeat);kfree (rose_neigh);return ;
@@ -254,7 +250,6 @@ static void rose_remove_neigh(struct ros s = s->next; } -spin_unlock_bh (&rose_neigh_list_lock); }/*
Quoted 5 lines · Ralf Baechle
The locking rule for
rose_remove_neigh()are that the called needs to holdrose_neigh_list_lock, so we better don't take it yet again inrose_neigh_list_lock.Signed-off-by Ralf Baechle <[email protected]>
All ROSE and HZ patches applied to kernel 2.6.16
Many thanks Ralf.
73 de Bernard, f6bvp
http://f6bvp.org
http://rose.fpac.free.fr/MINI-HOWTO/
http://rose.fpac.free.fr/MINI-HOWTO-FR/
From: Ralf Baechle <[email protected]>
Date: Sat, 29 Apr 2006 14:31:41 +0100
Quoted 5 lines
The locking rule for
rose_remove_neigh()are that the called needs to holdrose_neigh_list_lock, so we better don't take it yet again inrose_neigh_list_lock.Signed-off-by Ralf Baechle <[email protected]>
Applied, thanks.