Jiri Slaby 07edff9265 vt: keyboard, reorder user buffer handling in vt_do_kdgkb_ioctl
KDGKBSENT (the getter) needs only 'user_kdgkb->kb_func' from the
userspace, i.e. the index. Then it needs a buffer for a local copy of
'kb_string'.

KDSKBSENT (the setter) needs a copy up to the length of
'user_kdgkb->kb_string'.

That means, we obtain the index before the switch-case and use it in
both paths and:
1) allocate full space in the getter case, and
2) copy the string only in the setter case. We do it by strndup_user
   helper now which was not available when this function was written.

Given we copy the two members of 'struct kbsentry' separately, we no
longer need a local definition. Hence we need to change all the sizeofs
here too.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Link: https://lore.kernel.org/r/20201029113222.32640-11-jslaby@suse.cz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-04 16:43:38 +01:00
..
2020-10-30 14:51:01 -07:00
2020-10-24 10:39:22 -07:00
2020-10-16 12:21:15 -07:00
2020-10-19 14:28:30 -07:00
2020-10-28 19:12:03 +01:00
2020-10-15 14:43:29 -07:00
2020-10-12 13:26:49 -07:00
2020-10-26 12:40:02 +01:00
2020-10-14 15:56:58 -07:00
2020-10-24 10:33:08 -07:00
2020-10-13 12:12:44 -07:00
2020-10-23 10:54:13 -07:00
2020-10-20 09:35:06 -07:00
2020-10-16 12:21:15 -07:00
2020-10-24 10:39:22 -07:00
2020-10-15 14:43:29 -07:00
2020-10-24 10:39:22 -07:00
2020-10-14 15:56:58 -07:00
2020-10-30 11:04:11 -07:00
2020-10-20 10:36:41 -07:00
2020-10-25 11:12:31 -07:00
2020-10-30 15:02:49 -07:00
2020-10-22 13:00:44 -07:00
2020-10-22 12:41:00 -07:00
2020-10-27 19:23:04 +01:00
2020-10-24 10:33:08 -07:00
2020-10-24 10:33:08 -07:00
2020-10-22 12:56:33 -07:00
2020-10-24 10:39:22 -07:00
2020-10-22 12:58:21 -07:00
2020-10-21 11:22:08 -07:00
2020-10-26 16:29:14 -07:00
2020-10-31 12:21:04 -07:00
2020-10-24 10:33:08 -07:00
2020-10-30 11:46:49 +01:00
2020-10-31 14:41:48 -07:00
2020-10-22 13:00:44 -07:00
2020-10-23 11:00:57 -07:00
2020-10-24 10:33:08 -07:00
2020-10-25 10:55:35 -07:00