[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180711091848.GA2889@kroah.com>
Date: Wed, 11 Jul 2018 11:18:48 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: Kees Cook <keescook@...omium.org>
Cc: Nicolas Pitre <nicolas.pitre@...aro.org>,
Dave Mielke <Dave@...lke.cc>,
Samuel Thibault <samuel.thibault@...-lyon.org>,
Adam Borowski <kilobyte@...band.pl>,
Alan Cox <gnomes@...rguk.ukuu.org.uk>,
LKML <linux-kernel@...r.kernel.org>,
linux-console@...r.kernel.org
Subject: Re: [PATCH v3 1/3] vt: preserve unicode values corresponding to
screen characters
On Tue, Jul 10, 2018 at 05:52:01PM -0700, Kees Cook wrote:
> On Tue, Jun 26, 2018 at 8:56 PM, Nicolas Pitre <nicolas.pitre@...aro.org> wrote:
> > The vt code translates UTF-8 strings into glyph index values and stores
> > those glyph values directly in the screen buffer. Because there can only
> > be at most 512 glyphs, it is impossible to represent most unicode
> > characters, in which case a default glyph (often '?') is displayed
> > instead. The original unicode value is then lost.
> >
> > This patch implements the basic screen buffer handling to preserve unicode
> > values alongside corresponding display glyphs. It is not activated by
> > default, meaning that people not relying on that functionality won't get
> > the implied overhead.
> >
> > Signed-off-by: Nicolas Pitre <nico@...aro.org>
> > Tested-by: Dave Mielke <Dave@...lke.cc>
> > Acked-by: Adam Borowski <kilobyte@...band.pl>
> > ---
> > drivers/tty/vt/vt.c | 220 +++++++++++++++++++++++++++++++--
> > include/linux/console_struct.h | 2 +
> > 2 files changed, 211 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
> > index 1eb1a376a0..7b636638b3 100644
> > --- a/drivers/tty/vt/vt.c
> > +++ b/drivers/tty/vt/vt.c
> > [...]
> > +static void vc_uniscr_scroll(struct vc_data *vc, unsigned int t, unsigned int b,
> > + enum con_scroll dir, unsigned int nr)
> > +{
> > + struct uni_screen *uniscr = get_vc_uniscr(vc);
> > +
> > + if (uniscr) {
> > + unsigned int s, d, rescue, clear;
> > + char32_t *save[nr];
>
> Can you adjust this to avoid the VLA here? I've almost gotten all VLAs
> removed from the kernel[1], and this is introducing a new one. :)
This is already in my tree, sorry :(
greg k-h
Powered by blists - more mailing lists