[<prev] [next>] [day] [month] [year] [list]
Message-ID: <1828884A29C6694DAF28B7E6B8A82373A903955A@ORSMSX109.amr.corp.intel.com>
Date: Tue, 8 Sep 2015 16:50:03 +0000
From: "Hefty, Sean" <sean.hefty@...el.com>
To: Nicholas Krause <xerofoify@...il.com>,
"dledford@...hat.com" <dledford@...hat.com>
CC: "hal.rosenstock@...il.com" <hal.rosenstock@...il.com>,
"Weiny, Ira" <ira.weiny@...el.com>,
"jgunthorpe@...idianresearch.com" <jgunthorpe@...idianresearch.com>,
"yun.wang@...fitbricks.com" <yun.wang@...fitbricks.com>,
"monis@...lanox.com" <monis@...lanox.com>,
"jackm@....mellanox.co.il" <jackm@....mellanox.co.il>,
"linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] infiniband:core:Fix error handling in the function
join_handler
> diff --git a/drivers/infiniband/core/multicast.c
> b/drivers/infiniband/core/multicast.c
> index 2cb865c..9284337 100644
> --- a/drivers/infiniband/core/multicast.c
> +++ b/drivers/infiniband/core/multicast.c
> @@ -526,8 +526,9 @@ static void join_handler(int status, struct
> ib_sa_mcmember_rec *rec,
> process_join_error(group, status);
> else {
> int mgids_changed, is_mgid0;
> - ib_find_pkey(group->port->dev->device, group->port->port_num,
> - be16_to_cpu(rec->pkey), &pkey_index);
> + if (ib_find_pkey(group->port->dev->device, group->port-
> >port_num,
> + be16_to_cpu(rec->pkey), &pkey_index))
> + return;
We can't just abort here. Apps are waiting on a callback to their join operation, and the SA believes that this port is part of the multicast group.
If we don't get a valid pkey, the group will be left set to 'MCAST_INVALID_PKEY_INDEX'.
- Sean
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists