提交 86b1309c 编写于 作者: P Pravin B Shelar 提交者: Jesse Gross

genetlink: Add lockdep_genl_is_held().

Open vSwitch uses genl_mutex locking to protect datapath
data-structures like flow-table, flow-actions. Following patch adds
lockdep_genl_is_held() which is used for rcu annotation to prove
locking.
Signed-off-by: NPravin B Shelar <pshelar@nicira.com>
Signed-off-by: NJesse Gross <jesse@nicira.com>
上级 263ba61d
...@@ -85,6 +85,9 @@ enum { ...@@ -85,6 +85,9 @@ enum {
/* All generic netlink requests are serialized by a global lock. */ /* All generic netlink requests are serialized by a global lock. */
extern void genl_lock(void); extern void genl_lock(void);
extern void genl_unlock(void); extern void genl_unlock(void);
#ifdef CONFIG_PROVE_LOCKING
extern int lockdep_genl_is_held(void);
#endif
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -33,6 +33,14 @@ void genl_unlock(void) ...@@ -33,6 +33,14 @@ void genl_unlock(void)
} }
EXPORT_SYMBOL(genl_unlock); EXPORT_SYMBOL(genl_unlock);
#ifdef CONFIG_PROVE_LOCKING
int lockdep_genl_is_held(void)
{
return lockdep_is_held(&genl_mutex);
}
EXPORT_SYMBOL(lockdep_genl_is_held);
#endif
#define GENL_FAM_TAB_SIZE 16 #define GENL_FAM_TAB_SIZE 16
#define GENL_FAM_TAB_MASK (GENL_FAM_TAB_SIZE - 1) #define GENL_FAM_TAB_MASK (GENL_FAM_TAB_SIZE - 1)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册