IB/multicast: Check ib_find_pkey() return value
authorBart Van Assche <bart.vanassche@sandisk.com>
Mon, 21 Nov 2016 18:22:17 +0000 (10:22 -0800)
committerSasha Levin <alexander.levin@verizon.com>
Fri, 13 Jan 2017 01:56:57 +0000 (20:56 -0500)
[ Upstream commit d3a2418ee36a59bc02e9d454723f3175dcf4bfd9 ]

This patch avoids that Coverity complains about not checking the
ib_find_pkey() return value.

Fixes: commit 547af76521b3 ("IB/multicast: Report errors on multicast groups if P_key changes")
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Cc: Sean Hefty <sean.hefty@intel.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
drivers/infiniband/core/multicast.c

index fa17b552ff78bc16b1547215682f26649f5af7ac..aab811d4c0e128807a7817e084248c28ededf9c2 100644 (file)
@@ -526,8 +526,11 @@ 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))
+                       pkey_index = MCAST_INVALID_PKEY_INDEX;
 
                spin_lock_irq(&group->port->lock);
                if (group->state == MCAST_BUSY &&