diff options
Diffstat (limited to 'net/xfrm/xfrm_user.c')
-rw-r--r-- | net/xfrm/xfrm_user.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index 5238f6a8dfad..d41588d101d0 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c | |||
@@ -1895,16 +1895,11 @@ static int xfrm_user_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh) | |||
1895 | return link->doit(skb, nlh, attrs); | 1895 | return link->doit(skb, nlh, attrs); |
1896 | } | 1896 | } |
1897 | 1897 | ||
1898 | static void xfrm_netlink_rcv(struct sock *sk, int len) | 1898 | static void xfrm_netlink_rcv(struct sk_buff *skb) |
1899 | { | 1899 | { |
1900 | unsigned int qlen = 0; | 1900 | mutex_lock(&xfrm_cfg_mutex); |
1901 | 1901 | netlink_rcv_skb(skb, &xfrm_user_rcv_msg); | |
1902 | do { | 1902 | mutex_unlock(&xfrm_cfg_mutex); |
1903 | mutex_lock(&xfrm_cfg_mutex); | ||
1904 | qlen = netlink_run_queue(sk, qlen, &xfrm_user_rcv_msg); | ||
1905 | mutex_unlock(&xfrm_cfg_mutex); | ||
1906 | |||
1907 | } while (qlen); | ||
1908 | } | 1903 | } |
1909 | 1904 | ||
1910 | static inline size_t xfrm_expire_msgsize(void) | 1905 | static inline size_t xfrm_expire_msgsize(void) |