Re: [PATCH 07/11] tty: vt: replace BUG_ON() by WARN_ON_ONCE()

Ilpo Järvinen
2023-01-12T09:49:39Z

[-- Attachment #1: Type: text/plain, Size: 1134 bytes --]

On Thu, 12 Jan 2023, Jiri Slaby (SUSE) wrote:

> No need to panic in vc_uniscr_copy_line(), just warn. This should never
> happen though, as vc_uniscr_check() is supposed to be called before
> vc_uniscr_copy_line(). And the former checks vc->vc_uni_lines already.
>
> In any case, use _ONCE as vc_uniscr_copy_line() is called repeatedly for
> each line. So don't flood the logs, just in case.
>
> Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
> ---
> drivers/tty/vt/vt.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
> index 119b3eafef59..db72375141b0 100644
> --- a/drivers/tty/vt/vt.c
> +++ b/drivers/tty/vt/vt.c
> @@ -535,7 +535,8 @@ void vc_uniscr_copy_line(const struct vc_data *vc, void *dest, bool viewed,
> int offset = row * vc->vc_size_row + col * 2;
> unsigned long pos;
>
> - BUG_ON(!uni_lines);
> + if (WARN_ON_ONCE(!uni_lines))
> + return;
>
> pos = (unsigned long)screenpos(vc, offset, viewed);
> if (pos >= vc->vc_origin && pos < vc->vc_scr_end) {
>

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

--
i.