diff options
author | Alex Shi <alex.shi@linaro.org> | 2016-01-14 22:31:37 +0800 |
---|---|---|
committer | Alex Shi <alex.shi@linaro.org> | 2016-01-14 22:31:37 +0800 |
commit | fef6c6c09f13ef1f58fd841a08da53c6a8651bdf (patch) | |
tree | be9c6b6f79e17be67ad3b91c0ff9d78ab8759910 /net/rds | |
parent | 9fc740e49155dd8d77a7a51f8657825e9aa29826 (diff) | |
parent | 039b7fca24dba50c09e60b23494ba3c4d19aac7d (diff) |
Merge branch 'linux-linaro-lsk-v4.1' into linux-linaro-lsk-v4.1-android
Diffstat (limited to 'net/rds')
-rw-r--r-- | net/rds/connection.c | 6 | ||||
-rw-r--r-- | net/rds/send.c | 4 |
2 files changed, 3 insertions, 7 deletions
diff --git a/net/rds/connection.c b/net/rds/connection.c index 9d66705f9d41..da6da57e5f36 100644 --- a/net/rds/connection.c +++ b/net/rds/connection.c @@ -187,12 +187,6 @@ new_conn: } } - if (trans == NULL) { - kmem_cache_free(rds_conn_slab, conn); - conn = ERR_PTR(-ENODEV); - goto out; - } - conn->c_trans = trans; ret = trans->conn_alloc(conn, gfp); diff --git a/net/rds/send.c b/net/rds/send.c index e9430f537f9c..7b30c0f3180d 100644 --- a/net/rds/send.c +++ b/net/rds/send.c @@ -986,11 +986,13 @@ int rds_sendmsg(struct socket *sock, struct msghdr *msg, size_t payload_len) 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); |