[Devel] [PATCH VZ9] fs/fuse kio: fixed pcs_rpc refcnt leak and pcs_msg leak.

Liu Kui kui.liu at virtuozzo.com
Thu Aug 22 14:41:17 MSK 2024


https://pmc.acronis.work/browse/VSTOR-91111

Signed-off-by: Liu Kui <kui.liu at virtuozzo.com>
---
 fs/fuse/kio/pcs/pcs_rpc_clnt.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/fuse/kio/pcs/pcs_rpc_clnt.c b/fs/fuse/kio/pcs/pcs_rpc_clnt.c
index 810aaaf0081d..bd1eec849abc 100644
--- a/fs/fuse/kio/pcs/pcs_rpc_clnt.c
+++ b/fs/fuse/kio/pcs/pcs_rpc_clnt.c
@@ -27,6 +27,7 @@ static int clnt_input(struct pcs_rpc *ep, struct pcs_msg *msg)
 
 		if (ep->clnt_krpc)
 			krpc_handle_congestion(ep, msg);
+		msg->done(msg);
 		return 0;
 	default:
 		FUSE_KLOG(cc_from_rpc(ep->eng)->fc, LOG_ERR, "Unsupported message type %u", h->type);
@@ -138,8 +139,8 @@ struct pcs_rpc *pcs_rpc_clnt_create(struct pcs_rpc_engine *eng, PCS_NODE_ID_T *p
 		mutex_lock(&ep->mutex);
 		if (ep->state != PCS_RPC_DESTROY)
 			goto found;
-
 		mutex_unlock(&ep->mutex);
+		pcs_rpc_put(ep);
 	}
 
 	/* create a new pcs_rpc instance if found one had been closed by its last owner */
-- 
2.39.3 (Apple Git-146)



More information about the Devel mailing list