Messages in this thread | | | Date | Fri, 2 Nov 2007 00:56:44 +0100 | From | Nick Piggin <> | 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |