Skip to content

Commit

Permalink
lockd: use rpc client's cl_nodename for id encoding
Browse files Browse the repository at this point in the history
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 <[email protected]>
Cc: <[email protected]>
Signed-off-by: Trond Myklebust <[email protected]>
  • Loading branch information
Stanislav Kinsbursky authored and Trond Myklebust committed Oct 1, 2012
1 parent e9406db commit 303a7ce
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion fs/lockd/mon.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ struct nsm_args {
u32 proc;

char *mon_name;
char *nodename;
};

struct nsm_res {
Expand Down Expand Up @@ -141,6 +142,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,
Expand Down Expand Up @@ -477,7 +479,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);
Expand Down

0 comments on commit 303a7ce

Please sign in to comment.