netlink: disable IRQs for netlink_lock_table()
[sfrench/cifs-2.6.git] / net / netlink / af_netlink.c
index 3a62f97acf39d11a18547308a2f375eb5f37abaa..6133e412b948c4cd3373d249bd5c29f917ba4322 100644 (file)
@@ -461,11 +461,13 @@ void netlink_table_ungrab(void)
 static inline void
 netlink_lock_table(void)
 {
+       unsigned long flags;
+
        /* read_lock() synchronizes us to netlink_table_grab */
 
-       read_lock(&nl_table_lock);
+       read_lock_irqsave(&nl_table_lock, flags);
        atomic_inc(&nl_table_users);
-       read_unlock(&nl_table_lock);
+       read_unlock_irqrestore(&nl_table_lock, flags);
 }
 
 static inline void