]> git.baikalelectronics.ru Git - kernel.git/commit
netlabel: Fix several rcu_dereference() calls used without RCU read locks
authorPaul Moore <paul.moore@hp.com>
Thu, 1 Apr 2010 10:43:57 +0000 (10:43 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 2 Apr 2010 01:32:08 +0000 (18:32 -0700)
commit67c08439e5fd229c85ece227634fcf5e48c7ad34
tree813a4aeedd6594700a35f2fbf18754dae96edd55
parent887d989fc1e7ff76cf6823bd0b602ad2ad49a991
netlabel: Fix several rcu_dereference() calls used without RCU read locks

The recent changes to add RCU lock verification to rcu_dereference() calls
caught out a problem with netlbl_unlhsh_hash(), see below.

 ===================================================
 [ INFO: suspicious rcu_dereference_check() usage. ]
 ---------------------------------------------------
 net/netlabel/netlabel_unlabeled.c:246 invoked rcu_dereference_check()
 without protection!

This patch fixes this problem as well as others like it in the NetLabel
code.  Also included in this patch is the identification of future work
to eliminate the RCU read lock in netlbl_domhsh_add(), but in the interest
of getting this patch out quickly that work will happen in another patch
to be finished later.

Thanks to Eric Dumazet and Paul McKenney for their help in understanding
the recent RCU changes.

Signed-off-by: Paul Moore <paul.moore@hp.com>
Reported-by: David Howells <dhowells@redhat.com>
CC: Eric Dumazet <eric.dumazet@gmail.com>
CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/netlabel/netlabel_domainhash.c
net/netlabel/netlabel_unlabeled.c