From: J. Bruce Fields Date: Sat, 23 Oct 2010 15:04:12 +0000 (-0400) Subject: svcrpc: never clear XPT_BUSY on dead xprt X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=7e4fdd0744fcb9f08854c37643bf529c5945cc36;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git svcrpc: never clear XPT_BUSY on dead xprt Once an xprt has been deleted, there's no reason to allow it to be enqueued--at worst, that might cause the xprt to be re-added to some global list, resulting in later corruption. Also, note this leaves us with no need for the reference-count manipulation here. Reviewed-by: NeilBrown Signed-off-by: J. Bruce Fields --- diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c index bef1e8844a2c..1b0673c6e986 100644 --- a/net/sunrpc/svc_xprt.c +++ b/net/sunrpc/svc_xprt.c @@ -936,10 +936,7 @@ void svc_close_xprt(struct svc_xprt *xprt) /* someone else will have to effect the close */ return; - svc_xprt_get(xprt); svc_delete_xprt(xprt); - clear_bit(XPT_BUSY, &xprt->xpt_flags); - svc_xprt_put(xprt); } EXPORT_SYMBOL_GPL(svc_close_xprt);