mirror of
https://github.com/torvalds/linux.git
synced 2026-09-25 21:21:09 -04:00
Firstly, nlmclnt_setlockargs can be called from a reclaimer thread, in
which case we're in entirely the wrong namespace.
Secondly, commit 8aac62706a (move
exit_task_namespaces() outside of exit_notify()) now means that
exit_task_work() is called after exit_task_namespaces(), which
triggers an Oops when we're freeing up the locks.
Fix this by ensuring that we initialise the nlm_host's rpc_client at mount
time, so that the cl_nodename field is initialised to the value of
utsname()->nodename that the net namespace uses. Then replace the
lockd callers of utsname()->nodename.
Signed-off-by: Trond Myklebust <[email protected]>
Cc: Toralf Förster <[email protected]>
Cc: Oleg Nesterov <[email protected]>
Cc: Nix <[email protected]>
Cc: Jeff Layton <[email protected]>
Cc: [email protected] # 3.10.x