diff options
author | Tom Gundersen <[email protected]> | 2013-10-01 18:18:40 +0200 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2013-10-02 07:50:40 +0200 |
commit | e33a29a5ae711162c6b6fefc0a2ef18f4a4254bf (patch) | |
tree | 292279e5e312b12e60598caab00434ddd21c536f | |
parent | 669fc2f0c70a6e14eefc503b72ce350448e9634e (diff) |
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 <[email protected]>
Reviewed-by: David Herrmann <[email protected]>
Cc: Geert Uytterhoeven <[email protected]>
Cc: Stephen Warren <[email protected]>
Cc: Stephen Warren <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
-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; } |