|
@@ -607,6 +607,10 @@ int rds_cmsg_rdma_args(struct rds_sock *rs, struct rds_message *rm,
|
|
|
op->op_recverr = rs->rs_recverr;
|
|
|
WARN_ON(!nr_pages);
|
|
|
op->op_sg = rds_message_alloc_sgs(rm, nr_pages);
|
|
|
+ if (!op->op_sg) {
|
|
|
+ ret = -ENOMEM;
|
|
|
+ goto out;
|
|
|
+ }
|
|
|
|
|
|
if (op->op_notify || op->op_recverr) {
|
|
|
/* We allocate an uninitialized notifier here, because
|
|
@@ -807,6 +811,10 @@ int rds_cmsg_atomic(struct rds_sock *rs, struct rds_message *rm,
|
|
|
rm->atomic.op_active = 1;
|
|
|
rm->atomic.op_recverr = rs->rs_recverr;
|
|
|
rm->atomic.op_sg = rds_message_alloc_sgs(rm, 1);
|
|
|
+ if (!rm->atomic.op_sg) {
|
|
|
+ ret = -ENOMEM;
|
|
|
+ goto err;
|
|
|
+ }
|
|
|
|
|
|
/* verify 8 byte-aligned */
|
|
|
if (args->local_addr & 0x7) {
|