]> git.itanic.dy.fi Git - linux-stable/commit
IB/isert: Fix incorrect release of isert connection
authorSaravanan Vajravel <saravanan.vajravel@broadcom.com>
Tue, 6 Jun 2023 10:25:31 +0000 (03:25 -0700)
committerLeon Romanovsky <leon@kernel.org>
Sun, 11 Jun 2023 17:29:34 +0000 (20:29 +0300)
commit699826f4e30ab76a62c238c86fbef7e826639c8d
treebc8b2104fc237188f59286c7bc4b57bfbedba57a
parent7651e2d6c5b359a28c2d4c904fec6608d1021ca8
IB/isert: Fix incorrect release of isert connection

The ib_isert module is releasing the isert connection both in
isert_wait_conn() handler as well as isert_free_conn() handler.
In isert_wait_conn() handler, it is expected to wait for iSCSI
session logout operation to complete. It should free the isert
connection only in isert_free_conn() handler.

When a bunch of iSER target is cleared, this issue can lead to
use-after-free memory issue as isert conn is twice released

Fixes: b02efbfc9a05 ("iser-target: Fix implicit termination of connections")
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Saravanan Vajravel <saravanan.vajravel@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Link: https://lore.kernel.org/r/20230606102531.162967-4-saravanan.vajravel@broadcom.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/ulp/isert/ib_isert.c