Re: [PATCH] vt: Fix a missing-check bug in drivers/tty/vt/vt.c file of Linux 5.0.14
From: Gen Zhang
Date: Sat May 11 2019 - 23:30:32 EST
On Sat, May 11, 2019 at 08:07:41AM +0200, Greg KH wrote:
> Look at the patch above, all of the whitespace is damaged. There is no
> way you took the raw email and then were able to apply that to the
> kernel tree.
>
> You can not cut/paste patches into gmail, please read the kernel
> Documentation file all about email clients and how to get them to work
> properly to send patches.
Hi Greg,
I switched to mutt and get rid of cut/paste.
I patched it successffully with commit 1fb3b526df3bd7647e7854915ae6b22299408baf.
The patch file is:
---
diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index fdd12f8..b756609 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -3350,10 +3350,14 @@ static int __init con_init(void)
for (currcons = 0; currcons < MIN_NR_CONSOLES; currcons++) {
vc_cons[currcons].d = vc = kzalloc(sizeof(struct vc_data), GFP_NOWAIT);
+ if (!vc_cons[currcons].d || !vc)
+ goto err_vc;
INIT_WORK(&vc_cons[currcons].SAK_work, vc_SAK);
tty_port_init(&vc->port);
visual_init(vc, currcons, 1);
vc->vc_screenbuf = kzalloc(vc->vc_screenbuf_size, GFP_NOWAIT);
+ if (!vc->vc_screenbuf)
+ goto err_vc_screenbuf;
vc_init(vc, vc->vc_rows, vc->vc_cols,
currcons || !vc->vc_sw->con_save_screen);
}
@@ -3375,6 +3379,14 @@ static int __init con_init(void)
register_console(&vt_console_driver);
#endif
return 0;
+err_vc:
+ console_unlock();
+ return -ENOMEM;
+err_vc_screenbuf:
+ console_unlock();
+ kfree(vc);
+ vc_cons[currcons].d = NULL;
+ return -ENOMEM;
}
console_initcall(con_init);
---
I hope that the format is not broken any more.
As for whether the patch should be applied, it is totally your call.
Anyway, thanks for your patient reply!
Gen