All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Phillips <phillips@arcor.de>
To: Andrew Morton <akpm@zip.com.au>
Cc: Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>,
	lkml <linux-kernel@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: MM patches against 2.5.31
Date: Thu, 29 Aug 2002 00:57:06 +0200	[thread overview]
Message-ID: <E17kBkK-0002uI-00@starship> (raw)
In-Reply-To: <3D6D5128.9EE6DFDD@zip.com.au>

On Thursday 29 August 2002 00:39, Andrew Morton wrote:
> Daniel Phillips wrote:
> > 
> > ...
> > So there's no question that the race is lurking in 2.4.  I noticed several
> > more paths besides the one above that look suspicious as well.  The bottom
> > line is, 2.4 needs a fix along the lines of my suggestion or Christian's,
> > something that can actually be proved.
> > 
> > It's a wonder that this problem manifests so rarely in practice.
> 
> I sort-of glanced through the 2.4 paths and it appears that in all of the
> places where it could do a page_cache_get/release, that would never happen
> because of other parts of the page state.
> 
> Like: it can't be in pagecache, so we won't run writepage, and
> it can't have buffers, so we won't run try_to_release_page().
> 
> Of course, I might have missed a path.  And, well, generally: ugh.

I think it is happening.  I just went sifting searching through the archives
on 'oops' and '2.4'.  The first one I found was:

   2.4.18-xfs (xfs related?) oops report

which fits the description nicely.

The race I showed actually causes the page->count to go negative, avoiding
a double free on a technicality.  That doesn't make me feel much better about
it.  Have you got a BUG_ON(!page_count(page)) in put_page_testzero?  I think
we might see some action.

-- 
Daniel

WARNING: multiple messages have this Message-ID (diff)
From: Daniel Phillips <phillips@arcor.de>
To: Andrew Morton <akpm@zip.com.au>
Cc: Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>,
	lkml <linux-kernel@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: MM patches against 2.5.31
Date: Thu, 29 Aug 2002 00:57:06 +0200	[thread overview]
Message-ID: <E17kBkK-0002uI-00@starship> (raw)
In-Reply-To: <3D6D5128.9EE6DFDD@zip.com.au>

On Thursday 29 August 2002 00:39, Andrew Morton wrote:
> Daniel Phillips wrote:
> > 
> > ...
> > So there's no question that the race is lurking in 2.4.  I noticed several
> > more paths besides the one above that look suspicious as well.  The bottom
> > line is, 2.4 needs a fix along the lines of my suggestion or Christian's,
> > something that can actually be proved.
> > 
> > It's a wonder that this problem manifests so rarely in practice.
> 
> I sort-of glanced through the 2.4 paths and it appears that in all of the
> places where it could do a page_cache_get/release, that would never happen
> because of other parts of the page state.
> 
> Like: it can't be in pagecache, so we won't run writepage, and
> it can't have buffers, so we won't run try_to_release_page().
> 
> Of course, I might have missed a path.  And, well, generally: ugh.

I think it is happening.  I just went sifting searching through the archives
on 'oops' and '2.4'.  The first one I found was:

   2.4.18-xfs (xfs related?) oops report

which fits the description nicely.

The race I showed actually causes the page->count to go negative, avoiding
a double free on a technicality.  That doesn't make me feel much better about
it.  Have you got a BUG_ON(!page_count(page)) in put_page_testzero?  I think
we might see some action.

-- 
Daniel
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

  reply	other threads:[~2002-08-28 23:13 UTC|newest]

Thread overview: 105+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-08-22  2:29 MM patches against 2.5.31 Andrew Morton
2002-08-22  2:29 ` Andrew Morton
2002-08-22 11:28 ` Christian Ehrhardt
2002-08-22 11:28   ` Christian Ehrhardt
2002-08-26  1:52   ` Andrew Morton
2002-08-26  1:52     ` Andrew Morton
2002-08-26  9:10     ` Christian Ehrhardt
2002-08-26  9:10       ` Christian Ehrhardt
2002-08-26 14:22       ` Daniel Phillips
2002-08-26 14:22         ` Daniel Phillips
2002-08-26 15:29         ` Christian Ehrhardt
2002-08-26 15:29           ` Christian Ehrhardt
2002-08-26 17:56           ` Daniel Phillips
2002-08-26 17:56             ` Daniel Phillips
2002-08-26 19:24             ` Andrew Morton
2002-08-26 19:24               ` Andrew Morton
2002-08-26 19:34               ` Daniel Phillips
2002-08-26 19:34                 ` Daniel Phillips
2002-08-26 19:48               ` Christian Ehrhardt
2002-08-26 19:48                 ` Christian Ehrhardt
2002-08-27  9:22               ` Christian Ehrhardt
2002-08-27  9:22                 ` Christian Ehrhardt
2002-08-27 19:19                 ` Andrew Morton
2002-08-27 19:19                   ` Andrew Morton
2002-08-26 20:00             ` Christian Ehrhardt
2002-08-26 20:00               ` Christian Ehrhardt
2002-08-26 20:09               ` Daniel Phillips
2002-08-26 20:09                 ` Daniel Phillips
2002-08-26 20:58                 ` Christian Ehrhardt
2002-08-26 20:58                   ` Christian Ehrhardt
2002-08-27 16:48                   ` Daniel Phillips
2002-08-27 16:48                     ` Daniel Phillips
2002-08-28 13:14                     ` Christian Ehrhardt
2002-08-28 13:14                       ` Christian Ehrhardt
2002-08-28 17:18                       ` Daniel Phillips
2002-08-28 17:18                         ` Daniel Phillips
2002-08-28 17:42                         ` Andrew Morton
2002-08-28 17:42                           ` Andrew Morton
2002-08-28 20:41                       ` Daniel Phillips
2002-08-28 20:41                         ` Daniel Phillips
2002-08-28 21:03                         ` Andrew Morton
2002-08-28 21:03                           ` Andrew Morton
2002-08-28 22:04                           ` Daniel Phillips
2002-08-28 22:04                             ` Daniel Phillips
2002-08-28 22:39                             ` Andrew Morton
2002-08-28 22:39                               ` Andrew Morton
2002-08-28 22:57                               ` Daniel Phillips [this message]
2002-08-28 22:57                                 ` Daniel Phillips
2002-08-26 21:31                 ` Andrew Morton
2002-08-26 21:31                   ` Andrew Morton
2002-08-27  3:42                   ` Benjamin LaHaise
2002-08-27  3:42                     ` Benjamin LaHaise
2002-08-27  4:37                     ` Andrew Morton
2002-08-27  4:37                       ` Andrew Morton
2002-08-26 17:58     ` Linus Torvalds
2002-08-26 19:28       ` Rik van Riel
2002-08-30 23:03       ` [RFC] [PATCH] Include LRU in page count Daniel Phillips
2002-08-31 16:14         ` Christian Ehrhardt
2002-08-31 17:54           ` Andrew Morton
2002-08-31 19:47           ` Daniel Phillips
2002-08-31 20:26             ` Andrew Morton
2002-08-31 21:05               ` Daniel Phillips
2002-08-31 22:30                 ` William Lee Irwin III
2002-09-01  3:36                   ` Daniel Phillips
2002-09-01 21:32               ` Daniel Phillips
2002-09-01 22:09                 ` Andrew Morton
2002-09-01 22:08                   ` Daniel Phillips
2002-09-01 22:20                   ` Daniel Phillips
2002-09-01 23:08                     ` Andrew Morton
2002-09-01 23:19                       ` Daniel Phillips
2002-09-01 23:28                       ` William Lee Irwin III
2002-09-01 23:33                       ` Daniel Phillips
2002-09-02  0:17                         ` Andrew Morton
2002-09-02  0:30                           ` Daniel Phillips
2002-09-02  1:50                             ` Andrew Morton
2002-09-02  1:08                         ` Rik van Riel
2002-09-02 17:23             ` Christian Ehrhardt
2002-09-02 18:01               ` Daniel Phillips
2002-09-05  4:42         ` [RFC] Alternative raceless page free Daniel Phillips
2002-09-05 12:34           ` Christian Ehrhardt
2002-09-05 15:21             ` Daniel Phillips
2002-09-05 16:04               ` Christian Ehrhardt
2002-09-05 16:10                 ` Daniel Phillips
2002-09-05 16:31                 ` Daniel Phillips
2002-09-05 18:06                 ` [RFC] Alternative raceless page free, updated Daniel Phillips
2002-08-22 15:59 ` MM patches against 2.5.31 Steven Cole
2002-08-22 15:59   ` Steven Cole
2002-08-22 16:06   ` Martin J. Bligh
2002-08-22 16:06     ` Martin J. Bligh
2002-08-22 19:45     ` Steven Cole
2002-08-22 19:45       ` Steven Cole
2002-08-26  2:15     ` Andrew Morton
2002-08-26  2:15       ` Andrew Morton
2002-08-26  2:08       ` Martin J. Bligh
2002-08-26  2:08         ` Martin J. Bligh
2002-08-26  2:32         ` Andrew Morton
2002-08-26  2:32           ` Andrew Morton
2002-08-26  3:06           ` Steven Cole
2002-08-26  3:06             ` Steven Cole
  -- strict thread matches above, loose matches on Subject: below --
2002-08-26 22:09 Ed Tomlinson
2002-08-26 22:09 ` Ed Tomlinson
2002-08-26 23:58 ` Andrew Morton
2002-08-26 23:58   ` Andrew Morton
2002-08-27  0:13   ` Rik van Riel
2002-08-27  0:13     ` Rik van Riel

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=E17kBkK-0002uI-00@starship \
    --to=phillips@arcor.de \
    --cc=akpm@zip.com.au \
    --cc=ehrhardt@mathematik.uni-ulm.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    /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.