mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
IB/core: Fix potential memory leak while creating MAD agents
commit6e88e672b6upstream. If the MAD agents isn't allowed to manage the subnet, or fails to register for the LSM notifier, the security context is leaked. Free the context in these cases. Fixes:47a2b338fe("IB/core: Enforce security on management datagrams") Signed-off-by: Daniel Jurgens <danielj@mellanox.com> Reviewed-by: Parav Pandit <parav@mellanox.com> Reported-by: Parav Pandit <parav@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
2fecdc27f5
commit
e800edf7c5
@@ -715,16 +715,20 @@ int ib_mad_agent_security_setup(struct ib_mad_agent *agent,
|
||||
agent->device->name,
|
||||
agent->port_num);
|
||||
if (ret)
|
||||
return ret;
|
||||
goto free_security;
|
||||
|
||||
agent->lsm_nb.notifier_call = ib_mad_agent_security_change;
|
||||
ret = register_lsm_notifier(&agent->lsm_nb);
|
||||
if (ret)
|
||||
return ret;
|
||||
goto free_security;
|
||||
|
||||
agent->smp_allowed = true;
|
||||
agent->lsm_nb_reg = true;
|
||||
return 0;
|
||||
|
||||
free_security:
|
||||
security_ib_free_security(agent->security);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void ib_mad_agent_security_cleanup(struct ib_mad_agent *agent)
|
||||
|
||||
Reference in New Issue
Block a user