Eric,

How does attached look instead of the 32K?
I found it helps to let user space suggest something
larger.

cheers,
jamal
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 7b73c7c..bc982ef 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1849,7 +1849,7 @@ static int netlink_recvmsg(struct socket *sock, struct 
msghdr *msg, size_t len,
        /* Record the max length of recvmsg() calls for future allocations */
        nlk->max_recvmsg_len = max(nlk->max_recvmsg_len, len);
        nlk->max_recvmsg_len = min_t(size_t, nlk->max_recvmsg_len,
-                                    SKB_WITH_OVERHEAD(32768));
+                                    sk->sk_rcvbuf / 4);
 
        copied = data_skb->len;
        if (len < copied) {

Reply via email to