projects
/
unionfs-2.6.39.y.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bb4828a
)
[PATCH] setkeys needs root
author
Daniel Drake
<dsd@gentoo.org>
Fri, 2 Dec 2005 20:56:21 +0000
(20:56 +0000)
committer
Greg Kroah-Hartman
<gregkh@suse.de>
Wed, 14 Dec 2005 23:42:55 +0000
(15:42 -0800)
This patch combines commit
0b360adbdb54d5b98b78d57ba0916bc4b8871968
(make
setkeys root-only) and commit
e3f17f0f6e98f58edb13cb38810d93e6d4808e68
(only
disallow setting by users)
Because people can play games reprogramming keys and leaving traps for the
next user of the console.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/char/vt_ioctl.c
patch
|
blob
|
history
diff --git
a/drivers/char/vt_ioctl.c
b/drivers/char/vt_ioctl.c
index 1d44f69e1fda12bfb0abd092435d53ab04d9c610..24011e7c81ff72fa6bade2d7c889c8a0c2c48c5a 100644
(file)
--- a/
drivers/char/vt_ioctl.c
+++ b/
drivers/char/vt_ioctl.c
@@
-80,6
+80,9
@@
do_kdsk_ioctl(int cmd, struct kbentry __user *user_kbe, int perm, struct kbd_str
if (copy_from_user(&tmp, user_kbe, sizeof(struct kbentry)))
return -EFAULT;
+ if (!capable(CAP_SYS_TTY_CONFIG))
+ perm = 0;
+
switch (cmd) {
case KDGKBENT:
key_map = key_maps[s];
@@
-192,6
+195,9
@@
do_kdgkb_ioctl(int cmd, struct kbsentry __user *user_kdgkb, int perm)
int i, j, k;
int ret;
+ if (!capable(CAP_SYS_TTY_CONFIG))
+ perm = 0;
+
kbs = kmalloc(sizeof(*kbs), GFP_KERNEL);
if (!kbs) {
ret = -ENOMEM;