Commit 7e4fdd07 authored by J. Bruce Fields's avatar J. Bruce Fields

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: default avatarNeilBrown <neilb@suse.de>
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent a663bdd8
...@@ -936,10 +936,7 @@ void svc_close_xprt(struct svc_xprt *xprt) ...@@ -936,10 +936,7 @@ void svc_close_xprt(struct svc_xprt *xprt)
/* someone else will have to effect the close */ /* someone else will have to effect the close */
return; return;
svc_xprt_get(xprt);
svc_delete_xprt(xprt); svc_delete_xprt(xprt);
clear_bit(XPT_BUSY, &xprt->xpt_flags);
svc_xprt_put(xprt);
} }
EXPORT_SYMBOL_GPL(svc_close_xprt); EXPORT_SYMBOL_GPL(svc_close_xprt);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment