On my MacBook Air lfb_size is 4M, which makes the bitshit overflow, meaning we fall back to efifb unnecessarily.
Cast to u64 to avoid the overflow. Signed-off-by: Tom Gundersen <[email protected]> Reviewed-by: David Herrmann <[email protected]> Cc: Geert Uytterhoeven <[email protected]> Cc: H. Peter Anvin <[email protected]> Cc: Ingo Molnar <[email protected]> Cc: Stephen Warren <[email protected]>, Cc: Stephen Warren <[email protected]> Cc: Thomas Gleixner <[email protected]> --- v2: use (__u64) rather than (unsigned long). This is strictly speaking not necessary, but as David poited out it makes it more obvious that we we won't have problems on 32bit. v3: remove superfluous parens and use (u64) rather than (__64) as this is not shared by userspace. arch/x86/kernel/sysfb_simplefb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/sysfb_simplefb.c b/arch/x86/kernel/sysfb_simplefb.c index 22513e9..4ebd636 100644 --- a/arch/x86/kernel/sysfb_simplefb.c +++ b/arch/x86/kernel/sysfb_simplefb.c @@ -72,7 +72,7 @@ __init int create_simplefb(const struct screen_info *si, * the part that is occupied by the framebuffer */ len = mode->height * mode->stride; len = PAGE_ALIGN(len); - if (len > si->lfb_size << 16) { + if (len > (u64)si->lfb_size << 16) { printk(KERN_WARNING "sysfb: VRAM smaller than advertised\n"); return -EINVAL; } -- 1.8.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

