Commit 248fbcd5 authored by Matt Fleming's avatar Matt Fleming Committed by Ingo Molnar

x86/efi-bgrt: Switch pr_err() to pr_debug() for invalid BGRT

It's totally legitimate, per the ACPI spec, for the firmware to
set the BGRT 'status' field to zero to indicate that the BGRT
image isn't being displayed, and we shouldn't be printing an
error message in that case because it's just noise for users. So
swap pr_err() for pr_debug().

However, Josh points that out it still makes sense to test the
validity of the upper 7 bits of the 'status' field, since
they're marked as "reserved" in the spec and must be zero. If
firmware violates this it really *is* an error.
Reported-by: default avatarTom Yan <tom.ty89@gmail.com>
Tested-by: default avatarTom Yan <tom.ty89@gmail.com>
Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1438936621-5215-2-git-send-email-matt@codeblueprint.co.ukSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 87db73ae
...@@ -50,8 +50,13 @@ void __init efi_bgrt_init(void) ...@@ -50,8 +50,13 @@ void __init efi_bgrt_init(void)
bgrt_tab->version); bgrt_tab->version);
return; return;
} }
if (bgrt_tab->status & 0xfe) {
pr_err("Ignoring BGRT: reserved status bits are non-zero %u\n",
bgrt_tab->status);
return;
}
if (bgrt_tab->status != 1) { if (bgrt_tab->status != 1) {
pr_err("Ignoring BGRT: invalid status %u (expected 1)\n", pr_debug("Ignoring BGRT: invalid status %u (expected 1)\n",
bgrt_tab->status); bgrt_tab->status);
return; return;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment