Opened 9 months ago

#17224 new bug

MMAP: process address mapping uses all avail memory due to no ENOMEM result

Reported by: cocobean Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: System/POSIX Version: R1/beta3
Keywords: mmap, posix Cc:
Blocked By: Blocking:
Platform: All

Description

Open POSIX Test Suite fails MMAP 24-1 test. Does not provided ENOMEM result when available or free memory resource(s) is near exhaustion (i.e. insufficient room in the address space for continued memory mapping).

The test will hold used memory resources even if the thread is killed. Tested on Haiku R1B3 x86_64 (+56).

  The mmap() function shall fail if:
  [ENOMEM] MAP_FIXED was specified, and the range [addr,addr+len)
  exceeds that allowed for the address space of a process;
  or, if MAP_FIXED was not specified and
  there is insufficient room in the address space to effect the mapping.
 
  Test Steps:
  1. In a very long loop, keep mapping a shared memory object,
     until there this insufficient room in the address space;
  2. Should get ENOMEM.

Ref: ​https://github.com/haiku/open_posix_testsuite/blob/master/conformance/interfaces/mmap/24-1.c

Change History (0)

Note: See TracTickets for help on using tickets.