935日
・見逃し
linux 4.14.55リリースいただいたので更新着手。
vd_unicon-kernel-20171017-4.14-rc5.patch
で.rejあり
--- drivers/tty/vt/vt.c 2017-10-16 10:01:12.000000000 +0900
+++ drivers/tty/vt/vt.c 2017-10-17 15:32:30.050440022 +0900
@@ -859,7 +936,11 @@ int vc_allocate(unsigned int currcons) /
if (!*vc->vc_uni_pagedir_loc)
con_set_default_unimap(vc);
+#ifdef CONFIG_UNICON
+ vc->vc_screenbuf = kmalloc(vc->vc_screenbuf_size * 2, GFP_KERNEL);
+#else
vc->vc_screenbuf = kmalloc(vc->vc_screenbuf_size, GFP_KERNEL);
+#endif
if (!vc->vc_screenbuf)
goto err_free;
@@ -946,7 +1027,11 @@ static int vc_do_resize(struct tty_struc
if (new_screen_size > (4 << 20))
return -EINVAL;
+#ifdef CONFIG_UNICON
+ newscreen = kmalloc(new_screen_size*2, GFP_USER);
+#else
newscreen = kmalloc(new_screen_size, GFP_USER);
+#endif
if (!newscreen)
return -ENOMEM;
確認してみたら
linux 4.14.54の変更だった
diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index de67abbda921..e77421e7bf46 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -782,7 +782,7 @@ int vc_allocate(unsigned int currcons) /* return 0 on success */
if (!*vc->vc_uni_pagedir_loc)
con_set_default_unimap(vc);
- vc->vc_screenbuf = kmalloc(vc->vc_screenbuf_size, GFP_KERNEL);
+ vc->vc_screenbuf = kzalloc(vc->vc_screenbuf_size, GFP_KERNEL);
if (!vc->vc_screenbuf)
goto err_free;
@@ -869,7 +869,7 @@ static int vc_do_resize(struct tty_struct *tty, struct vc_data *vc,
if (new_screen_size > (4 << 20))
return -EINVAL;
- newscreen = kmalloc(new_screen_size, GFP_USER);
+ newscreen = kzalloc(new_screen_size, GFP_USER);
if (!newscreen)
return -ENOMEM;
確認したつもりだったようだ
反省。