Skip to content

Commit

Permalink
x86: CPA return early when requested feature is not available
Browse files Browse the repository at this point in the history
Mask out the not supported bits (e.g. NX). If the clr/set masks
are empty after the mask return without changing anything.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Thomas Gleixner authored and Ingo Molnar committed Feb 4, 2008
1 parent 1c083eb commit 331e406
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions arch/x86/mm/pageattr.c
Original file line number Diff line number Diff line change
Expand Up @@ -405,8 +405,18 @@ static int __change_page_attr_set_clr(unsigned long addr, int numpages,
static int change_page_attr_set_clr(unsigned long addr, int numpages,
pgprot_t mask_set, pgprot_t mask_clr)
{
int ret = __change_page_attr_set_clr(addr, numpages, mask_set,
mask_clr);
int ret;

/*
* Check, if we are requested to change a not supported
* feature:
*/
mask_set = canon_pgprot(mask_set);
mask_clr = canon_pgprot(mask_clr);
if (!pgprot_val(mask_set) && !pgprot_val(mask_clr))
return 0;

ret = __change_page_attr_set_clr(addr, numpages, mask_set, mask_clr);

/*
* On success we use clflush, when the CPU supports it to
Expand Down

0 comments on commit 331e406

Please sign in to comment.