[RFC][PATCH] sunrpc: fix oops in rpc_create() when the mount namespace is unshared
Eric W. Biederman
ebiederm at xmission.com
Tue Sep 9 13:08:29 PDT 2008
Chuck Lever <chuck.lever at oracle.com> writes:
> On Sep 9, 2008, at Sep 9, 2008, 2:20 PM, ebiederm at xmission.com wrote:
>> Chuck Lever <chuck.lever at oracle.com> writes:
>>> If the upper layers are responsible for providing the utsname, you will need
>>> fix up lockd and the NFS server's callback client too, at least.
>> Actually looking at the code. It looks like a proper fix may be even simpler.
>> Why do we have both clnt->cl_server and clnt->cl_nodename? Or is cl_server
>> the other side of the connection?
> cl_server is the server-side. cl_nodename is the "machine name" of the client.
Thanks, Darn. Looks like we need to capture both names at the same or a
I'm wondering if we need to capture a network namespace as well.
>>> I don't like the idea of an oops in here. Instead, (for now) it should warn
>>> fail to create the client, IMO.
>> Which is interesting when the problem happens during NFS unmount. Although
>> frankly it could fail anyway.
>> It seems strange that we are creating a client during unmount anyway.
> It's worth investigating. Just enable RPC tracing (/usr/sbin/rpcdebug -m rpc -s
> all) before shutting down the client.
> NFS unmounting is historically difficult because during a system shutdown,
> unmounting is the last thing to occur, and usually happens after most system
> services (such as the portmapper service) have become unavailable. That's fine
> for local file systems, but it makes for a rather dodgy situation for NFS.
More information about the Containers