Re: fuzz tested user mode linux core dumps in fs/lockd/clntproc.c:131 (nfs in a netns utsns problems?)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2013-07-30 at 17:12 -0400, J. Bruce Fields wrote:
> On Mon, Jul 29, 2013 at 10:42:57AM -0700, Eric W. Biederman wrote:
> > 
> > Adding some people who pay more attention to nfs in network namespaces
> > than I usually do.
> > 
> > Oleg Nesterov <oleg@xxxxxxxxxx> writes:
> > 
> > > On 07/28, Eric W. Biederman wrote:
> > >>
> > >> > This untested patch should fix it without any need to worry about
> > >> > dynamic behavior.
> > >
> > > Yeees ;) I was thinking about this change too, but I have no idea
> > > what this ->nodename actually means for nfs.
> > >
> > > If you are going to send this patch - great!
> > 
> > Just batting it around for now, and hoping we have the right combination
> > of eyeballs look at it.  There are more places in nfs that have
> > questionable uses of utsname() instead of init_utsname().  So I think we
> > probably need a more comprehensive patch at the very least.
> > 
> > nfsclnt_reclaim is never called from userspace.
> 
> So, looking just at this one....
> 
> Note I think you mean nlmclnt_reclaim.
> 
> That's part of the client's handling of server reboots.  The client
> knows that it should hold some file lock, but knows that the server has
> now forgotten that fact, and needs to send a "reclaim" to get the lock
> back.
> 
> That reclaim will get kicked off when the client's notified that the
> server rebooted.
> 
> So we're not in the context of whoever originally did the
> fcntl(.,F_SETLK,.), and trying to get the namespace out of current is
> clearly wrong.
> 
> nlm_host currently has a "struct net *net" field.  Maybe we also need to
> stash a "struct uts_namespace *", or just a copy of the nodename?

The struct rpc_clnt already has that information in the cl_nodename
field.

Cheers
  Trond

-- 
Trond Myklebust
Linux NFS client maintainer

NetApp
Trond.Myklebust@xxxxxxxxxx
www.netapp.com
��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥





[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux