MM, NUMA : sys_set_mempolicy() doesnt check if mode < 0 A kernel BUG() is triggered by a call to set_mempolicy() with a negative first argument. This is because the mode is declared as an int, and the validity check doesnt check < 0 values. Alternatively, mode could be declared as unsigned int or unsigned long. Thank you Eric --------------------------------- Test program for x86_64: --------------------------------- #include #include #include #include #define __NR_set_mempolicy 238 #define __sys_set_mempolicy(mode, nmask, maxnode) _syscall3(int, set_mempolicy, int, mode, unsigned long *, nmask, unsigned long, maxnode) static __sys_set_mempolicy(mode, nmask, maxnode) unsigned long nodes = 3; int main() { int ret = set_mempolicy(-6, &nodes, 2); printf("result=%d errno=%d\n", ret, errno); return 0; } Signed-off-by: Eric Dumazet