From: Kirill Tkhai <ktk...@virtuozzo.com> NUMA mustn't not available in CT, so let's prohibit these calls. For CT tasks this will look like kernel compiled without NUMA support.
https://jira.sw.ru/browse/PSBM-92583 Signed-off-by: Kirill Tkhai <ktk...@virtuozzo.com> (cherry-picked from vz7 commit 01720c50bea3 ("mempolicy: Prohibit VE processes numa binding syscalls")) https://jira.sw.ru/browse/PSBM-127854 Signed-off-by: Valeriy Vdovin <valeriy.vdo...@virtuozzo.com> (cherry picked from vz8 commit 75e78183725620559575ddce45da666dd722077f) Signed-off-by: Andrey Zhadchenko <andrey.zhadche...@virtuozzo.com> --- mm/mempolicy.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index e32360e..fb58cc4 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -1491,6 +1491,9 @@ static long kernel_set_mempolicy(int mode, const unsigned long __user *nmask, int lmode = mode; int err; + if (!ve_is_super(get_exec_env())) + return -ENOSYS; + err = sanitize_mpol_flags(&lmode, &mode_flags); if (err) return err; @@ -1653,6 +1656,9 @@ static int kernel_get_mempolicy(int __user *policy, unsigned long nr_bits, alloc_size; DECLARE_BITMAP(bm, MAX_NUMNODES); + if (!ve_is_super(get_exec_env())) + return -ENOSYS; + nr_bits = min_t(unsigned long, maxnode-1, nr_node_ids); alloc_size = ALIGN(nr_bits, BITS_PER_LONG) / 8; @@ -1702,6 +1708,9 @@ static int kernel_get_mempolicy(int __user *policy, unsigned long nr_bits, alloc_size; nodemask_t bm; + if (!ve_is_super(get_exec_env())) + return -ENOSYS; + nr_bits = min_t(unsigned long, maxnode-1, MAX_NUMNODES); alloc_size = ALIGN(nr_bits, BITS_PER_LONG) / 8; -- 1.8.3.1 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel