Re: [PATCH rdma-next 1/2] RDMA/core: Check for verbs callbacks before using them

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

 



On Fri, Jul 13, 2018 at 10:23:19AM -0600, Jason Gunthorpe wrote:
> On Fri, Jul 13, 2018 at 01:26:29PM +0300, Kamal Heib wrote:
> > Make sure the providers implement the verbs callbacks before calling
> > them, otherwise return -EOPNOTSUPP.
> > 
> > Signed-off-by: Kamal Heib <kamalheib1@xxxxxxxxx>
> >  drivers/infiniband/core/mad.c        | 10 ++++++----
> >  drivers/infiniband/core/uverbs_cmd.c |  3 ++-
> >  drivers/infiniband/core/verbs.c      |  6 ++++++
> >  3 files changed, 14 insertions(+), 5 deletions(-)
> > 
> > diff --git a/drivers/infiniband/core/mad.c b/drivers/infiniband/core/mad.c
> > index 34e9b2768324..e528387605c8 100644
> > +++ b/drivers/infiniband/core/mad.c
> > @@ -882,10 +882,12 @@ static int handle_outgoing_dr_smp(struct ib_mad_agent_private *mad_agent_priv,
> >  	}
> >  
> >  	/* No GRH for DR SMP */
> > -	ret = device->process_mad(device, 0, port_num, &mad_wc, NULL,
> > -				  (const struct ib_mad_hdr *)smp, mad_size,
> > -				  (struct ib_mad_hdr *)mad_priv->mad,
> > -				  &mad_size, &out_mad_pkey_index);
> > +	ret = device->process_mad ?
> > +		device->process_mad(device, 0, port_num, &mad_wc, NULL,
> > +				    (const struct ib_mad_hdr *)smp, mad_size,
> > +				    (struct ib_mad_hdr *)mad_priv->mad,
> > +				    &mad_size, &out_mad_pkey_index) :
> > +		-EOPNOTSUPP;
> 
> And this shouldn't be needed here, though I'm not entirely show how
> come.. iwarp devices should be blocked form using umad entirely.
> 
> Maybe ib_create_send_mad() should fail if process_mad isn't defined?
> Not sure. Do all rocee and IB drivers define it?
> 
> Jason

You are right, no need for this change, the test was already done
within the following funcionts:

smi_check_local_smp() and opa_smi_check_local_smp()
smi_check_local_returning_smp() and opa_smi_check_local_returning_smp()

I'll remove the test in V2.

Thanks,
Kamal
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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