[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070115231050.GA32220@localhost>
Date: Mon, 15 Jan 2007 18:10:50 -0500
From: "Bob Picco" <bob.picco@...com>
To: akpm@...l.org
Cc: pj@....com, bob.picco@...com, linux-kernel@...r.kernel.org
Subject: [PATCH] CPUSET related breakage of sys_mbind
current->mems_allowed is defined for CONFIG_CPUSETS. This broke !CPUSETS
build. I compiled and linked tested both variants.
Signed-off-by: Bob Picco <bob.picco@...com>
include/linux/cpuset.h | 6 ++++++
mm/mempolicy.c | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
Index: linux-2.6.20-rc4-mm1/mm/mempolicy.c
===================================================================
--- linux-2.6.20-rc4-mm1.orig/mm/mempolicy.c 2007-01-15 09:21:58.000000000 -0500
+++ linux-2.6.20-rc4-mm1/mm/mempolicy.c 2007-01-15 17:51:15.000000000 -0500
@@ -882,9 +882,9 @@ asmlinkage long sys_mbind(unsigned long
int err;
err = get_nodes(&nodes, nmask, maxnode);
- nodes_and(nodes, nodes, current->mems_allowed);
if (err)
return err;
+ cpuset_nodes_allowed(&nodes);
return do_mbind(start, len, mode, &nodes, flags);
}
Index: linux-2.6.20-rc4-mm1/include/linux/cpuset.h
===================================================================
--- linux-2.6.20-rc4-mm1.orig/include/linux/cpuset.h 2007-01-15 09:21:32.000000000 -0500
+++ linux-2.6.20-rc4-mm1/include/linux/cpuset.h 2007-01-15 14:01:30.000000000 -0500
@@ -75,6 +75,11 @@ static inline int cpuset_do_slab_mem_spr
extern void cpuset_track_online_nodes(void);
+static inline void cpuset_nodes_allowed(nodemask_t *nodes)
+{
+ nodes_and(*nodes, *nodes, current->mems_allowed);
+}
+
#else /* !CONFIG_CPUSETS */
static inline int cpuset_init_early(void) { return 0; }
@@ -145,6 +150,7 @@ static inline int cpuset_do_slab_mem_spr
}
static inline void cpuset_track_online_nodes(void) {}
+static inline void cpuset_nodes_allowed(nodemask_t *nodes) {}
#endif /* !CONFIG_CPUSETS */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists