Messages in this thread | | | Date | Tue, 19 Jul 2022 08:03:26 +0200 | Subject | Re: [PATCH] tty: vt: initialize unicode screen buffer | From | Jiri Slaby <> |
| |
On 19. 07. 22, 7:49, Tetsuo Handa wrote: > syzbot reports kernel infoleak at vcs_read() [1], for buffer can be read > immediately after resize operation. Initialize buffer using kzalloc(). > > ---------- > #include <fcntl.h> > #include <unistd.h> > #include <sys/ioctl.h> > #include <linux/fb.h> > > int main(int argc, char *argv[]) > { > struct fb_var_screeninfo var = { }; > const int fb_fd = open("/dev/fb0", 3); > ioctl(fb_fd, FBIOGET_VSCREENINFO, &var); > var.yres = 0x21; > ioctl(fb_fd, FBIOPUT_VSCREENINFO, &var); > return read(open("/dev/vcsu", O_RDONLY), &var, sizeof(var)) == -1; > } > ---------- > > Link: https://syzkaller.appspot.com/bug?extid=31a641689d43387f05d3 [1] > Reported-by: syzbot <syzbot+31a641689d43387f05d3@syzkaller.appspotmail.com> > Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Yes, it makes sense.
Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
> --- > drivers/tty/vt/vt.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c > index f8c87c4d7399..6968517d6f8b 100644 > --- a/drivers/tty/vt/vt.c > +++ b/drivers/tty/vt/vt.c > @@ -344,7 +344,7 @@ static struct uni_screen *vc_uniscr_alloc(unsigned int cols, unsigned int rows) > /* allocate everything in one go */ > memsize = cols * rows * sizeof(char32_t); > memsize += rows * sizeof(char32_t *); > - p = vmalloc(memsize); > + p = vzalloc(memsize); > if (!p) > return NULL; >
thanks, -- js suse labs
| |