Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'fbdev-for-6.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev

Pull fbdev fixes for 6.17-rc1:

- Revert a patch which broke VGA console

- Fix an out-of-bounds access bug which may happen during console
resizing when a console is mapped to a frame buffer

* tag 'fbdev-for-6.17-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
Revert "vgacon: Add check for vc_origin address range in vgacon_scroll()"
fbdev: Fix vmalloc out-of-bounds write in fast_imageblit

+6 -5
+1 -1
drivers/video/console/vgacon.c
··· 1168 1168 c->vc_screenbuf_size - delta); 1169 1169 c->vc_origin = vga_vram_end - c->vc_screenbuf_size; 1170 1170 vga_rolled_over = 0; 1171 - } else if (oldo - delta >= (unsigned long)c->vc_screenbuf) 1171 + } else 1172 1172 c->vc_origin -= delta; 1173 1173 c->vc_scr_end = c->vc_origin + c->vc_screenbuf_size; 1174 1174 scr_memsetw((u16 *) (c->vc_origin), c->vc_video_erase_char,
+5 -4
drivers/video/fbdev/core/fbcon.c
··· 837 837 fg_vc->vc_rows); 838 838 } 839 839 840 - update_screen(vc_cons[fg_console].d); 840 + if (fg_console != unit) 841 + update_screen(vc_cons[fg_console].d); 841 842 } 842 843 843 844 /** ··· 1376 1375 struct vc_data *svc; 1377 1376 struct fbcon_ops *ops = info->fbcon_par; 1378 1377 int rows, cols; 1378 + unsigned long ret = 0; 1379 1379 1380 1380 p = &fb_display[unit]; 1381 1381 ··· 1427 1425 rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres); 1428 1426 cols /= vc->vc_font.width; 1429 1427 rows /= vc->vc_font.height; 1430 - vc_resize(vc, cols, rows); 1428 + ret = vc_resize(vc, cols, rows); 1431 1429 1432 - if (con_is_visible(vc)) { 1430 + if (con_is_visible(vc) && !ret) 1433 1431 update_screen(vc); 1434 - } 1435 1432 } 1436 1433 1437 1434 static __inline__ void ywrap_up(struct vc_data *vc, int count)