mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ion Badulescu <ionut@badula.org>
To: Ulrich Weigand <weigand@immd1.informatik.uni-erlangen.de>,
	Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: uweigand@de.ibm.com, schwidefsky@de.ibm.com, bk@suse.de,
	linux-kernel@vger.kernel.org, nfs@lists.sourceforge.net
Subject: Re: [NFS] Race in rpc_delete_timer causes crash
Date: Sun, 9 Mar 2003 01:12:13 -0500	[thread overview]
Message-ID: <200303090612.h296CDV02987@moisil.badula.org> (raw)
In-Reply-To: <200303082303.AAA22598@faui11.informatik.uni-erlangen.de>

On Sun, 9 Mar 2003 00:03:45 +0100 (MET), Ulrich Weigand <weigand@immd1.informatik.uni-erlangen.de> wrote:
> Hello,
> 
> we're seeing a rare and hard to trigger crash on s390 where rpc_run_timer 
> calls via an invalid callback pointer.

Myself and Jakob Oestergaard have seen the same race, and the tentative 
fix from Trond was similar to yours. I haven't been able to reproduce 
the problem after applying that fix.

Perhaps it's time to propagate the patch upstream? Most recent 2.4.x 
kernels are affected...

> What appears to happen is that rpc_call_sync allocates a struct rpc_task 
> (with its embedded tk_timer) on the stack, and the timer gets set up 
> sometime during rpc_execute.  However, the timer actually triggers at
> a point in time where the original call to rpc_call_sync has already 
> returned, and the stack space overwritten by other data.  That data is 
> now interpreted as an rpc_task struct holding a tk_timeout_fn pointer by
> rpc_run_timer, which causes the Oops (actually, Aieee).

Yup, that's the race all right.

Ion

-- 
  It is better to keep your mouth shut and be thought a fool,
            than to open it and remove all doubt.

      reply	other threads:[~2003-03-09  6:04 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-08 23:03 Ulrich Weigand
2003-03-09  6:12 ` Ion Badulescu [this message]

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=200303090612.h296CDV02987@moisil.badula.org \
    --to=ionut@badula.org \
    --cc=bk@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nfs@lists.sourceforge.net \
    --cc=schwidefsky@de.ibm.com \
    --cc=trond.myklebust@fys.uio.no \
    --cc=uweigand@de.ibm.com \
    --cc=weigand@immd1.informatik.uni-erlangen.de \
    /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

all inboxes | Powered by JetHome®