Re: [PATCH 2/2] drivers: tty: vt: vt.c: fixed segmentation fault in vt.c

From: Greg KH
Date: Thu Nov 02 2023 - 07:43:10 EST


Where is patch 1/2?

On Thu, Nov 02, 2023 at 12:39:26PM +0100, dimadrumspro@xxxxxxxxx wrote:
> From: Dima <dimadrumspro@xxxxxxxxx>

Is that your full name?

>
> The previous code lacked proper synchronization, leading to potential data corruption and crashes. Added a spin lock to protect shared variable 'scrollback_delta' to prevent concurrent access.

Please wrap your lines properly, as your editor hinted that you should.

And always run scripts/checkpatch.pl on your patch before submitting it.

>
> Signed-off-by: Dima <dimadrumspro@xxxxxxxxx>
> ---
> drivers/tty/vt/vt.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
> index 5c47f77804f0..29cf7fe11662 100644
> --- a/drivers/tty/vt/vt.c
> +++ b/drivers/tty/vt/vt.c
> @@ -301,12 +301,13 @@ static inline unsigned short *screenpos(const struct vc_data *vc, int offset,
> }
>
> /* Called from the keyboard irq path.. */
> +static DEFINE_SPINLOCK(scrolldelta_lock);
> +
> static inline void scrolldelta(int lines)
> {
> - /* FIXME */
> - /* scrolldelta needs some kind of consistency lock, but the BKL was
> - and still is not protecting versus the scheduled back end */
> + spin_lock(&scrolldelta_lock);
> scrollback_delta += lines;
> + spin_unlock(&scrolldelta_lock);

How exactly did you test this? This patch does not do anything that I
can determine.

And what "crashes" have you fixed here? What "data corruption"? Your
changelog text does not match this actual change at all from what I can
tell.

thanks,

greg k-h