From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: Alex Polvi <polvi@google.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCHv3] sunrpc/auth_gss: NULL pointer deref in gss_pipe_release()
Date: Mon, 14 Aug 2006 18:46:32 -0400 [thread overview]
Message-ID: <1155595592.5656.22.camel@localhost> (raw)
In-Reply-To: <e561bacc0608141334i2a942ff5ua97b8c8db381fca1@mail.google.com>
On Mon, 2006-08-14 at 16:34 -0400, Alex Polvi wrote:
> On 8/14/06, Alex Polvi <polvi@google.com> wrote:
> > Here is another fix. It is quite silly, but clnt->cl_auth is set to
> > NULL in rpc_destroy_client(), then eventually referenced in
> > gss_release_pipe() via rpc_rmdir(). Simply removing the clnt->cl_auth
> > = NULL from clnt.c fixes the issue. I'm still trying to understand the
> > subsystem, but it seems like rpc_rmdir is being correctly called to
> > clean up because of the weirdness with umount -l and the nfs server
> > being turned on and off. Does that seem correct? Or is this still just
> > covering up some other part of the code being sloppy cleaning up?
>
> Also, I just want to make it clear that I do not think this is the
> proper fix. It is just pointing out that we intentionally set cl_auth
> to NULL, then reference it.
OK. I think I've finally managed to clean up the various interactions
with rpc_pipefs. I've uploaded a series of patches on the NFS client
website. See
http://client.linux-nfs.org/Linux-2.6.x/2.6.18-rc4/
The relevant patches are
linux-2.6.18-006-fix_rpc_unlink.dif:
From: Trond Myklebust <Trond.Myklebust@netapp.com>
SUNRPC: make rpc_unlink() take a dentry argument instead of a
path
Signe-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
linux-2.6.18-007-fix_rpc_rmdir.dif:
From: Trond Myklebust <Trond.Myklebust@netapp.com>
NFS: clean up rpc_rmdir
Make it take a dentry argument instead of a path
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
linux-2.6.18-008-fix_rpc_unlink_rmdir_2.dif:
From: Trond Myklebust <Trond.Myklebust@netapp.com>
SUNRPC: rpc_unlink() must check for unhashed dentries
A prior call to rpc_depopulate() by rpc_rmdir() on the parent
directory may have already called simple_unlink() on this entry.
Add the same check to rpc_rmdir(). Also remove a redundant call
to rpc_close_pipes() in rpc_rmdir.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
linux-2.6.18-009-fix_rpc_unlink_rmdir_3.dif:
From: Trond Myklebust <Trond.Myklebust@netapp.com>
SUNRPC: Fix dentry refcounting issues with users of rpc_pipefs
rpc_unlink() and rpc_rmdir() will dput the dentry reference for
you.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
----
In addition, there is one patch that is needed in order to fix up a
related issue in the function nfs_alloc_client(), which was introduced
by David Howells' NFS superblock sharing patches.
Cheers,
Trond
next prev parent reply other threads:[~2006-08-14 22:46 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-31 14:50 [PATCH] sunrpc/auth_gss: NULL pointer deref in gss_pipe_release() Alex Polvi
2006-07-31 20:37 ` Trond Myklebust
2006-08-02 1:10 ` Alex Polvi
2006-08-09 2:58 ` Alex Polvi
2006-08-09 15:27 ` [PATCHv2] " Alex Polvi
2006-08-09 15:39 ` Trond Myklebust
2006-08-14 19:32 ` [PATCHv3] " Alex Polvi
2006-08-14 20:34 ` Alex Polvi
2006-08-14 22:46 ` Trond Myklebust [this message]
2006-08-15 0:09 ` Alex Polvi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1155595592.5656.22.camel@localhost \
--to=trond.myklebust@fys.uio.no \
--cc=linux-kernel@vger.kernel.org \
--cc=polvi@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox