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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello, Roland!
Quoting Roland Dreier <[email protected]>:
> +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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux