diff options
Diffstat (limited to 'net/rds/send.c')
| -rw-r--r-- | net/rds/send.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/rds/send.c b/net/rds/send.c index 0bc9db17a87d..35b9c2e9caf1 100644 --- a/net/rds/send.c +++ b/net/rds/send.c | |||
| @@ -973,6 +973,10 @@ int rds_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, | |||
| 973 | /* Attach data to the rm */ | 973 | /* Attach data to the rm */ |
| 974 | if (payload_len) { | 974 | if (payload_len) { |
| 975 | rm->data.op_sg = rds_message_alloc_sgs(rm, ceil(payload_len, PAGE_SIZE)); | 975 | rm->data.op_sg = rds_message_alloc_sgs(rm, ceil(payload_len, PAGE_SIZE)); |
| 976 | if (!rm->data.op_sg) { | ||
| 977 | ret = -ENOMEM; | ||
| 978 | goto out; | ||
| 979 | } | ||
| 976 | ret = rds_message_copy_from_user(rm, msg->msg_iov, payload_len); | 980 | ret = rds_message_copy_from_user(rm, msg->msg_iov, payload_len); |
| 977 | if (ret) | 981 | if (ret) |
| 978 | goto out; | 982 | goto out; |
