[RFC][PATCH] sunrpc: fix oops in rpc_create() when the mount namespace is unshared
chuck.lever at oracle.com
Tue Sep 9 10:07:40 PDT 2008
On Sep 9, 2008, at Sep 9, 2008, 11:29 AM, Serge E. Hallyn wrote:
> Quoting Eric W. Biederman (ebiederm at xmission.com):
>> "Serge E. Hallyn" <serue at us.ibm.com> writes:
>>> Thanks, Cedric. Eric is probably right about the long-term fix, but
>>> yeah it might take a while to properly wade through the sunrpc and
>>> layers to store the nodename at nfs mount time, and in the
>>> meantime this
>>> fixes a real oops.
>> A very esoteric oops that hasn't shown up for two years.
> But an easily reproducible one.
> It's not as though we'll stop looking for the right fix just bc we
> this "bad" fix in for a short while.
>> Please let's look at this and see what it would take to fix this
> Of course. Cedric is looking at the best way to fix it...
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
>> What are we trying to achieve by reading utsname?
> It looks like it gets copied into the sunrpc messages so I assume it
> a part of the sunrpc spec?
It appears to be used only for RPC's AUTH_SYS credentials. The
nodename is used to identify the caller's host. See RFC 1831,
I'm not terribly familiar with uts namespaces, though. Can someone
explain why we need to distinguish between these for AUTH_SYS if the
caller is on a remote system?
> I don't want to do this, but we *could* put a conditional in utsname()
> to have it return init_utsname if current->nsproxy is null...
I don't like the idea of an oops in here. Instead, (for now) it
should warn and fail to create the client, IMO.
More information about the Containers