Re: [PATCH rdma-next 7/7] RDMA/mad: Convert BUG_ONs to error flows

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

 



On Thu, May 31, 2018 at 09:02:50PM -0400, Doug Ledford wrote:
> On Tue, 2018-05-29 at 14:56 +0300, Leon Romanovsky wrote:
> > From: Leon Romanovsky <leonro@xxxxxxxxxxxx>
> >
> > Let's perform checks in-place instead of BUG_ONs.
> >
> > Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx>
> > ---
> >  drivers/infiniband/core/mad.c | 11 +++++++----
> >  1 file changed, 7 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/infiniband/core/mad.c b/drivers/infiniband/core/mad.c
> > index 6a205224582d..c37079f86341 100644
> > --- a/drivers/infiniband/core/mad.c
> > +++ b/drivers/infiniband/core/mad.c
> > @@ -1556,7 +1556,8 @@ static int add_oui_reg_req(struct ib_mad_reg_req *mad_reg_req,
> >  			    mad_reg_req->oui, 3)) {
> >  			method = &(*vendor_table)->vendor_class[
> >  						vclass]->method_table[i];
> > -			BUG_ON(!*method);
> > +			if (!*method)
> > +				goto error3;
> >  			goto check_in_use;
> >  		}
> >  	}
> > @@ -1566,10 +1567,12 @@ static int add_oui_reg_req(struct ib_mad_reg_req *mad_reg_req,
> >  				vclass]->oui[i])) {
> >  			method = &(*vendor_table)->vendor_class[
> >  				vclass]->method_table[i];
> > -			BUG_ON(*method);
> >  			/* Allocate method table for this OUI */
> > -			if ((ret = allocate_method_table(method)))
> > -				goto error3;
> > +			if (*method) {
>                             ^
>                             Shouldn't this be (!*method)?

Doug,

I thought over night what I wanted in this patch and what went wrong.

My intention was:

if (*method)
	goto error3;

ret = allocate_method_table(method);
if (ret)
	oto error3;

I see that you didn't update your for-next yet, can you fix the patch
prior updating for-next?

Thanks

>
> > +				ret = allocate_method_table(method);
> > +				if (ret)
> > +					goto error3;
> > +			}
> >  			memcpy((*vendor_table)->vendor_class[vclass]->oui[i],
> >  			       mad_reg_req->oui, 3);
> >  			goto check_in_use;
>
> --
> Doug Ledford <dledford@xxxxxxxxxx>
>     GPG KeyID: B826A3330E572FDD
>     Key fingerprint = AE6B 1BDA 122B 23B4 265B  1274 B826 A333 0E57 2FDD


Attachment: signature.asc
Description: PGP signature


[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