[NETLINK]: Directly return -EINTR from netlink_dump_start()
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / net / netlink / af_netlink.c
index 1823b7c6315634ad9e2701652e81a0bf973d96c8..2cbf1682f63d5394fe04aef919b8905caf6bc045 100644 (file)
@@ -1426,7 +1426,12 @@ int netlink_dump_start(struct sock *ssk, struct sk_buff *skb,
 
        netlink_dump(sk);
        sock_put(sk);
-       return 0;
+
+       /* We successfully started a dump, by returning -EINTR we
+        * signal the queue mangement to interrupt processing of
+        * any netlink messages so userspace gets a chance to read
+        * the results. */
+       return -EINTR;
 }
 
 void netlink_ack(struct sk_buff *in_skb, struct nlmsghdr *nlh, int err)