2022-08-26 20:59:07

by Daniel Vetter

[permalink] [raw]
Subject: [PATCH] tty/vt: Remove printable variable

Every since the 0.99.7A release when console_register() was introduced
it's become impossible to call vt_console_print (called
console_print() back then still) directly. Which means the
initialization issue this variable protected against is no more.

Give it a send off with style and let it rest in peace.

Signed-off-by: Daniel Vetter <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Jiri Slaby <[email protected]>
Cc: "Ilpo Järvinen" <[email protected]>
Cc: nick black <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: Tetsuo Handa <[email protected]>
Cc: Yangxi Xiang <[email protected]>
Cc: Xuezhi Zhang <[email protected]>
---
drivers/tty/vt/vt.c | 4 ----
1 file changed, 4 deletions(-)

diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index ae9c926acd6f..4d29e4a17db7 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -157,7 +157,6 @@ static void set_palette(struct vc_data *vc);

#define vt_get_kmsg_redirect() vt_kmsg_redirect(-1)

-static int printable; /* Is console ready for printing? */
int default_utf8 = true;
module_param(default_utf8, int, S_IRUGO | S_IWUSR);
int global_cursor_default = -1;
@@ -3085,8 +3084,6 @@ static void vt_console_print(struct console *co, const char *b, unsigned count)
int kmsg_console;

/* console busy or not yet initialized */
- if (!printable)
- return;
if (!spin_trylock(&printing_lock))
return;

@@ -3537,7 +3534,6 @@ static int __init con_init(void)
pr_info("Console: %s %s %dx%d\n",
vc->vc_can_do_color ? "colour" : "mono",
display_desc, vc->vc_cols, vc->vc_rows);
- printable = 1;

console_unlock();

--
2.37.2


2022-08-26 21:15:10

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [PATCH] tty/vt: Remove printable variable

Hi Daniel,

On Fri, Aug 26, 2022 at 10:24:19PM +0200, Daniel Vetter wrote:
> Every since the 0.99.7A release when console_register() was introduced
> it's become impossible to call vt_console_print (called
> console_print() back then still) directly. Which means the
> initialization issue this variable protected against is no more.
>
> Give it a send off with style and let it rest in peace.
>
> Signed-off-by: Daniel Vetter <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> Cc: Jiri Slaby <[email protected]>
> Cc: "Ilpo J?rvinen" <[email protected]>
> Cc: nick black <[email protected]>
> Cc: Daniel Vetter <[email protected]>
> Cc: Tetsuo Handa <[email protected]>
> Cc: Yangxi Xiang <[email protected]>
> Cc: Xuezhi Zhang <[email protected]>
> ---
> drivers/tty/vt/vt.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
> index ae9c926acd6f..4d29e4a17db7 100644
> --- a/drivers/tty/vt/vt.c
> +++ b/drivers/tty/vt/vt.c
> @@ -157,7 +157,6 @@ static void set_palette(struct vc_data *vc);
>
> #define vt_get_kmsg_redirect() vt_kmsg_redirect(-1)
>
> -static int printable; /* Is console ready for printing? */
> int default_utf8 = true;
> module_param(default_utf8, int, S_IRUGO | S_IWUSR);
> int global_cursor_default = -1;
> @@ -3085,8 +3084,6 @@ static void vt_console_print(struct console *co, const char *b, unsigned count)
> int kmsg_console;
>
> /* console busy or not yet initialized */
> - if (!printable)
> - return;
> if (!spin_trylock(&printing_lock))
> return;

Speaking on locks - it the printing_lock necessary. Or will the caller
serialize the calls to write()?

Sam

>
> @@ -3537,7 +3534,6 @@ static int __init con_init(void)
> pr_info("Console: %s %s %dx%d\n",
> vc->vc_can_do_color ? "colour" : "mono",
> display_desc, vc->vc_cols, vc->vc_rows);
> - printable = 1;
>
> console_unlock();
>
> --
> 2.37.2

2022-08-29 08:32:13

by Jiri Slaby

[permalink] [raw]
Subject: Re: [PATCH] tty/vt: Remove printable variable

On 26. 08. 22, 22:24, Daniel Vetter wrote:
> Every since the 0.99.7A release when console_register() was introduced
> it's become impossible to call vt_console_print (called
> console_print() back then still) directly. Which means the
> initialization issue this variable protected against is no more.
>
> Give it a send off with style and let it rest in peace.

FWIW:
Reviewed-by: Jiri Slaby <[email protected]>

In hopes, nothing breaks.

> Signed-off-by: Daniel Vetter <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> Cc: Jiri Slaby <[email protected]>
> Cc: "Ilpo Järvinen" <[email protected]>
> Cc: nick black <[email protected]>
> Cc: Daniel Vetter <[email protected]>
> Cc: Tetsuo Handa <[email protected]>
> Cc: Yangxi Xiang <[email protected]>
> Cc: Xuezhi Zhang <[email protected]>
> ---
> drivers/tty/vt/vt.c | 4 ----
> 1 file changed, 4 deletions(-)
>
> diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
> index ae9c926acd6f..4d29e4a17db7 100644
> --- a/drivers/tty/vt/vt.c
> +++ b/drivers/tty/vt/vt.c
> @@ -157,7 +157,6 @@ static void set_palette(struct vc_data *vc);
>
> #define vt_get_kmsg_redirect() vt_kmsg_redirect(-1)
>
> -static int printable; /* Is console ready for printing? */
> int default_utf8 = true;
> module_param(default_utf8, int, S_IRUGO | S_IWUSR);
> int global_cursor_default = -1;
> @@ -3085,8 +3084,6 @@ static void vt_console_print(struct console *co, const char *b, unsigned count)
> int kmsg_console;
>
> /* console busy or not yet initialized */
> - if (!printable)
> - return;
> if (!spin_trylock(&printing_lock))
> return;
>
> @@ -3537,7 +3534,6 @@ static int __init con_init(void)
> pr_info("Console: %s %s %dx%d\n",
> vc->vc_can_do_color ? "colour" : "mono",
> display_desc, vc->vc_cols, vc->vc_rows);
> - printable = 1;
>
> console_unlock();
>

thanks,
--
js
suse labs