SUNRPC: Temporary sockets should inherit the cred from their parent
Temporary sockets should inherit the credential (and hence the user namespace) from the parent listener transport. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
Родитель
4df493a260
Коммит
1237d3545c
|
@ -786,9 +786,10 @@ static int svc_handle_xprt(struct svc_rqst *rqstp, struct svc_xprt *xprt)
|
||||||
__module_get(xprt->xpt_class->xcl_owner);
|
__module_get(xprt->xpt_class->xcl_owner);
|
||||||
svc_check_conn_limits(xprt->xpt_server);
|
svc_check_conn_limits(xprt->xpt_server);
|
||||||
newxpt = xprt->xpt_ops->xpo_accept(xprt);
|
newxpt = xprt->xpt_ops->xpo_accept(xprt);
|
||||||
if (newxpt)
|
if (newxpt) {
|
||||||
|
newxpt->xpt_cred = get_cred(xprt->xpt_cred);
|
||||||
svc_add_new_temp_xprt(serv, newxpt);
|
svc_add_new_temp_xprt(serv, newxpt);
|
||||||
else
|
} else
|
||||||
module_put(xprt->xpt_class->xcl_owner);
|
module_put(xprt->xpt_class->xcl_owner);
|
||||||
} else if (svc_xprt_reserve_slot(rqstp, xprt)) {
|
} else if (svc_xprt_reserve_slot(rqstp, xprt)) {
|
||||||
/* XPT_DATA|XPT_DEFERRED case: */
|
/* XPT_DATA|XPT_DEFERRED case: */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче