All of lore.kernel.org
 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 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.