From: Hangyu Hua Date: Wed, 13 Jul 2022 00:55:11 +0000 (+0900) Subject: net: 9p: fix refcount leak in p9_read_work() error handling X-Git-Tag: baikal/mips/sdk5.9~174 X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=97d7898d8afb95837bf2dfb6dd8c19ba38d9861e;p=kernel.git 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 --- 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;