Re: [PATCH rdma-next v2 3/7] RDMA/ucma: Extend ucma_connect to receive ECE parameters

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

 



On Mon, May 25, 2020 at 03:15:34PM -0300, Jason Gunthorpe wrote:
> On Mon, May 25, 2020 at 08:47:39PM +0300, Leon Romanovsky wrote:
> > On Mon, May 25, 2020 at 02:41:41PM -0300, Jason Gunthorpe wrote:
> > > On Mon, Apr 13, 2020 at 05:15:34PM +0300, Leon Romanovsky wrote:
> > >
> > > > -	if (copy_from_user(&cmd, inbuf, sizeof(cmd)))
> > > > +	in_size = min_t(size_t, in_len, sizeof(cmd));
> > > > +	if (copy_from_user(&cmd, inbuf, in_size))
> > > >  		return -EFAULT;
> > > >
> > > >  	if (!cmd.conn_param.valid)
> > > > @@ -1086,8 +1089,13 @@ static ssize_t ucma_connect(struct ucma_file *file, const char __user *inbuf,
> > > >  		return PTR_ERR(ctx);
> > > >
> > > >  	ucma_copy_conn_param(ctx->cm_id, &conn_param, &cmd.conn_param);
> > > > +	if (offsetofend(typeof(cmd), ece) <= in_size) {
> > > > +		ece.vendor_id = cmd.ece.vendor_id;
> > > > +		ece.attr_mod = cmd.ece.attr_mod;
> > > > +	}
> > >
> > > The uapi changes in the prior patch should be placed in the patches
> > > that actually implement them, eg one here..
> >
> > I wanted to simplify the series and keep its bisectable at the same
> > time. Should I squash them?
>
> Yes, the two structs should be introduced in the patches that populate
> them, that is the usual wy.
>
> > > > diff --git a/include/rdma/rdma_cm.h b/include/rdma/rdma_cm.h
> > > > index 71f48cfdc24c..86a849214c84 100644
> > > > +++ b/include/rdma/rdma_cm.h
> > > > @@ -264,6 +264,17 @@ int rdma_init_qp_attr(struct rdma_cm_id *id, struct ib_qp_attr *qp_attr,
> > > >   */
> > > >  int rdma_connect(struct rdma_cm_id *id, struct rdma_conn_param *conn_param);
> > > >
> > > > +/**
> > > > + * rdma_connect_ece - Initiate an active connection request with ECE data.
> > > > + * @id: Connection identifier to connect.
> > > > + * @conn_param: Connection information used for connected QPs.
> > > > + * @ece: ECE parameters
> > > > + *
> > > > + * See rdma_connect() explanation.
> > > > + */
> > > > +int rdma_connect_ece(struct rdma_cm_id *id, struct rdma_conn_param *conn_param,
> > > > +		     struct rdma_ucm_ece *ece);
> > >
> > > kdoc's go in the C files
> >
> > I know, but didn't know if to follow existing pattern or not.
>
> I've been of the opinion that new code should follow the expected
> style.
>
> Trying to keep some huge matrix of certain files have certain legacy
> exceptions is too hard on my brain.

No problem I'll sent new version tomorrow.

Thanks

>
> Jason



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux