Hi! In a recent discussion, Linus and Al Viro said quite a bit of expletives about __put_user() and __get_user(), that it's a bad interface that's almost always the wrong thing to use: https://marc.info/?l=linux-kernel&m=149463725626316&w=2 https://marc.info/?l=linux-kernel&m=149465866929092&w=2
Here's a few patches applying the lessons from that discussion to vt. None of the uses is performance-critical, but at least we get a nice bit of code simplification. And, it's a start of manual review + conversion that Al Viro wants. Adam Borowski (5): vt: use copy_from/to_user instead of __get/put_user for scrnmap ioctls vt: fix unchecked __put_user() in tioclinux ioctls vt: use copy_to_user instead of __put_user in GIO_UNIMAP ioctl vt: use memdup_user in PIO_UNIMAP ioctl vt: drop access_ok() calls in unimap ioctls drivers/tty/vt/consolemap.c | 56 ++++++++++++++++---------------------------------------- drivers/tty/vt/vt.c | 6 +++--- drivers/tty/vt/vt_ioctl.c | 8 -------- 3 files changed, 19 insertions(+), 51 deletions(-) -- ⢀⣴⠾⠻⢶⣦⠀ A tit a day keeps the vet away. ⣾⠁⢰⠒⠀⣿⡁ ⢿⡄⠘⠷⠚⠋⠀ (Rejoice as my small-animal-murder-machine got unbroken after ⠈⠳⣄⠀⠀⠀⠀ nearly two years of no catch!)