diff options
author | Alex Shi <alex.shi@linaro.org> | 2016-03-14 14:18:50 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2016-03-14 14:18:50 +0800 |
commit | 5af6a242945e39bf6ea39716d4eba316b735dce8 (patch) | |
tree | 35363a04680e1618f6ed1c2b4eafbbc3d59ef048 /net/rds/send.c | |
parent | 7eff2ffe05a8b2c6c83a4f511ac6c31c858e3048 (diff) | |
parent | 34e0913e457f8469667faf5fa600447aa93371cf (diff) |
Merge branch 'linux-linaro-lsk-v3.14' into linux-linaro-lsk-v3.14-android
Diffstat (limited to 'net/rds/send.c')
-rw-r--r-- | net/rds/send.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/rds/send.c b/net/rds/send.c index a82fb660ec00..44222c0607c7 100644 --- a/net/rds/send.c +++ b/net/rds/send.c @@ -955,11 +955,13 @@ int rds_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, release_sock(sk); } - /* racing with another thread binding seems ok here */ + lock_sock(sk); if (daddr == 0 || rs->rs_bound_addr == 0) { + release_sock(sk); ret = -ENOTCONN; /* XXX not a great errno */ goto out; } + release_sock(sk); /* size of rm including all sgs */ ret = rds_rm_size(msg, payload_len); |