On Wed, Oct 10, 2012 at 12:47:16AM +0200, Jakub Zawadzki wrote: > On Mon, Oct 08, 2012 at 06:29:33PM -0400, Evan Huus wrote: > > It doesn't crash, yes, but it leaks again. I've added > > emem_destroy_chunk() for now in revision 45412, > > I forgot to note that emem_destroy_chunk() works only with chunks > created with emem_create_chunk() > > emem_create_chunk_gp() changes npc->buf, and amount_free_init > So it leaks 2 * page_size (8KiB) per packet ;| > > Still I don't understand why it fails assertion when doing mprotect() > [bug #7814].
Probably linux kernel limit: $ cat /proc/sys/vm/max_map_count 65530 Quoting Documentation/sysctl/vm.txt #v+ max_map_count: This file contains the maximum number of memory map areas a process may have. Memory map areas are used as a side-effect of calling malloc, directly by mmap and mprotect, and also when loading shared libraries. While most applications need less than a thousand maps, certain programs, particularly malloc debuggers, may consume lots of them, e.g., up to one or two maps per allocation. The default value is 65536. #v- So we really need to pass pointer got from mmap() ;| ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <[email protected]> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:[email protected]?subject=unsubscribe
