Re: [RFC][PATCH] sunrpc: fix oops in rpc_create() when the mount namespace is unshared

From: Eric W. Biederman
Date: Tue Sep 09 2008 - 16:15:20 EST


Chuck Lever <chuck.lever@xxxxxxxxxx> writes:

> On Sep 9, 2008, at Sep 9, 2008, 2:20 PM, ebiederm@xxxxxxxxxxxx wrote:
>> Chuck Lever <chuck.lever@xxxxxxxxxx> writes:
>>
>>> If the upper layers are responsible for providing the utsname, you will need
>>> to
>>> 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
similar point.

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
>>> and
>>> 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.

Interesting.

Eric

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/