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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.