Re: [PATCH/RFC v2] IB: Add SCSI RDMA Protocol (SRP) initiator

From: Michael S. Tsirkin
Date: Wed Nov 02 2005 - 17:01:10 EST


Hello, Roland!
Quoting Roland Dreier <rolandd@xxxxxxxxx>:
> +static int srp_init_qp(struct srp_target_port *target,
> + struct ib_qp *qp)
> +{
> + struct ib_qp_attr *attr;
> + int ret;
> +
> + attr = kmalloc(sizeof *attr, GFP_KERNEL);
> + if (!attr)
> + return -ENOMEM;
> +
> + ret = ib_find_cached_pkey(target->srp_host->dev,
> + target->srp_host->port,
> + be16_to_cpu(target->path.pkey),
> + &attr->pkey_index);
> + if (ret)
> + return ret;
> +
> + attr->qp_state = IB_QPS_INIT;
> + attr->qp_access_flags = (IB_ACCESS_REMOTE_READ |
> + IB_ACCESS_REMOTE_WRITE);
> + attr->port_num = target->srp_host->port;
> +
> + return ib_modify_qp(qp, attr,
> + IB_QP_STATE |
> + IB_QP_PKEY_INDEX |
> + IB_QP_ACCESS_FLAGS |
> + IB_QP_PORT);
> +}

This seems to leak sizeof *attr bytes if ib_find_cached_pkey
returns an error.

--
MST
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/