X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=drivers%2Fchar%2Fvt_ioctl.c;h=24011e7c81ff72fa6bade2d7c889c8a0c2c48c5a;hb=61b9175808670d9abf52156803ae0ed1e3706ac4;hp=003dda147cd093a226d52a485d7b98d64186874d;hpb=4fd5f8267dd37aaebadfabe71d9c808821eea05a;p=powerpc.git diff --git a/drivers/char/vt_ioctl.c b/drivers/char/vt_ioctl.c index 003dda147c..24011e7c81 100644 --- 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]; @@ -193,7 +196,7 @@ do_kdgkb_ioctl(int cmd, struct kbsentry __user *user_kdgkb, int perm) int ret; if (!capable(CAP_SYS_TTY_CONFIG)) - return -EPERM; + perm = 0; kbs = kmalloc(sizeof(*kbs), GFP_KERNEL); if (!kbs) {