Re: keyboard problem with 2.6.6

From: Oliver Neukum
Date: Sun May 30 2004 - 07:03:56 EST


Am Sonntag, 30. Mai 2004 13:25 schrieb Sau Dan Lee:
> >>>>> "Vojtech" == Vojtech Pavlik <vojtech@xxxxxxx> writes:
>
> >> >> What I hate is only the part where mouse/keyboard drivers
> >> >> are now in kernel space. The translation of raw byte
> >> >> streams into input events should be better done in userland.
> >> >> One important argument is: userland program may be swapped
> >> >> out. Kernel modules can't.
> >>
>
> Vojtech> Well, keyboard support was always in the kernel
>
> Once in kernel space, forever in kernel space? What's the logic?
>
> Where it is now possible to move it out of kernel space WITHOUT
> performance problems, why not move it out?

Two reasons: security and robustness.

1. sysreq must work, always work. Ideally you even do the dump
in hard irq. USB has been modified to support this.

2. A true SAK key must be processed in kernel space

There are additional reasons that make it nice to have a kernel driver,
but these reasons make it necessary.

> Vojtech> - you need it there, because you need the keyboard
> Vojtech> always to work
>
> Then, why make 'i8042' and 'atkbd' modules? I still remember reading
> web pages that early pioneers who migrated from 2.4 to 2.6.0-test*
> encountered a problem: they didn't compile-in these modules, and hence
> the system boot up without a responding keyboard. Despite that, the
> system does work and daemons are running!
>
> So, why is a the keyboard need to always work?
>
>
> I've been testing 'i8042' module and my atkbd driver (and the
> SERIO_USERDEV patch) through the network. I've been doing 'rmmod
> i8042' many many times. The system DOES work without that module (and
> keyboard functionality). Why are you saying that "you need the
> keyboard always to work"? Again, is that the limit of your
> imagination?

It does not support all features it is supposed to without that module.
There's nothing preventing you from using uinput if you want to. But full
function needs a kernel driver, either statically compiled or as a loaded
module.

Regards
Oliver
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/