]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
[IPV4]: severe locking bug in fib_semantics.c
authorAlexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Thu, 14 Dec 2006 21:28:51 +0000 (22:28 +0100)
committerAdrian Bunk <bunk@stusta.de>
Thu, 14 Dec 2006 21:28:51 +0000 (22:28 +0100)
commit2a9d7dbf7566a36221b4066e57f4c3212bff1ef0
tree5d77b44e9394bd0e10b66681792af18d52540636
parent594834bc754f243ddc3d16b9cac354702101c719
[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: Adrian Bunk <bunk@stusta.de>
net/ipv4/fib_semantics.c