1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
/*
* SYSCALL_DEFINE5(get_mempolicy, int __user *, policy,
unsigned long __user *, nmask, unsigned long, maxnode,
unsigned long, addr, unsigned long, flags)
*/
#define MPOL_F_NODE (1<<0) /* return next IL mode instead of node mask */
#define MPOL_F_ADDR (1<<1) /* look up vma using address */
#define MPOL_F_MEMS_ALLOWED (1<<2) /* return allowed memories */
#include "sanitise.h"
static unsigned long get_mempolicy_flags[] = {
MPOL_F_NODE, MPOL_F_ADDR, MPOL_F_MEMS_ALLOWED,
};
struct syscallentry syscall_get_mempolicy = {
.name = "get_mempolicy",
.num_args = 5,
.arg1name = "policy",
.arg1type = ARG_ADDRESS,
.arg2name = "nmask",
.arg2type = ARG_ADDRESS,
.arg3name = "maxnode",
.arg3type = ARG_RANGE,
.low3range = 0,
.hi3range = 1 << 9, /* 1 << CONFIG_NODES_SHIFT */
.arg4name = "addr",
.arg4type = ARG_ADDRESS,
.arg5name = "flags",
.arg5type = ARG_LIST,
.arg5list = ARGLIST(get_mempolicy_flags),
.rettype = RET_ZERO_SUCCESS,
};
|