| From 8c40292be9169a9cbe19aadd1a6fc60cbd1af82f Mon Sep 17 00:00:00 2001 |
| From: Jiufei Xue <jiufei.xue@linux.alibaba.com> |
| Date: Thu, 11 Apr 2019 19:25:12 +0200 |
| Subject: fbdev: fix WARNING in __alloc_pages_nodemask bug |
| |
| From: Jiufei Xue <jiufei.xue@linux.alibaba.com> |
| |
| commit 8c40292be9169a9cbe19aadd1a6fc60cbd1af82f upstream. |
| |
| Syzkaller hit 'WARNING in __alloc_pages_nodemask' bug. |
| |
| WARNING: CPU: 1 PID: 1473 at mm/page_alloc.c:4377 |
| __alloc_pages_nodemask+0x4da/0x2130 |
| Kernel panic - not syncing: panic_on_warn set ... |
| |
| Call Trace: |
| alloc_pages_current+0xb1/0x1e0 |
| kmalloc_order+0x1f/0x60 |
| kmalloc_order_trace+0x1d/0x120 |
| fb_alloc_cmap_gfp+0x85/0x2b0 |
| fb_set_user_cmap+0xff/0x370 |
| do_fb_ioctl+0x949/0xa20 |
| fb_ioctl+0xdd/0x120 |
| do_vfs_ioctl+0x186/0x1070 |
| ksys_ioctl+0x89/0xa0 |
| __x64_sys_ioctl+0x74/0xb0 |
| do_syscall_64+0xc8/0x550 |
| entry_SYSCALL_64_after_hwframe+0x49/0xbe |
| |
| This is a warning about order >= MAX_ORDER and the order is from |
| userspace ioctl. Add flag __NOWARN to silence this warning. |
| |
| Signed-off-by: Jiufei Xue <jiufei.xue@linux.alibaba.com> |
| Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/video/fbdev/core/fbcmap.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/video/fbdev/core/fbcmap.c |
| +++ b/drivers/video/fbdev/core/fbcmap.c |
| @@ -94,6 +94,8 @@ int fb_alloc_cmap_gfp(struct fb_cmap *cm |
| int size = len * sizeof(u16); |
| int ret = -ENOMEM; |
| |
| + flags |= __GFP_NOWARN; |
| + |
| if (cmap->len != len) { |
| fb_dealloc_cmap(cmap); |
| if (!len) |