lockd: use rpc client's cl_nodename for id encoding
commit 303a7ce920 upstream.
Taking hostname from uts namespace if not safe, because this cuold be
performind during umount operation on child reaper death. And in this case
current->nsproxy is NULL already.
Signed-off-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
d1b9810beb
commit
12d63702c5
1 changed files with 3 additions and 1 deletions
|
|
@ -40,6 +40,7 @@ struct nsm_args {
|
|||
u32 proc;
|
||||
|
||||
char *mon_name;
|
||||
char *nodename;
|
||||
};
|
||||
|
||||
struct nsm_res {
|
||||
|
|
@ -93,6 +94,7 @@ static int nsm_mon_unmon(struct nsm_handle *nsm, u32 proc, struct nsm_res *res)
|
|||
.vers = 3,
|
||||
.proc = NLMPROC_NSM_NOTIFY,
|
||||
.mon_name = nsm->sm_mon_name,
|
||||
.nodename = utsname()->nodename,
|
||||
};
|
||||
struct rpc_message msg = {
|
||||
.rpc_argp = &args,
|
||||
|
|
@ -429,7 +431,7 @@ static void encode_my_id(struct xdr_stream *xdr, const struct nsm_args *argp)
|
|||
{
|
||||
__be32 *p;
|
||||
|
||||
encode_nsm_string(xdr, utsname()->nodename);
|
||||
encode_nsm_string(xdr, argp->nodename);
|
||||
p = xdr_reserve_space(xdr, 4 + 4 + 4);
|
||||
*p++ = cpu_to_be32(argp->prog);
|
||||
*p++ = cpu_to_be32(argp->vers);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue