Re: [PATCH mm] limit the mm->map_count not greater thansysctl_max_map_count

From: Li Zhong
Date: Wed Apr 18 2012 - 21:41:52 EST


On Wed, 2012-04-18 at 21:28 +0800, Cong Wang wrote:
> On 04/18/2012 05:27 PM, Li Zhong wrote:
> > When reading the mmap codes, I found the checking of mm->map_count
> > against sysctl_max_map_count is not consistent. At some places, ">" is
> > used; at some other places, ">=" is used.
> >
> > This patch changes ">" to">=", so they are consistent, and makes sure
> > the value is not greater (one more) than sysctl_max_map_count.
> >
>
> Well, according to Documentation/sysctl/vm.txt,
>
> max_map_count:
>
> This file contains the maximum number of memory map areas a process
> may have. [...]
>
> I think ->map_count == sysctl_max_map_count should be allowed, so using
> '>' is correct.
>
Yes, I agree that ->map_count == sysctl_max_map_count should be allowed.
However, with '>' used. The ->map_count could be sysctl_max_map_count+1.
It could be seen with a simple program doing continuously mmaping of a
file.

( Still it is possible, as stated in the comments of do_munmap code, if
the VMA is going to be divided into two, the map_count could temporarily
be sysctl_max_map_count+1, after the original vma split into two, and
before one of the two vmas removed. )


--
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/