linux_dsm_epyc7002/drivers/infiniband/ulp
Shlomo Pongratz 66172c0993 IPoIB: Fix memory leak in the neigh table deletion flow
If the neighbours hash table is empty when unloading the module, then
ipoib_flush_neighs(), the cleanup routine, isn't called and the
memory used for the hash table itself leaked.

To fix this, ipoib_flush_neighs() is allways called, and another
completion object is added to signal when the table is freed.

Once invoked, ipoib_flush_neighs() flushes all the neighbours (if
there are any), calls the the hash table RCU free routine, which now
signals completion of the deletion process, and waits for the last
neighbour to be freed.

Signed-off-by: Shlomo Pongratz <shlomop@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
2012-09-12 09:05:03 -07:00
..
ipoib IPoIB: Fix memory leak in the neigh table deletion flow 2012-09-12 09:05:03 -07:00
iser IB/iser: Fix error flow in iser ep connection establishment 2012-05-18 17:05:31 -07:00
srp IB/srp: Fix a race condition 2012-08-15 12:00:48 -07:00
srpt IB: Fix typos in infiniband drivers 2012-08-15 11:56:19 -07:00