IB/core: Fix use after free in send_leave function
authorErez Shitrit <erezsh@mellanox.com>
Sun, 28 Aug 2016 07:58:30 +0000 (10:58 +0300)
committerDoug Ledford <dledford@redhat.com>
Fri, 2 Sep 2016 18:06:27 +0000 (14:06 -0400)
commit68c6bcdd8bd00394c234b915ab9b97c74104130c
treeba48101e224393e9481e965e5e103dc36ff6958a
parent656aacea6c90ce8e15c2bdef4f89b74b73e2e34a
IB/core: Fix use after free in send_leave function

The function send_leave sets the member: group->query_id
(group->query_id = ret) after calling the sa_query, but leave_handler
can be executed before the setting and it might delete the group object,
and will get a memory corruption.

Additionally, this patch gets rid of group->query_id variable which is
not used.

Fixes: faec2f7b96b5 ('IB/sa: Track multicast join/leave requests')
Signed-off-by: Erez Shitrit <erezsh@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/core/multicast.c