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

Michael S. Tsirkin mst at mellanox.co.il
Wed Nov 2 14:03:58 PST 2005


Hello, Roland!
Quoting Roland Dreier <rolandd at cisco.com>:
> +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



More information about the general mailing list