[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20071101235644.GA20144@wotan.suse.de>
Date: Fri, 2 Nov 2007 00:56:44 +0100
From: Nick Piggin <npiggin@...e.de>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Duane Griffin <duaneg@...da.com>,
linux-kernel Mailing List <linux-kernel@...r.kernel.org>,
stable@...nel.org, Hugh Dickins <hugh@...itas.com>
Subject: Re: 2.6.23 regression: accessing invalid mmap'ed memory from gdb causes unkillable spinning
On Thu, Nov 01, 2007 at 09:08:45AM -0700, Linus Torvalds wrote:
>
>
> On Thu, 1 Nov 2007, Nick Piggin wrote:
> >
> > Untested patch follows
>
> Ok, this looks ok.
>
> Except I would remove the VM_MAYSHARE bit from the test.
But we do want to allow forced COW faults for MAP_PRIVATE mappings. gdb
uses this for inserting breakpoints (but fortunately, a COW page in a
MAP_PRIVATE mapping is a much more natural thing for the VM).
> That whole bit should go, in fact.
>
> We used to make it something different: iirc, a read-only SHARED mapping
> was downgraded to a non-shared mapping, because we wanted to avoid some of
> the costs we used to have with the VM implementation (actually, I think it
> was various filesystems that don't like shared mappings because they don't
> have a per-page writeback). But we left the VM_MAYSHARE bit on, to get
> /proc/<pid>/mmap things right.
>
> Or something like that. I forget the details. But I *think* we don't
> actually need this any more.
>
> But basically, the "right" way to test for shared mappings is historically
> to just test the VM_MAYSHARE bit - but not *both* bits. Because VM_SHARE
> may have been artificially cleared.
I think you're right -- VM_MAYSHARE is basically testing for MAP_SHARED.
I just don't know exactly what you're proposing here.
Thanks,
Nick
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists