Re: [BUG] hugetlb MAP_PRIVATE mapping vs /dev/zero

From: David Gibson
Date: Thu Jul 01 2004 - 20:26:49 EST


On Thu, Jul 01, 2004 at 08:29:18PM +0400, Oleg Nesterov wrote:
> Hello.
>
> Hugetlbfs mmap with MAP_PRIVATE becomes MAP_SHARED
> silently, but vma->vm_flags have no VM_SHARED bit.
> I think it make sense to forbid MAP_PRIVATE in
> hugetlbfs_file_mmap() because it may confuse user
> space applications. But the real bug is that reading
> from /dev/zero into hugetlb will do:
>
> read_zero()
> read_zero_pagealigned()
> if (vma->vm_flags & VM_SHARED)
> break; // OK if MAP_PRIVATE
> zap_page_range();
> zeromap_page_range();
>
> We can fix hugetlbfs_file_mmap() or read_zero_pagealigned()
> or both.

Err... surely we need to fix both, yes?

--
David Gibson | For every complex problem there is a
david AT gibson.dropbear.id.au | solution which is simple, neat and
| wrong.
http://www.ozlabs.org/people/dgibson
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/