Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 233834
b: refs/heads/master
c: b44d211
h: refs/heads/master
v: v3
  • Loading branch information
Andrey Vagin authored and David S. Miller committed Feb 28, 2011
1 parent 931df9b commit af6909b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: dad3d44dcb054e9d0514fbf65ee4a2d88cf1698f
refs/heads/master: b44d211e166b4b0dae8ce379f9d2e3ac164b5b60
18 changes: 14 additions & 4 deletions trunk/net/netlink/af_netlink.c
Original file line number Diff line number Diff line change
Expand Up @@ -1407,7 +1407,7 @@ static int netlink_recvmsg(struct kiocb *kiocb, struct socket *sock,
int noblock = flags&MSG_DONTWAIT;
size_t copied;
struct sk_buff *skb, *data_skb;
int err;
int err, ret;

if (flags&MSG_OOB)
return -EOPNOTSUPP;
Expand Down Expand Up @@ -1470,8 +1470,13 @@ static int netlink_recvmsg(struct kiocb *kiocb, struct socket *sock,

skb_free_datagram(sk, skb);

if (nlk->cb && atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf / 2)
netlink_dump(sk);
if (nlk->cb && atomic_read(&sk->sk_rmem_alloc) <= sk->sk_rcvbuf / 2) {
ret = netlink_dump(sk);
if (ret) {
sk->sk_err = ret;
sk->sk_error_report(sk);
}
}

scm_recv(sock, msg, siocb->scm, flags);
out:
Expand Down Expand Up @@ -1736,6 +1741,7 @@ int netlink_dump_start(struct sock *ssk, struct sk_buff *skb,
struct netlink_callback *cb;
struct sock *sk;
struct netlink_sock *nlk;
int ret;

cb = kzalloc(sizeof(*cb), GFP_KERNEL);
if (cb == NULL)
Expand Down Expand Up @@ -1764,9 +1770,13 @@ int netlink_dump_start(struct sock *ssk, struct sk_buff *skb,
nlk->cb = cb;
mutex_unlock(nlk->cb_mutex);

netlink_dump(sk);
ret = netlink_dump(sk);

sock_put(sk);

if (ret)
return ret;

/* We successfully started a dump, by returning -EINTR we
* signal not to send ACK even if it was requested.
*/
Expand Down

0 comments on commit af6909b

Please sign in to comment.