diff options
-rw-r--r-- | include/linux/genetlink.h | 8 | ||||
-rw-r--r-- | net/netlink/genetlink.c | 6 |
2 files changed, 12 insertions, 2 deletions
diff --git a/include/linux/genetlink.h b/include/linux/genetlink.h index b834ef6d59fa..61549b26ad6f 100644 --- a/include/linux/genetlink.h +++ b/include/linux/genetlink.h | |||
@@ -80,4 +80,12 @@ enum { | |||
80 | 80 | ||
81 | #define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1) | 81 | #define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1) |
82 | 82 | ||
83 | #ifdef __KERNEL__ | ||
84 | |||
85 | /* All generic netlink requests are serialized by a global lock. */ | ||
86 | extern void genl_lock(void); | ||
87 | extern void genl_unlock(void); | ||
88 | |||
89 | #endif /* __KERNEL__ */ | ||
90 | |||
83 | #endif /* __LINUX_GENERIC_NETLINK_H */ | 91 | #endif /* __LINUX_GENERIC_NETLINK_H */ |
diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c index a4b6e148c5de..a28fda7420d9 100644 --- a/net/netlink/genetlink.c +++ b/net/netlink/genetlink.c | |||
@@ -20,15 +20,17 @@ | |||
20 | 20 | ||
21 | static DEFINE_MUTEX(genl_mutex); /* serialization of message processing */ | 21 | static DEFINE_MUTEX(genl_mutex); /* serialization of message processing */ |
22 | 22 | ||
23 | static inline void genl_lock(void) | 23 | void genl_lock(void) |
24 | { | 24 | { |
25 | mutex_lock(&genl_mutex); | 25 | mutex_lock(&genl_mutex); |
26 | } | 26 | } |
27 | EXPORT_SYMBOL(genl_lock); | ||
27 | 28 | ||
28 | static inline void genl_unlock(void) | 29 | void genl_unlock(void) |
29 | { | 30 | { |
30 | mutex_unlock(&genl_mutex); | 31 | mutex_unlock(&genl_mutex); |
31 | } | 32 | } |
33 | EXPORT_SYMBOL(genl_unlock); | ||
32 | 34 | ||
33 | #define GENL_FAM_TAB_SIZE 16 | 35 | #define GENL_FAM_TAB_SIZE 16 |
34 | #define GENL_FAM_TAB_MASK (GENL_FAM_TAB_SIZE - 1) | 36 | #define GENL_FAM_TAB_MASK (GENL_FAM_TAB_SIZE - 1) |