[PATCH] Only disallow _setting_ of function key string
Mikael Pettersson <mikpe@csd.uu.se> noted that the current 2.6-git (and 2.4) patch to disallow KDSKBSENT for unpriviledged users should be less restrictive allowing reading of current function key string entry, but not writing. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
796f8d9b98
commit
e3f17f0f6e
1 changed files with 4 additions and 1 deletions
|
@ -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)))
|
if (copy_from_user(&tmp, user_kbe, sizeof(struct kbentry)))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
|
if (!capable(CAP_SYS_TTY_CONFIG))
|
||||||
|
perm = 0;
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case KDGKBENT:
|
case KDGKBENT:
|
||||||
key_map = key_maps[s];
|
key_map = key_maps[s];
|
||||||
|
@ -193,7 +196,7 @@ do_kdgkb_ioctl(int cmd, struct kbsentry __user *user_kdgkb, int perm)
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (!capable(CAP_SYS_TTY_CONFIG))
|
if (!capable(CAP_SYS_TTY_CONFIG))
|
||||||
return -EPERM;
|
perm = 0;
|
||||||
|
|
||||||
kbs = kmalloc(sizeof(*kbs), GFP_KERNEL);
|
kbs = kmalloc(sizeof(*kbs), GFP_KERNEL);
|
||||||
if (!kbs) {
|
if (!kbs) {
|
||||||
|
|
Loading…
Reference in a new issue