Linux NFS development
 help / color / mirror / Atom feed
From: Steve Dickson <SteveD@redhat.com>
To: Vince Busam <vbusam@google.com>
Cc: nfs@lists.sourceforge.net
Subject: Re: oops in rpc_pipe_release
Date: Tue, 08 Nov 2005 13:58:53 -0500	[thread overview]
Message-ID: <4370F56D.6090606@RedHat.com> (raw)
In-Reply-To: <4370F072.3090104@google.com>

[-- Attachment #1: Type: text/plain, Size: 459 bytes --]



Vince Busam wrote:
> I tried that with and without the linux-2.6.13-CITI_NFS4_ALL-1.dif 
> patch, and either way it ends up causing another NULL pointer 
> dereference in __rpc_purge_upcall after an hour or two.
See if the attached patch helps... It makes gss_pipe_release()
handles the fact that given pointer that are passed in
could be NULL. This seem to fix the problem I was seeing...

Trond, Is this something that's a bit more palatable? :)

steved.

[-- Attachment #2: linux-2.6.14-rpc-gss-oops.patch --]
[-- Type: text/x-patch, Size: 553 bytes --]

--- linux-2.6.9/net/sunrpc/auth_gss/auth_gss.c.orig	2005-11-07 11:05:52.800401000 -0500
+++ linux-2.6.9/net/sunrpc/auth_gss/auth_gss.c	2005-11-08 13:16:05.576222000 -0500
@@ -513,7 +513,10 @@ gss_pipe_release(struct inode *inode)
 	struct rpc_auth *auth;
 	struct gss_auth *gss_auth;
 
-	clnt = rpci->private;
+	clnt = ((rpci != NULL) ? ((struct rpc_clnt *)rpci->private) : NULL);
+	if (clnt == NULL || clnt->cl_auth == NULL)
+		return;
+
 	auth = clnt->cl_auth;
 	gss_auth = container_of(auth, struct gss_auth, rpc_auth);
 	spin_lock(&gss_auth->lock);

  reply	other threads:[~2005-11-08 18:58 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-08  0:04 oops in rpc_pipe_release Vince Busam
2005-11-08  0:10 ` J. Bruce Fields
2005-11-08 14:23 ` Steve Dickson
2005-11-08 18:37   ` Vince Busam
2005-11-08 18:58     ` Steve Dickson [this message]
2005-11-08 19:58       ` Trond Myklebust
2005-11-08 20:51         ` Steve Dickson

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=4370F56D.6090606@RedHat.com \
    --to=steved@redhat.com \
    --cc=nfs@lists.sourceforge.net \
    --cc=vbusam@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