From 97d7898d8afb95837bf2dfb6dd8c19ba38d9861e Mon Sep 17 00:00:00 2001 From: Hangyu Hua Date: Wed, 13 Jul 2022 09:55:11 +0900 Subject: [PATCH] net: 9p: fix refcount leak in p9_read_work() error handling [ Upstream commit 87a26539b580c4377f982733d21c51dce99e4c11 ] p9_req_put need to be called when m->rreq->rc.sdata is NULL to avoid temporary refcount leak. Link: https://lkml.kernel.org/r/20220712104438.30800-1-hbh25y@gmail.com Fixes: 10f61be1685d ("9p: Add refcount to p9_req_t") Signed-off-by: Hangyu Hua [Dominique: commit wording adjustments, p9_req_put argument fixes for rebase] Signed-off-by: Dominique Martinet Signed-off-by: Sasha Levin --- net/9p/trans_fd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/9p/trans_fd.c b/net/9p/trans_fd.c index c55c8a608bc79..6fe3719c1fc61 100644 --- a/net/9p/trans_fd.c +++ b/net/9p/trans_fd.c @@ -345,6 +345,7 @@ static void p9_read_work(struct work_struct *work) p9_debug(P9_DEBUG_ERROR, "No recv fcall for tag %d (req %p), disconnecting!\n", m->rc.tag, m->rreq); + p9_req_put(m->client, m->rreq); m->rreq = NULL; err = -EIO; goto error; -- 2.39.5