diff options
author | David Rientjes <rientjes@google.com> | 2008-07-04 12:24:13 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-04 13:03:05 -0700 |
commit | d79df630f622806c4d0e116fbaf6ebf6baf53461 (patch) | |
tree | d5a1c06209210c84ec60099687e4a87723ae1599 /mm | |
parent | b8a0b6ccf2ba2519ace65d782b41ee91bf3c3778 (diff) | |
download | lwn-d79df630f622806c4d0e116fbaf6ebf6baf53461.tar.gz lwn-d79df630f622806c4d0e116fbaf6ebf6baf53461.zip |
mempolicy: mask off internal flags for userspace API
Flags considered internal to the mempolicy kernel code are stored as part
of the "flags" member of struct mempolicy.
Before exposing a policy type to userspace via get_mempolicy(), these
internal flags must be masked. Flags exposed to userspace, however,
should still be returned to the user.
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/mempolicy.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/mm/mempolicy.c b/mm/mempolicy.c index a37a5034f63d..c94e58b192c3 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -729,7 +729,11 @@ static long do_get_mempolicy(int *policy, nodemask_t *nmask, } else { *policy = pol == &default_policy ? MPOL_DEFAULT : pol->mode; - *policy |= pol->flags; + /* + * Internal mempolicy flags must be masked off before exposing + * the policy to userspace. + */ + *policy |= (pol->flags & MPOL_MODE_FLAGS); } if (vma) { |