aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sunrpc/bc_xprt.h
diff options
context:
space:
mode:
authorVasily Averin <vvs@virtuozzo.com>2018-12-24 14:45:04 +0300
committerJ. Bruce Fields <bfields@redhat.com>2018-12-27 21:01:41 -0500
commita289ce5311f406bf846614591300a948ebc42062 (patch)
tree52672e4111d17511c4b8f7c3beb7f804e790decc /include/linux/sunrpc/bc_xprt.h
parentsunrpc: use-after-free in svc_process_common() (diff)
downloadlinux-dev-a289ce5311f406bf846614591300a948ebc42062.tar.xz
linux-dev-a289ce5311f406bf846614591300a948ebc42062.zip
sunrpc: replace svc_serv->sv_bc_xprt by boolean flag
svc_serv-> sv_bc_xprt is netns-unsafe and cannot be used as pointer. To prevent its misuse in future it is replaced by new boolean flag. Signed-off-by: Vasily Averin <vvs@virtuozzo.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'include/linux/sunrpc/bc_xprt.h')
-rw-r--r--include/linux/sunrpc/bc_xprt.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/include/linux/sunrpc/bc_xprt.h b/include/linux/sunrpc/bc_xprt.h
index 28721cf73ec3..4e8c773d02be 100644
--- a/include/linux/sunrpc/bc_xprt.h
+++ b/include/linux/sunrpc/bc_xprt.h
@@ -47,11 +47,9 @@ void xprt_free_bc_rqst(struct rpc_rqst *req);
/*
* Determine if a shared backchannel is in use
*/
-static inline int svc_is_backchannel(const struct svc_rqst *rqstp)
+static inline bool svc_is_backchannel(const struct svc_rqst *rqstp)
{
- if (rqstp->rq_server->sv_bc_xprt)
- return 1;
- return 0;
+ return rqstp->rq_server->sv_bc_enabled;
}
#else /* CONFIG_SUNRPC_BACKCHANNEL */
static inline int xprt_setup_backchannel(struct rpc_xprt *xprt,
@@ -60,9 +58,9 @@ static inline int xprt_setup_backchannel(struct rpc_xprt *xprt,
return 0;
}
-static inline int svc_is_backchannel(const struct svc_rqst *rqstp)
+static inline bool svc_is_backchannel(const struct svc_rqst *rqstp)
{
- return 0;
+ return false;
}
static inline void xprt_free_bc_request(struct rpc_rqst *req)