According to the mmap man page, MAP_SHARED_VALIDATE provides the same behavior as MAP_SHARED except that unknown flags result in an EOPNOTSUPP error. However, the following results in a failed mapping with error EINVAL: mmap(0, size, PROT_READ|PROT_WRITE, MAP_ANONYMOUS|MAP_SHARED_VALIDATE, -1, 0); Looking at the code of do_mmap() in "mm/mmap.c", if file is NULL, then -EINVAL is returned if (flags & MAP_TYPE) is neither MAP_SHARED nor MAP_PRIVATE. Related question on stackoverflow: https://stackoverflow.com/questions/64354124