diff options
author | Tom Gundersen <teg@jklm.no> | 2013-10-01 18:18:40 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2013-10-02 07:50:40 +0200 |
commit | e33a29a5ae711162c6b6fefc0a2ef18f4a4254bf (patch) | |
tree | 292279e5e312b12e60598caab00434ddd21c536f /arch | |
parent | 669fc2f0c70a6e14eefc503b72ce350448e9634e (diff) | |
download | blackbird-op-linux-e33a29a5ae711162c6b6fefc0a2ef18f4a4254bf.tar.gz blackbird-op-linux-e33a29a5ae711162c6b6fefc0a2ef18f4a4254bf.zip |
x86/simplefb: Fix overflow causing bogus fall-back
On my MacBook Air lfb_size is 4M, which makes the bitshit
overflow (to 256GB - larger than 32 bits), meaning we fall
back to efifb unnecessarily.
Cast to u64 to avoid the overflow.
Signed-off-by: Tom Gundersen <teg@jklm.no>
Reviewed-by: David Herrmann <dh.herrmann@gmail.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Stephen Warren <swarren@nvidia.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Link: http://lkml.kernel.org/r/1380644320-1026-1-git-send-email-teg@jklm.no
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/sysfb_simplefb.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/sysfb_simplefb.c b/arch/x86/kernel/sysfb_simplefb.c index 22513e96b012..4ebd636b04b8 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; } |