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