]> git.karo-electronics.de Git - karo-tx-linux.git/commit
Fix ipv4 routing locking bug
authorAlexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Fri, 18 Aug 2006 05:57:22 +0000 (22:57 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 23 Aug 2006 21:13:32 +0000 (14:13 -0700)
commit67ce628f410668c5ddee2f4c7424a1bd8a8fc64b
treeeddf6973cdf6baa90c28ee2c90262642224ff42f
parent8833ebaa3f4325820fe3338ccf6fae04f6669254
Fix ipv4 routing locking bug

[IPV4]: severe locking bug in fib_semantics.c

Found in 2.4 by Yixin Pan <yxpan@hotmail.com>.

> When I read fib_semantics.c of Linux-2.4.32, write_lock(&fib_info_lock) =
> is used in fib_release_info() instead of write_lock_bh(&fib_info_lock).  =
> Is the following case possible: a BH interrupts fib_release_info() while =
> holding the write lock, and calls ip_check_fib_default() which calls =
> read_lock(&fib_info_lock), and spin forever.

Signed-off-by: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/ipv4/fib_semantics.c