1118日
・追いつかれていたしかも残1台(カーネル更新)
いまコンソールで日本語表示確認したので
数日前に更新していた
手元主要マシン,Plamo-7.xマシンの
linux 4.4.232,4.14.191,4.19.136,5.4.55化一区切り。
vt.cに変更が有ってなんとかパッチぐじぐじし
linux 4.14.190,4.19.134,5.4.54更新始めたら
追いつかれてしまった。
linux-5.4.39-cjk_tty.patchの.rejは下記のとおり
# cat drivers/tty/vt/vt.c.rej
--- drivers/tty/vt/vt.c 2020-04-29 23:33:25.000000000 +0900
+++ drivers/tty/vt/vt.c 2020-04-30 17:34:45.573191821 +0900
@@ -1143,7 +1166,7 @@ int vc_allocate(unsigned int currcons) /
if (!*vc->vc_uni_pagedir_loc)
con_set_default_unimap(vc);
- vc->vc_screenbuf = kzalloc(vc->vc_screenbuf_size, GFP_KERNEL);
+ vc->vc_screenbuf = kzalloc(vc->vc_screenbuf_size * 2, GFP_KERNEL);
if (!vc->vc_screenbuf)
goto err_free;
@@ -1227,13 +1251,14 @@ static int vc_do_resize(struct tty_struc
new_rows = (lines ? lines : vc->vc_rows);
new_row_size = new_cols << 1;
new_screen_size = new_row_size * new_rows;
+ old_screen_size = old_rows * old_row_size;
if (new_cols == vc->vc_cols && new_rows == vc->vc_rows)
return 0;
if (new_screen_size > KMALLOC_MAX_SIZE)
return -EINVAL;
- newscreen = kzalloc(new_screen_size, GFP_USER);
+ newscreen = kzalloc(new_screen_size * 2, GFP_USER);
if (!newscreen)
return -ENOMEM;
@@ -3447,7 +3504,7 @@ static int __init con_init(void)
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);
+ vc->vc_screenbuf = kzalloc(vc->vc_screenbuf_size * 2, GFP_NOWAIT);
vc_init(vc, vc->vc_rows, vc->vc_cols,
currcons || !vc->vc_sw->con_save_screen);
}