]> git.baikalelectronics.ru Git - kernel.git/commit
IB/srpt: Fix memory leak in srpt_add_one
authorMaor Gottlieb <maorg@nvidia.com>
Wed, 28 Oct 2020 06:50:51 +0000 (08:50 +0200)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 2 Nov 2020 19:23:55 +0000 (15:23 -0400)
commitca72c297d79321242a3f382ad0c0913531c83f4a
tree38b27c68ff0517d2e7882ad309a6310a00fd29ea
parentab8246cff7c8149b5d524846ebfdc7ef3649d411
IB/srpt: Fix memory leak in srpt_add_one

Failure in srpt_refresh_port() for the second port will leave MAD
registered for the first one, however, the srpt_add_one() will be marked
as "failed" and SRPT will leak resources for that registered but not used
and released first port.

Unregister the MAD agent for all ports in case of failure.

Fixes: ee50e035c2dd ("ib_srpt: Initial SRP Target merge for v3.3-rc1")
Link: https://lore.kernel.org/r/20201028065051.112430-1-leon@kernel.org
Signed-off-by: Maor Gottlieb <maorg@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/ulp/srpt/ib_srpt.c