2009-07-18 15:34:25

by Kay Sievers

[permalink] [raw]
Subject: vc: create vcs(a) devices for consoles

From: Kay Sievers <[email protected]>
Subject: vc: create vcs(a) devices for consoles

The buffer for the consoles are unconditionally allocated at
con_init() time, which miss the creation of the vcs(a) devices.

Since 2.6.30, these devices are no longer created at open()
and removed on close(), but controlled by the lifetime of the
buffers.

Reported-by: Gerardo Exequiel Pozzi <[email protected]>
Tested-by: Gerardo Exequiel Pozzi <[email protected]>
Cc: [email protected]
Signed-off-by: Kay Sievers <[email protected]>
---

drivers/char/vc_screen.c | 4 ++++
1 file changed, 4 insertions(+)

--- a/drivers/char/vc_screen.c
+++ b/drivers/char/vc_screen.c
@@ -495,11 +495,15 @@ void vcs_remove_sysfs(int index)

int __init vcs_init(void)
{
+ unsigned int i;
+
if (register_chrdev(VCS_MAJOR, "vcs", &vcs_fops))
panic("unable to get major %d for vcs device", VCS_MAJOR);
vc_class = class_create(THIS_MODULE, "vc");

device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 0), NULL, "vcs");
device_create(vc_class, NULL, MKDEV(VCS_MAJOR, 128), NULL, "vcsa");
+ for (i = 0; i < MIN_NR_CONSOLES; i++)
+ vcs_make_sysfs(i);
return 0;
}


2009-07-18 16:08:51

by Greg KH

[permalink] [raw]
Subject: Re: vc: create vcs(a) devices for consoles

On Sat, Jul 18, 2009 at 05:34:17PM +0200, Kay Sievers wrote:
> From: Kay Sievers <[email protected]>
> Subject: vc: create vcs(a) devices for consoles
>
> The buffer for the consoles are unconditionally allocated at
> con_init() time, which miss the creation of the vcs(a) devices.
>
> Since 2.6.30, these devices are no longer created at open()
> and removed on close(), but controlled by the lifetime of the
> buffers.

Is this a bug in .31-rc right now? Should this make it into the final
.31 release?

And what caused this change, tty changes? If so, it should go through
Alan Cox's tree.

thanks,

greg k-h

2009-07-18 16:12:38

by Kay Sievers

[permalink] [raw]
Subject: Re: vc: create vcs(a) devices for consoles

On Sat, Jul 18, 2009 at 18:01, Greg KH<[email protected]> wrote:
> On Sat, Jul 18, 2009 at 05:34:17PM +0200, Kay Sievers wrote:
>> From: Kay Sievers <[email protected]>
>> Subject: vc: create vcs(a) devices for consoles
>>
>> The buffer for the consoles are unconditionally allocated at
>> con_init() time, which miss the creation of the vcs(a) devices.
>>
>> Since 2.6.30, these devices are no longer created at open()
>> and removed on close(), but controlled by the lifetime of the
>> buffers.
>
> Is this a bug in .31-rc right now?  Should this make it into the final
> .31 release?

Yes, and in .30.

> And what caused this change, tty changes?  If so, it should go through
> Alan Cox's tree.

This change caused it:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4995f8ef9d3aac72745e12419d7fbaa8d01b1d81

Thanks,
Kay

2009-07-18 16:19:31

by Samuel Thibault

[permalink] [raw]
Subject: Re: vc: create vcs(a) devices for consoles

Kay Sievers, le Sat 18 Jul 2009 18:12:20 +0200, a ?crit :
> On Sat, Jul 18, 2009 at 18:01, Greg KH<[email protected]> wrote:
> > On Sat, Jul 18, 2009 at 05:34:17PM +0200, Kay Sievers wrote:
> >> From: Kay Sievers <[email protected]>
> >> Subject: vc: create vcs(a) devices for consoles
> >>
> >> The buffer for the consoles are unconditionally allocated at
> >> con_init() time, which miss the creation of the vcs(a) devices.
> >>
> >> Since 2.6.30, these devices are no longer created at open()
> >> and removed on close(), but controlled by the lifetime of the
> >> buffers.
> >
> > Is this a bug in .31-rc right now? ?Should this make it into the final
> > .31 release?
>
> Yes, and in .30.

Please also push it to [email protected] The bug makes the console
unusable e.g. for blind users using braille devices.

Samuel

2009-07-18 18:33:08

by Nicolas Pitre

[permalink] [raw]
Subject: Re: vc: create vcs(a) devices for consoles

On Sat, 18 Jul 2009, Samuel Thibault wrote:

> Kay Sievers, le Sat 18 Jul 2009 18:12:20 +0200, a ?crit :
> > On Sat, Jul 18, 2009 at 18:01, Greg KH<[email protected]> wrote:
> > > On Sat, Jul 18, 2009 at 05:34:17PM +0200, Kay Sievers wrote:
> > >> From: Kay Sievers <[email protected]>
> > >> Subject: vc: create vcs(a) devices for consoles
> > >>
> > >> The buffer for the consoles are unconditionally allocated at
> > >> con_init() time, which miss the creation of the vcs(a) devices.
> > >>
> > >> Since 2.6.30, these devices are no longer created at open()
> > >> and removed on close(), but controlled by the lifetime of the
> > >> buffers.
> > >
> > > Is this a bug in .31-rc right now? ?Should this make it into the final
> > > .31 release?
> >
> > Yes, and in .30.
>
> Please also push it to [email protected] The bug makes the console
> unusable e.g. for blind users using braille devices.

... as well as blind developers as myself. Thanks for fixing this.


Nicolas

2009-07-18 22:45:24

by Greg KH

[permalink] [raw]
Subject: Re: vc: create vcs(a) devices for consoles

On Sat, Jul 18, 2009 at 06:12:20PM +0200, Kay Sievers wrote:
> On Sat, Jul 18, 2009 at 18:01, Greg KH<[email protected]> wrote:
> > On Sat, Jul 18, 2009 at 05:34:17PM +0200, Kay Sievers wrote:
> >> From: Kay Sievers <[email protected]>
> >> Subject: vc: create vcs(a) devices for consoles
> >>
> >> The buffer for the consoles are unconditionally allocated at
> >> con_init() time, which miss the creation of the vcs(a) devices.
> >>
> >> Since 2.6.30, these devices are no longer created at open()
> >> and removed on close(), but controlled by the lifetime of the
> >> buffers.
> >
> > Is this a bug in .31-rc right now? ?Should this make it into the final
> > .31 release?
>
> Yes, and in .30.
>
> > And what caused this change, tty changes? ?If so, it should go through
> > Alan Cox's tree.
>
> This change caused it:
> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4995f8ef9d3aac72745e12419d7fbaa8d01b1d81

Ah, ok, I will queue it up.

thanks,

greg k-h