-
Md Haris Iqbal authored
Destroying path files may lead to the freeing of rdma_stats. This creates the following race. An IO is in-flight, or has just passed the session state check in process_read/process_write. The close_work gets triggered and the function rtrs_srv_close_work() starts and does destroy path which frees the rdma_stats. After this the function process_read/process_write resumes and tries to update the stats through the function rtrs_srv_update_rdma_stats This commit solves the problem by moving the destroy path function to a later point. This point makes sure any inflights are completed. This is done by qp drain, and waiting for all in-flights through ops_id. Fixes: 9cb83748 ("RDMA/rtrs: server: main functionality") Signed-off-by:
Md Haris Iqbal <haris.iqbal@ionos.com> Signed-off-by:
Santosh Kumar Pradhan <santosh.pradhan@ionos.com> Signed-off-by:
Grzegorz Prajsner <grzegorz.prajsner@ionos.com> Link: https://lore.kernel.org/r/20231120154146.920486-6-haris.iqbal@ionos.comSigned-off-by:
Leon Romanovsky <leon@kernel.org>
c4d32e77