All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: Nick Piggin <npiggin@suse.de>
Cc: Linus Torvalds <torvalds@osdl.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Linux Memory Management List <linux-mm@kvack.org>,
	Greg KH <gregkh@suse.de>
Subject: Re: [patch] mm: bug in set_page_dirty_buffers
Date: Mon, 9 Oct 2006 20:50:30 -0700	[thread overview]
Message-ID: <20061009205030.e247482e.akpm@osdl.org> (raw)
In-Reply-To: <20061010033412.GH15822@wotan.suse.de>

On Tue, 10 Oct 2006 05:34:12 +0200
Nick Piggin <npiggin@suse.de> wrote:

> On Mon, Oct 09, 2006 at 08:20:39PM -0700, Andrew Morton wrote:
> > On Mon, 9 Oct 2006 20:06:05 -0700 (PDT)
> > Linus Torvalds <torvalds@osdl.org> wrote:
> > 
> > > On Tue, 10 Oct 2006, Nick Piggin wrote:
> > > >
> > > > This was triggered, but not the fault of, the dirty page accounting
> > > > patches. Suitable for -stable as well, after it goes upstream.
> > > 
> > > Applied. However, I wonder what protects "page_mapping()" here?
> > 
> > Nothing.  And I don't understand the (unchangelogged) switch from
> > page->mapping to page_mapping().
> 
> I did the switch because that is that its callers and
> the other spd functions are using to find the mapping.

Maybe they're wrong?

> > > I don't 
> > > think we hold the page lock anywhere, so "page->mapping" can change at any 
> > > time, no?
> > 
> > Yes.  The patch makes the race window a bit smaller.
> 
> It fixes the problem. The mapping is already pinned at this point,

Needs comment.

> the problem is that page_mapping is still free to go NULL at any
> time, and __set_page_dirty_buffers wasn't checking for that.
> 
> If there is another race, then it must be because the buffer code
> cannot cope with dirty buffers against a truncated page. It is
> kind of spaghetti, though. What stops set_page_dirty_buffers from
> racing with block_invalidatepage, for example?

Nothing that I can think of.  We keep on adding calls to set_page_dirty()
against unlocked pages.  It would have been better to fix that one case in
the pte-unmapping path rather than adding heaps more.

--
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/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2006-10-10  3:50 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-10  2:36 [patch] mm: bug in set_page_dirty_buffers Nick Piggin
2006-10-10  3:06 ` Linus Torvalds
2006-10-10  3:19   ` Nick Piggin
2006-10-10  3:20   ` Andrew Morton
2006-10-10  3:34     ` Nick Piggin
2006-10-10  3:50       ` Andrew Morton [this message]
2006-10-10  3:58         ` Nick Piggin
2006-10-10  4:14           ` Andrew Morton
2006-10-10  4:21             ` Nick Piggin
2006-10-10  4:38               ` Andrew Morton
2006-10-10  4:47                 ` Nick Piggin
2006-10-10  5:01                   ` Andrew Morton
2006-10-10  5:22                     ` Nick Piggin
2006-10-10  5:29                       ` Andrew Morton
2006-10-10  5:48                         ` Nick Piggin
2006-10-10  6:08                           ` Andrew Morton
2006-10-10  6:19                             ` Nick Piggin
2006-10-10  6:27                               ` Andrew Morton
2006-10-10  6:39                                 ` Nick Piggin
2006-10-10  6:52                                   ` Nick Piggin
2006-10-10  7:06                                     ` Andrew Morton
2006-10-10  7:21                                       ` Nick Piggin
2006-10-10  8:07                                         ` Andrew Morton
2006-10-10  8:18                                           ` Nick Piggin
2006-10-10  8:41                                             ` Andrew Morton
2006-10-10  8:49                                               ` Nick Piggin
2006-10-10  9:07                                                 ` Andrew Morton
2006-10-10  9:23                                                   ` Nick Piggin
2006-10-10  6:48                       ` Peter Zijlstra
2006-10-10  6:59                         ` Nick Piggin
2006-10-10  7:11                           ` Peter Zijlstra
2006-10-10  7:30                             ` Nick Piggin
2006-10-10  4:11         ` Nick Piggin
2006-10-10  3:37     ` Andrew Morton
2006-10-10  3:42       ` Nick Piggin
2006-10-10  7:42 ` patch mm-bug-in-set_page_dirty_buffers.patch queued to -stable tree gregkh

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=20061009205030.e247482e.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=gregkh@suse.de \
    --cc=linux-mm@kvack.org \
    --cc=npiggin@suse.de \
    --cc=torvalds@osdl.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.