--- arch/i386/mm/pageattr.c | 2 +- arch/x86_64/mm/pageattr.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) Index: linux/arch/i386/mm/pageattr.c =================================================================== --- linux.orig/arch/i386/mm/pageattr.c +++ linux/arch/i386/mm/pageattr.c @@ -151,7 +151,7 @@ static int __change_page_attr(unsigned l BUG_ON(page_private(kpte_page) == 0); page_private(kpte_page)--; } else - BUG(); + return 0; /* * If the pte was reserved, it means it was created at boot Index: linux/arch/x86_64/mm/pageattr.c =================================================================== --- linux.orig/arch/x86_64/mm/pageattr.c +++ linux/arch/x86_64/mm/pageattr.c @@ -145,7 +145,7 @@ __change_page_attr(unsigned long address BUG_ON(page_private(kpte_page) == 0); page_private(kpte_page)--; } else - BUG(); + return 0; /* on x86-64 the direct mapping set at boot is not using 4k pages */ BUG_ON(PageReserved(kpte_page));