Messages in this thread Patch in this message | | | From | Linus Torvalds <> | Date | Fri, 14 May 2021 11:23:29 -0700 | Subject | Re: [PATCH] video: fbdev: vga16fb: fix OOB write in vga16fb_imageblit() |
| |
On Fri, May 14, 2021 at 10:37 AM Linus Torvalds <torvalds@linux-foundation.org> wrote: > > IOW, something like this would seem fairly simple and straightforward:
Proper patch in case syzbot can test this..
Linus From b33ca195cecea478768de353b3ae976c07a65615 Mon Sep 17 00:00:00 2001 From: Linus Torvalds <torvalds@linux-foundation.org> Date: Fri, 14 May 2021 11:06:12 -0700 Subject: [PATCH] vt: don't allow text-mode resizing when in KD_GRAPHICS mode
The VT layer itself just keeps track of the underlying text contents just fine, but if the underlying hardware driver has a con_resize() function, we can't just ignore it when in KD_GRAPHICS mode.
So just refuse to do a text mode resize if we're not in text mode.
Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> Reported-by: syzbot <syzbot+1f29e126cf461c4de3b3@syzkaller.appspotmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> --- drivers/tty/vt/vt.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c index 01645e87b3d5..f24e627b7402 100644 --- a/drivers/tty/vt/vt.c +++ b/drivers/tty/vt/vt.c @@ -1171,8 +1171,13 @@ static inline int resize_screen(struct vc_data *vc, int width, int height, /* Resizes the resolution of the display adapater */ int err = 0; - if (vc->vc_mode != KD_GRAPHICS && vc->vc_sw->con_resize) + if (vc->vc_sw->con_resize) { + // If we have a resize function but are in KD_GRAPHICS mode, + // we can't actually do a resize and need to error out. + if (vc->vc_mode == KD_GRAPHICS) + return -EINVAL; err = vc->vc_sw->con_resize(vc, width, height, user); + } return err; } -- 2.31.1.365.ga2a05a39c5
| |