#include <errno.h>
 #include <fcntl.h>
 #include <assert.h>
+#include <linux/mman.h>
 #include <sys/mman.h>
 #include <sys/ioctl.h>
 #include <sys/wait.h>
 
 #include <sys/shm.h>
 #include <sys/mman.h>
 
-#ifndef SHM_HUGETLB
-#define SHM_HUGETLB 04000
-#endif
-
 #define LENGTH (256UL*1024*1024)
 
 #define dprintf(x)  printf(x)
 
 
 #define MAP_LENGTH             (2UL * 1024 * 1024)
 
-#ifndef MAP_HUGETLB
-#define MAP_HUGETLB            0x40000 /* arch specific */
-#endif
-
 #define PAGE_SIZE              4096
 
 #define PAGE_COMPOUND_HEAD     (1UL << 15)
 
 #include <string.h>
 #include <unistd.h>
 
+#include <linux/mman.h>
 #include <sys/mman.h>
 #include <sys/wait.h>
 #include <sys/types.h>
 
 #include "../kselftest.h"
 #include "vm_util.h"
 
-#ifndef MADV_POPULATE_READ
-#define MADV_POPULATE_READ     22
-#endif /* MADV_POPULATE_READ */
-#ifndef MADV_POPULATE_WRITE
-#define MADV_POPULATE_WRITE    23
-#endif /* MADV_POPULATE_WRITE */
-
 /*
  * For now, we're using 2 MiB of private anonymous memory for all tests.
  */
 
 #include <stdlib.h>
 #include <unistd.h>
 
-#ifndef MAP_FIXED_NOREPLACE
-#define MAP_FIXED_NOREPLACE 0x100000
-#endif
-
 static void dump_maps(void)
 {
        char cmd[32];
 
 #define LENGTH (256UL*1024*1024)
 #define PROTECTION (PROT_READ | PROT_WRITE)
 
-#ifndef MAP_HUGETLB
-#define MAP_HUGETLB 0x40000 /* arch specific */
-#endif
-
-#ifndef MAP_HUGE_SHIFT
-#define MAP_HUGE_SHIFT 26
-#endif
-
-#ifndef MAP_HUGE_MASK
-#define MAP_HUGE_MASK 0x3f
-#endif
-
 /* Only ia64 requires this */
 #ifdef __ia64__
 #define ADDR (void *)(0x8000000000000000UL)
 
 #include <string.h>
 #include <unistd.h>
 
-#ifndef MMAP_SZ
 #define MMAP_SZ                4096
-#endif
 
 #define BUG_ON(condition, description)                                 \
        do {                                                            \
 
 #include <sys/resource.h>
 #include <sys/capability.h>
 #include <sys/mman.h>
+#include <linux/mman.h>
 #include <fcntl.h>
 #include <string.h>
 #include <sys/ipc.h>
 
 #include <stdio.h>
 #include <stdlib.h>
 
-#ifndef MLOCK_ONFAULT
-#define MLOCK_ONFAULT 1
-#endif
-
-#ifndef MCL_ONFAULT
-#define MCL_ONFAULT (MCL_FUTURE << 1)
-#endif
-
 static int mlock2_(void *start, size_t len, int flags)
 {
 #ifdef __NR_mlock2
 
 #include <stdlib.h>
 #include <sys/wait.h>
 #include <unistd.h>
+#include <asm-generic/unistd.h>
 #include "vm_util.h"
-
 #include "../kselftest.h"
 
-#ifndef __NR_pidfd_open
-#define __NR_pidfd_open -1
-#endif
-
-#ifndef __NR_process_mrelease
-#define __NR_process_mrelease -1
-#endif
-
 #define MB(x) (x << 20)
 #define MAX_SIZE_MB 1024
 
 
 
 #include "../kselftest.h"
 
-#ifndef MREMAP_DONTUNMAP
-#define MREMAP_DONTUNMAP 4
-#endif
-
 unsigned long page_size;
 char *page_buffer;
 
 
 #include <sys/time.h>
 #include <sys/resource.h>
 
-#ifndef MCL_ONFAULT
-#define MCL_ONFAULT (MCL_FUTURE << 1)
-#endif
-
 static int test_limit(void)
 {
        int ret = 1;
 
 #ifndef _PKEYS_POWERPC_H
 #define _PKEYS_POWERPC_H
 
-#ifndef SYS_mprotect_key
-# define SYS_mprotect_key      386
-#endif
 #ifndef SYS_pkey_alloc
 # define SYS_pkey_alloc                384
 # define SYS_pkey_free         385
 
 
 #ifdef __i386__
 
-#ifndef SYS_mprotect_key
-# define SYS_mprotect_key      380
-#endif
-
-#ifndef SYS_pkey_alloc
-# define SYS_pkey_alloc                381
-# define SYS_pkey_free         382
-#endif
-
 #define REG_IP_IDX             REG_EIP
 #define si_pkey_offset         0x14
 
 #else
 
-#ifndef SYS_mprotect_key
-# define SYS_mprotect_key      329
-#endif
-
-#ifndef SYS_pkey_alloc
-# define SYS_pkey_alloc                330
-# define SYS_pkey_free         331
-#endif
-
 #define REG_IP_IDX             REG_RIP
 #define si_pkey_offset         0x20
 
 
        pkey_disable_set(pkey, PKEY_DISABLE_ACCESS);
 }
 
-/* Failed address bound checks: */
-#ifndef SEGV_BNDERR
-# define SEGV_BNDERR           3
-#endif
-
-#ifndef SEGV_PKUERR
-# define SEGV_PKUERR           4
-#endif
-
 static char *si_code_str(int si_code)
 {
        if (si_code == SEGV_MAPERR)
                        ptr, size, orig_prot, pkey);
 
        errno = 0;
-       sret = syscall(SYS_mprotect_key, ptr, size, orig_prot, pkey);
+       sret = syscall(__NR_pkey_mprotect, ptr, size, orig_prot, pkey);
        if (errno) {
                dprintf2("SYS_mprotect_key sret: %d\n", sret);
                dprintf2("SYS_mprotect_key prot: 0x%lx\n", orig_prot);
                return;
        }
 
-       sret = syscall(SYS_mprotect_key, ptr, size, PROT_READ, pkey);
+       sret = syscall(__NR_pkey_mprotect, ptr, size, PROT_READ, pkey);
        pkey_assert(sret < 0);
 }
 
 
 
 #define PAGEMAP_PRESENT(ent)   (((ent) & (1ull << 63)) != 0)
 #define PAGEMAP_PFN(ent)       ((ent) & ((1ull << 55) - 1))
-
-#ifndef MADV_PAGEOUT
-#define MADV_PAGEOUT 21
-#endif
-#ifndef MADV_POPULATE_READ
-#define MADV_POPULATE_READ 22
-#endif
-#ifndef MADV_COLLAPSE
-#define MADV_COLLAPSE 25
-#endif