[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1272034539-19899-2-git-send-email-danms@us.ibm.com>
Date: Fri, 23 Apr 2010 07:55:36 -0700
From: Dan Smith <danms@...ibm.com>
To: containers@...ts.osdl.org
Cc: netdev@...r.kernel.org
Subject: [PATCH 1/4] Fix acquiring socket lock before reading RTNETLINK response
Signed-off-by: Dan Smith <danms@...ibm.com>
---
net/checkpoint_dev.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/net/checkpoint_dev.c b/net/checkpoint_dev.c
index 7ccb899..2787892 100644
--- a/net/checkpoint_dev.c
+++ b/net/checkpoint_dev.c
@@ -136,11 +136,12 @@ static struct nlmsghdr *rtnl_get_response(struct socket *rtnl,
*skb = NULL;
+ lock_sock(rtnl->sk);
ret = sk_wait_data(rtnl->sk, &timeo);
- if (!ret)
- return ERR_PTR(-EPIPE);
+ if (ret)
+ *skb = skb_dequeue(&rtnl->sk->sk_receive_queue);
+ release_sock(rtnl->sk);
- *skb = skb_dequeue(&rtnl->sk->sk_receive_queue);
if (!*skb)
return ERR_PTR(-EPIPE);
--
1.6.2.5
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists