[PATCH 5/5] x86/boot: Fix pr_debug() API braindamage
From: Ingo Molnar
Date: Wed Feb 01 2017 - 04:51:56 EST
From: Borislav Petkov <bp@xxxxxxxxx>
What looked like a straightforward conversion from printk(KERN_DEBUG, ...)
to pr_debug() broke the boot log output:
DMI: /M57SLI-S4, BIOS FF 01/24/2008
-e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
-e820: remove [mem 0x000a0000-0x000fffff] usable
+usable ==> reserved
+usable
e820: last_pfn = 0x230000 max_arch_pfn = 0x400000000
...
x86/PAT: Configuration [0-7]: WB WC UC- UC WB WC UC- WT
-e820: update [mem 0xd0000000-0xffffffff] usable ==> reserved
+usable ==> reserved
i.e. spurious (and nonsensical) kernel log entries were created...
We need a pr_debug_and_I_mean_it() function which does nothing but
printk(KERN_DEBUG...
Signed-off-by: Borislav Petkov <bp@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
[ Wrote changelog. ]
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
arch/x86/kernel/e820.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
index e2fb20ac5135..6e9b26fa6d05 100644
--- a/arch/x86/kernel/e820.c
+++ b/arch/x86/kernel/e820.c
@@ -411,7 +411,7 @@ __e820__range_update(struct e820_table *table, u64 start, u64 size, enum e820_ty
size = ULLONG_MAX - start;
end = start + size;
- pr_debug("e820: update [mem %#010Lx-%#010Lx] ", start, end - 1);
+ printk(KERN_DEBUG "e820: update [mem %#010Lx-%#010Lx] ", start, end - 1);
e820_print_type(old_type);
pr_cont(" ==> ");
e820_print_type(new_type);
@@ -487,7 +487,7 @@ u64 __init e820__range_remove(u64 start, u64 size, enum e820_type old_type, bool
size = ULLONG_MAX - start;
end = start + size;
- pr_debug("e820: remove [mem %#010Lx-%#010Lx] ", start, end - 1);
+ printk(KERN_DEBUG "e820: remove [mem %#010Lx-%#010Lx] ", start, end - 1);
if (check_type)
e820_print_type(old_type);
pr_cont("\n");
@@ -1121,7 +1121,7 @@ void __init e820__reserve_resources_late(void)
if (start >= end)
continue;
- pr_debug("e820: reserve RAM buffer [mem %#010llx-%#010llx]\n", start, end);
+ printk(KERN_DEBUG "e820: reserve RAM buffer [mem %#010llx-%#010llx]\n", start, end);
reserve_region_with_split(&iomem_resource, start, end, "RAM buffer");
}
}
--
2.7.4