Loading net/rds/message.c +0 −2 Original line number Original line Diff line number Diff line Loading @@ -330,8 +330,6 @@ int rds_message_copy_from_user(struct rds_message *rm, struct iovec *first_iov, sg++; sg++; } } rm->data.op_active = 1; out: out: return ret; return ret; } } Loading net/rds/send.c +8 −5 Original line number Original line Diff line number Diff line Loading @@ -970,11 +970,14 @@ int rds_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, goto out; goto out; } } /* Attach data to the rm */ if (payload_len) { rm->data.op_sg = rds_message_alloc_sgs(rm, ceil(payload_len, PAGE_SIZE)); rm->data.op_sg = rds_message_alloc_sgs(rm, ceil(payload_len, PAGE_SIZE)); /* XXX fix this to not allocate memory */ ret = rds_message_copy_from_user(rm, msg->msg_iov, payload_len); ret = rds_message_copy_from_user(rm, msg->msg_iov, payload_len); if (ret) if (ret) goto out; goto out; } rm->data.op_active = 1; rm->m_daddr = daddr; rm->m_daddr = daddr; Loading Loading
net/rds/message.c +0 −2 Original line number Original line Diff line number Diff line Loading @@ -330,8 +330,6 @@ int rds_message_copy_from_user(struct rds_message *rm, struct iovec *first_iov, sg++; sg++; } } rm->data.op_active = 1; out: out: return ret; return ret; } } Loading
net/rds/send.c +8 −5 Original line number Original line Diff line number Diff line Loading @@ -970,11 +970,14 @@ int rds_sendmsg(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, goto out; goto out; } } /* Attach data to the rm */ if (payload_len) { rm->data.op_sg = rds_message_alloc_sgs(rm, ceil(payload_len, PAGE_SIZE)); rm->data.op_sg = rds_message_alloc_sgs(rm, ceil(payload_len, PAGE_SIZE)); /* XXX fix this to not allocate memory */ ret = rds_message_copy_from_user(rm, msg->msg_iov, payload_len); ret = rds_message_copy_from_user(rm, msg->msg_iov, payload_len); if (ret) if (ret) goto out; goto out; } rm->data.op_active = 1; rm->m_daddr = daddr; rm->m_daddr = daddr; Loading