* Clean console safely
@ 2011-04-13 14:32 Petr Písař
2011-04-13 14:32 ` [PATCH] " Petr Písař
2011-04-13 14:55 ` Greg KH
0 siblings, 2 replies; 15+ messages in thread
From: Petr Písař @ 2011-04-13 14:32 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Alan Cox, linux-kernel
Hello,
I've posted following patch to linux-kernel already and Alan Cox liked it
(http://thread.gmane.org/gmane.linux.kernel/1117336). I'd like to ask you,
a TTY maintainer, to apply it to next Linux tree if it's acceptable.
-- Petr
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH] Clean console safely
2011-04-13 14:32 Clean console safely Petr Písař
@ 2011-04-13 14:32 ` Petr Písař
2011-04-13 14:40 ` Artem Bityutskiy
2011-04-13 14:55 ` Greg KH
1 sibling, 1 reply; 15+ messages in thread
From: Petr Písař @ 2011-04-13 14:32 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Alan Cox, linux-kernel, Petr Písař
Traditional \E[2J sequence erases console display but scroll-back
buffer and underlying device (frame) buffer keep data that can be
accessed by scrolling console back.
This patch introduce new \E[J parameter 3 that allows to scramble
scroll-back buffer explicitly. Session locking programs (screen,
vlock) can use it to prevent attacker to browse locked console
history.
---
drivers/tty/vt/vt.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index 4bea1ef..fe96a1f 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -1197,6 +1197,12 @@ static void csi_J(struct vc_data *vc, int vpar)
vc->vc_x + 1);
}
break;
+ case 3: /* erase scroll-back buffer (and whole display) */
+ scr_memsetw(vc->vc_screenbuf, vc->vc_video_erase_char,
+ vc->vc_screenbuf_size >> 1);
+ set_origin(vc);
+ if (CON_IS_VISIBLE(vc))
+ update_screen(vc);
case 2: /* erase whole display */
count = vc->vc_cols * vc->vc_rows;
start = (unsigned short *)vc->vc_origin;
--
1.7.4.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH] Clean console safely
2011-04-13 14:32 ` [PATCH] " Petr Písař
@ 2011-04-13 14:40 ` Artem Bityutskiy
2011-04-13 14:54 ` Petr Písař
0 siblings, 1 reply; 15+ messages in thread
From: Artem Bityutskiy @ 2011-04-13 14:40 UTC (permalink / raw)
To: Petr Písař; +Cc: Greg Kroah-Hartman, Alan Cox, linux-kernel
On Wed, 2011-04-13 at 16:32 +0200, Petr Písař wrote:
> Traditional \E[2J sequence erases console display but scroll-back
> buffer and underlying device (frame) buffer keep data that can be
> accessed by scrolling console back.
>
> This patch introduce new \E[J parameter 3 that allows to scramble
> scroll-back buffer explicitly. Session locking programs (screen,
> vlock) can use it to prevent attacker to browse locked console
> history.
> ---
> drivers/tty/vt/vt.c | 6 ++++++
> 1 files changed, 6 insertions(+), 0 deletions(-)
You forgot to "Signed-off-by:" it.
--
Best Regards,
Artem Bityutskiy (Артём Битюцкий)
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH] Clean console safely
2011-04-13 14:40 ` Artem Bityutskiy
@ 2011-04-13 14:54 ` Petr Písař
2011-04-13 15:01 ` Greg KH
2011-04-13 15:18 ` Chris Ball
0 siblings, 2 replies; 15+ messages in thread
From: Petr Písař @ 2011-04-13 14:54 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Alan Cox, linux-kernel, Artem Bityutskiy, Petr Písař
Traditional \E[2J sequence erases console display but scroll-back
buffer and underlying device (frame) buffer keep data that can be
accessed by scrolling console back.
This patch introduce new \E[J parameter 3 that allows to scramble
scroll-back buffer explicitly. Session locking programs (screen,
vlock) can use it to prevent attacker to browse locked console
history.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
drivers/tty/vt/vt.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index 4bea1ef..fe96a1f 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -1197,6 +1197,12 @@ static void csi_J(struct vc_data *vc, int vpar)
vc->vc_x + 1);
}
break;
+ case 3: /* erase scroll-back buffer (and whole display) */
+ scr_memsetw(vc->vc_screenbuf, vc->vc_video_erase_char,
+ vc->vc_screenbuf_size >> 1);
+ set_origin(vc);
+ if (CON_IS_VISIBLE(vc))
+ update_screen(vc);
case 2: /* erase whole display */
count = vc->vc_cols * vc->vc_rows;
start = (unsigned short *)vc->vc_origin;
--
1.7.4.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: Clean console safely
2011-04-13 14:32 Clean console safely Petr Písař
2011-04-13 14:32 ` [PATCH] " Petr Písař
@ 2011-04-13 14:55 ` Greg KH
1 sibling, 0 replies; 15+ messages in thread
From: Greg KH @ 2011-04-13 14:55 UTC (permalink / raw)
To: Petr Písař; +Cc: Alan Cox, linux-kernel
On Wed, Apr 13, 2011 at 04:32:49PM +0200, Petr Písař wrote:
> Hello,
>
> I've posted following patch to linux-kernel already and Alan Cox liked it
> (http://thread.gmane.org/gmane.linux.kernel/1117336). I'd like to ask you,
> a TTY maintainer, to apply it to next Linux tree if it's acceptable.
Ok, but care to resend it with a signed-off-by line so that I can apply
it?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] Clean console safely
2011-04-13 14:54 ` Petr Písař
@ 2011-04-13 15:01 ` Greg KH
2011-04-13 15:33 ` Petr Pisar
2011-04-13 15:18 ` Chris Ball
1 sibling, 1 reply; 15+ messages in thread
From: Greg KH @ 2011-04-13 15:01 UTC (permalink / raw)
To: Petr Písař; +Cc: Alan Cox, linux-kernel, Artem Bityutskiy
On Wed, Apr 13, 2011 at 04:54:33PM +0200, Petr Písař wrote:
> Traditional \E[2J sequence erases console display but scroll-back
> buffer and underlying device (frame) buffer keep data that can be
> accessed by scrolling console back.
>
> This patch introduce new \E[J parameter 3 that allows to scramble
> scroll-back buffer explicitly. Session locking programs (screen,
> vlock) can use it to prevent attacker to browse locked console
> history.
Is this also documented somewhere so that people know about it?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] Clean console safely
2011-04-13 14:54 ` Petr Písař
2011-04-13 15:01 ` Greg KH
@ 2011-04-13 15:18 ` Chris Ball
2011-04-13 15:28 ` Petr Pisar
2011-04-13 15:32 ` Alexander Stein
1 sibling, 2 replies; 15+ messages in thread
From: Chris Ball @ 2011-04-13 15:18 UTC (permalink / raw)
To: Petr Písař
Cc: Greg Kroah-Hartman, Alan Cox, linux-kernel, Artem Bityutskiy
Hi,
On Wed, Apr 13 2011, Petr Písař wrote:
> Traditional \E[2J sequence erases console display but scroll-back
> buffer and underlying device (frame) buffer keep data that can be
> accessed by scrolling console back.
>
> This patch introduce new \E[J parameter 3 that allows to scramble
> scroll-back buffer explicitly. Session locking programs (screen,
> vlock) can use it to prevent attacker to browse locked console
> history.
>
> Signed-off-by: Petr Písař <ppisar@redhat.com>
> ---
> drivers/tty/vt/vt.c | 6 ++++++
> 1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
> index 4bea1ef..fe96a1f 100644
> --- a/drivers/tty/vt/vt.c
> +++ b/drivers/tty/vt/vt.c
> @@ -1197,6 +1197,12 @@ static void csi_J(struct vc_data *vc, int vpar)
> vc->vc_x + 1);
> }
> break;
> + case 3: /* erase scroll-back buffer (and whole display) */
> + scr_memsetw(vc->vc_screenbuf, vc->vc_video_erase_char,
> + vc->vc_screenbuf_size >> 1);
> + set_origin(vc);
> + if (CON_IS_VISIBLE(vc))
> + update_screen(vc);
> case 2: /* erase whole display */
> count = vc->vc_cols * vc->vc_rows;
> start = (unsigned short *)vc->vc_origin;
Nitpick: the cases were ordered before -- 3 should go after 2.
- Chris.
--
Chris Ball <cjb@laptop.org> <http://printf.net/>
One Laptop Per Child
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] Clean console safely
2011-04-13 15:18 ` Chris Ball
@ 2011-04-13 15:28 ` Petr Pisar
2011-04-13 15:44 ` Chris Ball
2011-04-13 15:32 ` Alexander Stein
1 sibling, 1 reply; 15+ messages in thread
From: Petr Pisar @ 2011-04-13 15:28 UTC (permalink / raw)
To: Chris Ball; +Cc: Greg Kroah-Hartman, Alan Cox, linux-kernel, Artem Bityutskiy
On Wed, Apr 13, 2011 at 11:18:04AM -0400, Chris Ball wrote:
>
> On Wed, Apr 13 2011, Petr Písař wrote:
> > Traditional \E[2J sequence erases console display but scroll-back
> > buffer and underlying device (frame) buffer keep data that can be
> > accessed by scrolling console back.
> >
> > This patch introduce new \E[J parameter 3 that allows to scramble
> > scroll-back buffer explicitly. Session locking programs (screen,
> > vlock) can use it to prevent attacker to browse locked console
> > history.
> >
> > Signed-off-by: Petr Písař <ppisar@redhat.com>
> > ---
> > drivers/tty/vt/vt.c | 6 ++++++
> > 1 files changed, 6 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
> > index 4bea1ef..fe96a1f 100644
> > --- a/drivers/tty/vt/vt.c
> > +++ b/drivers/tty/vt/vt.c
> > @@ -1197,6 +1197,12 @@ static void csi_J(struct vc_data *vc, int vpar)
> > vc->vc_x + 1);
> > }
> > break;
> > + case 3: /* erase scroll-back buffer (and whole display) */
> > + scr_memsetw(vc->vc_screenbuf, vc->vc_video_erase_char,
> > + vc->vc_screenbuf_size >> 1);
> > + set_origin(vc);
> > + if (CON_IS_VISIBLE(vc))
> > + update_screen(vc);
> > case 2: /* erase whole display */
> > count = vc->vc_cols * vc->vc_rows;
> > start = (unsigned short *)vc->vc_origin;
>
> Nitpick: the cases were ordered before -- 3 should go after 2.
>
This is on purpose to continue with code for case 2 as it prepares variables
for cleaning visible part of display after the switch block.
-- Petr
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] Clean console safely
2011-04-13 15:18 ` Chris Ball
2011-04-13 15:28 ` Petr Pisar
@ 2011-04-13 15:32 ` Alexander Stein
1 sibling, 0 replies; 15+ messages in thread
From: Alexander Stein @ 2011-04-13 15:32 UTC (permalink / raw)
To: Chris Ball
Cc: Petr Písař, Greg Kroah-Hartman, Alan Cox, linux-kernel,
Artem Bityutskiy
Hi,
On Wednesday 13 April 2011, 17:18:04 Chris Ball wrote:
> On Wed, Apr 13 2011, Petr Písař wrote:
> > Traditional \E[2J sequence erases console display but scroll-back
> > buffer and underlying device (frame) buffer keep data that can be
> > accessed by scrolling console back.
> >
> > This patch introduce new \E[J parameter 3 that allows to scramble
> > scroll-back buffer explicitly. Session locking programs (screen,
> > vlock) can use it to prevent attacker to browse locked console
> > history.
> >
> > Signed-off-by: Petr Písař <ppisar@redhat.com>
> > ---
> >
> > drivers/tty/vt/vt.c | 6 ++++++
> > 1 files changed, 6 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
> > index 4bea1ef..fe96a1f 100644
> > --- a/drivers/tty/vt/vt.c
> > +++ b/drivers/tty/vt/vt.c
> > @@ -1197,6 +1197,12 @@ static void csi_J(struct vc_data *vc, int vpar)
> >
> > vc->vc_x + 1);
> >
> > }
> > break;
> >
> > + case 3: /* erase scroll-back buffer (and whole display) */
> > + scr_memsetw(vc->vc_screenbuf, vc->vc_video_erase_char,
> > + vc->vc_screenbuf_size >> 1);
> > + set_origin(vc);
> > + if (CON_IS_VISIBLE(vc))
> > + update_screen(vc);
> >
> > case 2: /* erase whole display */
> >
> > count = vc->vc_cols * vc->vc_rows;
> > start = (unsigned short *)vc->vc_origin;
>
> Nitpick: the cases were ordered before -- 3 should go after 2.
Not if the fall-through is intended.
Alexander
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] Clean console safely
2011-04-13 15:01 ` Greg KH
@ 2011-04-13 15:33 ` Petr Pisar
2011-04-13 15:46 ` Greg KH
0 siblings, 1 reply; 15+ messages in thread
From: Petr Pisar @ 2011-04-13 15:33 UTC (permalink / raw)
To: Greg KH; +Cc: Alan Cox, linux-kernel, Artem Bityutskiy
On Wed, Apr 13, 2011 at 08:01:13AM -0700, Greg KH wrote:
> On Wed, Apr 13, 2011 at 04:54:33PM +0200, Petr Písař wrote:
> > Traditional \E[2J sequence erases console display but scroll-back
> > buffer and underlying device (frame) buffer keep data that can be
> > accessed by scrolling console back.
> >
> > This patch introduce new \E[J parameter 3 that allows to scramble
> > scroll-back buffer explicitly. Session locking programs (screen,
> > vlock) can use it to prevent attacker to browse locked console
> > history.
>
> Is this also documented somewhere so that people know about it?
>
>
Not yet as this is fresh feature. I'd like to put few words into
console_codes(4). I guess manual sources are not part of Linux.
-- Petr
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] Clean console safely
2011-04-13 15:28 ` Petr Pisar
@ 2011-04-13 15:44 ` Chris Ball
2011-04-13 23:55 ` Daniel Taylor
0 siblings, 1 reply; 15+ messages in thread
From: Chris Ball @ 2011-04-13 15:44 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Alan Cox, linux-kernel, Artem Bityutskiy
Hi,
On Wed, Apr 13 2011, Petr Pisar wrote:
> On Wed, Apr 13, 2011 at 11:18:04AM -0400, Chris Ball wrote:
>>
>> On Wed, Apr 13 2011, Petr Písař wrote:
>> > Traditional \E[2J sequence erases console display but scroll-back
>> > buffer and underlying device (frame) buffer keep data that can be
>> > accessed by scrolling console back.
>> >
>> > This patch introduce new \E[J parameter 3 that allows to scramble
>> > scroll-back buffer explicitly. Session locking programs (screen,
>> > vlock) can use it to prevent attacker to browse locked console
>> > history.
>> >
>> > Signed-off-by: Petr Písař <ppisar@redhat.com>
>> > ---
>> > drivers/tty/vt/vt.c | 6 ++++++
>> > 1 files changed, 6 insertions(+), 0 deletions(-)
>> >
>> > diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
>> > index 4bea1ef..fe96a1f 100644
>> > --- a/drivers/tty/vt/vt.c
>> > +++ b/drivers/tty/vt/vt.c
>> > @@ -1197,6 +1197,12 @@ static void csi_J(struct vc_data *vc, int vpar)
>> > vc->vc_x + 1);
>> > }
>> > break;
>> > + case 3: /* erase scroll-back buffer (and whole display) */
>> > + scr_memsetw(vc->vc_screenbuf, vc->vc_video_erase_char,
>> > + vc->vc_screenbuf_size >> 1);
>> > + set_origin(vc);
>> > + if (CON_IS_VISIBLE(vc))
>> > + update_screen(vc);
>> > case 2: /* erase whole display */
>> > count = vc->vc_cols * vc->vc_rows;
>> > start = (unsigned short *)vc->vc_origin;
>>
>> Nitpick: the cases were ordered before -- 3 should go after 2.
>>
> This is on purpose to continue with code for case 2 as it prepares variables
> for cleaning visible part of display after the switch block.
Oops, sorry; I saw an imaginary break statement there.
- Chris.
--
Chris Ball <cjb@laptop.org> <http://printf.net/>
One Laptop Per Child
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] Clean console safely
2011-04-13 15:33 ` Petr Pisar
@ 2011-04-13 15:46 ` Greg KH
0 siblings, 0 replies; 15+ messages in thread
From: Greg KH @ 2011-04-13 15:46 UTC (permalink / raw)
To: Alan Cox, linux-kernel, Artem Bityutskiy
On Wed, Apr 13, 2011 at 05:33:59PM +0200, Petr Pisar wrote:
> On Wed, Apr 13, 2011 at 08:01:13AM -0700, Greg KH wrote:
> > On Wed, Apr 13, 2011 at 04:54:33PM +0200, Petr Písař wrote:
> > > Traditional \E[2J sequence erases console display but scroll-back
> > > buffer and underlying device (frame) buffer keep data that can be
> > > accessed by scrolling console back.
> > >
> > > This patch introduce new \E[J parameter 3 that allows to scramble
> > > scroll-back buffer explicitly. Session locking programs (screen,
> > > vlock) can use it to prevent attacker to browse locked console
> > > history.
> >
> > Is this also documented somewhere so that people know about it?
> >
> >
> Not yet as this is fresh feature. I'd like to put few words into
> console_codes(4). I guess manual sources are not part of Linux.
No they are not, they have their own maintainer and release schedule.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 15+ messages in thread
* RE: [PATCH] Clean console safely
2011-04-13 15:44 ` Chris Ball
@ 2011-04-13 23:55 ` Daniel Taylor
2011-04-15 8:08 ` Petr Písař
0 siblings, 1 reply; 15+ messages in thread
From: Daniel Taylor @ 2011-04-13 23:55 UTC (permalink / raw)
To: linux-kernel; +Cc: Alan Cox, Artem Bityutskiy, Chris Ball, Greg Kroah-Hartman
> -----Original Message-----
> From: linux-kernel-owner@vger.kernel.org
> [mailto:linux-kernel-owner@vger.kernel.org] On Behalf Of Chris Ball
> Sent: Wednesday, April 13, 2011 8:45 AM
> To: Greg Kroah-Hartman
> Cc: Alan Cox; linux-kernel@vger.kernel.org; Artem Bityutskiy
> Subject: Re: [PATCH] Clean console safely
>
> Hi,
>
> On Wed, Apr 13 2011, Petr Pisar wrote:
> > On Wed, Apr 13, 2011 at 11:18:04AM -0400, Chris Ball wrote:
> >>
> >> On Wed, Apr 13 2011, Petr Písař wrote:
> >> > Traditional \E[2J sequence erases console display but scroll-back
> >> > buffer and underlying device (frame) buffer keep data that can be
> >> > accessed by scrolling console back.
> >> >
> >> > This patch introduce new \E[J parameter 3 that allows to scramble
> >> > scroll-back buffer explicitly. Session locking programs (screen,
> >> > vlock) can use it to prevent attacker to browse locked console
> >> > history.
> >> >
> >> > Signed-off-by: Petr Písař <ppisar@redhat.com>
> >> > ---
> >> > drivers/tty/vt/vt.c | 6 ++++++
> >> > 1 files changed, 6 insertions(+), 0 deletions(-)
> >> >
> >> > diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
> >> > index 4bea1ef..fe96a1f 100644
> >> > --- a/drivers/tty/vt/vt.c
> >> > +++ b/drivers/tty/vt/vt.c
> >> > @@ -1197,6 +1197,12 @@ static void csi_J(struct vc_data
> *vc, int vpar)
> >> > vc->vc_x + 1);
> >> > }
> >> > break;
> >> > + case 3: /* erase scroll-back buffer
> (and whole display) */
> >> > + scr_memsetw(vc->vc_screenbuf,
> vc->vc_video_erase_char,
> >> > + vc->vc_screenbuf_size >> 1);
> >> > + set_origin(vc);
> >> > + if (CON_IS_VISIBLE(vc))
> >> > + update_screen(vc);
> >> > case 2: /* erase whole display */
> >> > count = vc->vc_cols * vc->vc_rows;
> >> > start = (unsigned short *)vc->vc_origin;
> >>
> >> Nitpick: the cases were ordered before -- 3 should go after 2.
> >>
> > This is on purpose to continue with code for case 2 as it
> prepares variables
> > for cleaning visible part of display after the switch block.
>
> Oops, sorry; I saw an imaginary break statement there.
Shouldn't there be a "/* fall through */", or similar, comment,
or all of the existing ones in the kernel extraneous? Personally,
I prefer to see clearly that the missing "break" is intentional.
>
> - Chris.
> --
> Chris Ball <cjb@laptop.org> <http://printf.net/>
> One Laptop Per Child
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH] Clean console safely
2011-04-13 23:55 ` Daniel Taylor
@ 2011-04-15 8:08 ` Petr Písař
2016-07-21 12:53 ` Jiri Slaby
0 siblings, 1 reply; 15+ messages in thread
From: Petr Písař @ 2011-04-15 8:08 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Alan Cox, linux-kernel, Artem Bityutskiy, Chris Ball,
Daniel Taylor, Petr Písař
Traditional \E[2J sequence erases console display but scroll-back
buffer and underlying device (frame) buffer keep data that can be
accessed by scrolling console back.
This patch introduce new \E[J parameter 3 that allows to scramble
scroll-back buffer explicitly. Session locking programs (screen,
vlock) can use it to prevent attacker to browse locked console
history.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
drivers/tty/vt/vt.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
index 4bea1ef..cb661ca 100644
--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -1197,6 +1197,13 @@ static void csi_J(struct vc_data *vc, int vpar)
vc->vc_x + 1);
}
break;
+ case 3: /* erase scroll-back buffer (and whole display) */
+ scr_memsetw(vc->vc_screenbuf, vc->vc_video_erase_char,
+ vc->vc_screenbuf_size >> 1);
+ set_origin(vc);
+ if (CON_IS_VISIBLE(vc))
+ update_screen(vc);
+ /* fall through */
case 2: /* erase whole display */
count = vc->vc_cols * vc->vc_rows;
start = (unsigned short *)vc->vc_origin;
--
1.7.4.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH] Clean console safely
2011-04-15 8:08 ` Petr Písař
@ 2016-07-21 12:53 ` Jiri Slaby
0 siblings, 0 replies; 15+ messages in thread
From: Jiri Slaby @ 2016-07-21 12:53 UTC (permalink / raw)
To: Petr Písař, Greg Kroah-Hartman
Cc: Alan Cox, linux-kernel, Artem Bityutskiy, Chris Ball,
Daniel Taylor
On 04/15/2011, 10:08 AM, Petr Písař wrote:
> Traditional \E[2J sequence erases console display but scroll-back
> buffer and underlying device (frame) buffer keep data that can be
> accessed by scrolling console back.
>
> This patch introduce new \E[J parameter 3 that allows to scramble
> scroll-back buffer explicitly. Session locking programs (screen,
> vlock) can use it to prevent attacker to browse locked console
> history.
>
> Signed-off-by: Petr PÃsaÅ <ppisar@redhat.com>
> ---
> drivers/tty/vt/vt.c | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c
> index 4bea1ef..cb661ca 100644
> --- a/drivers/tty/vt/vt.c
> +++ b/drivers/tty/vt/vt.c
> @@ -1197,6 +1197,13 @@ static void csi_J(struct vc_data *vc, int vpar)
> vc->vc_x + 1);
> }
> break;
> + case 3: /* erase scroll-back buffer (and whole display) */
> + scr_memsetw(vc->vc_screenbuf, vc->vc_video_erase_char,
> + vc->vc_screenbuf_size >> 1);
Why is here the division? I suppose this is superfluous, given
scr_memsetw proper divides the size, hm?
> + set_origin(vc);
> + if (CON_IS_VISIBLE(vc))
> + update_screen(vc);
> + /* fall through */
> case 2: /* erase whole display */
> count = vc->vc_cols * vc->vc_rows;
> start = (unsigned short *)vc->vc_origin;
>
--
js
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2016-07-21 12:53 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-13 14:32 Clean console safely Petr Písař
2011-04-13 14:32 ` [PATCH] " Petr Písař
2011-04-13 14:40 ` Artem Bityutskiy
2011-04-13 14:54 ` Petr Písař
2011-04-13 15:01 ` Greg KH
2011-04-13 15:33 ` Petr Pisar
2011-04-13 15:46 ` Greg KH
2011-04-13 15:18 ` Chris Ball
2011-04-13 15:28 ` Petr Pisar
2011-04-13 15:44 ` Chris Ball
2011-04-13 23:55 ` Daniel Taylor
2011-04-15 8:08 ` Petr Písař
2016-07-21 12:53 ` Jiri Slaby
2011-04-13 15:32 ` Alexander Stein
2011-04-13 14:55 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).