RDMA/cm: Fix checking for allowed duplicate listens
authorJason Gunthorpe <jgg@mellanox.com>
Tue, 10 Mar 2020 09:25:32 +0000 (11:25 +0200)
committerJason Gunthorpe <jgg@mellanox.com>
Tue, 17 Mar 2020 20:05:51 +0000 (17:05 -0300)
commitca21cb7fb127fcba013acc66f9ebe2e3a9ae1e49
tree8bc237a9d8847f563f671092c4895ffd74bd08bd
parente8dc4e885c459343970b25acd9320fe9ee5492e7
RDMA/cm: Fix checking for allowed duplicate listens

The test here typod the cm_id_priv to use, it used the one that was
freshly allocated. By definition the allocated one has the matching
cm_handler and zero context, so the condition was always true.

Instead check that the existing listening ID is compatible with the
proposed handler so that it can be shared, as was originally intended.

Fixes: 067b171b8679 ("IB/cm: Share listening CM IDs")
Link: https://lore.kernel.org/r/20200310092545.251365-3-leon@kernel.org
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/core/cm.c