cpuctl(4): Require write rights for CPUCTL_MSRSBIT and CPUCTL_MSRCBIT. master
authorImre Vadász <imre@vdsz.com>
Mon, 26 Sep 2016 23:44:43 +0000 (01:44 +0200)
committerImre Vadász <imre@vdsz.com>
Mon, 26 Sep 2016 23:49:02 +0000 (01:49 +0200)
* Both CPUCTL_MSRSBIT and CPUCTL_MSRCBIT write MSR registers, so they
  should require write rights like CPUCTL_WRMSR.

sys/dev/misc/cpuctl/cpuctl.c

index d0967b7..01e573b 100644 (file)
@@ -93,7 +93,8 @@ cpuctl_ioctl(struct dev_ioctl_args *ap)
                return (ENXIO);
        }
        /* Require write flag for "write" requests. */
-       if ((cmd == CPUCTL_WRMSR || cmd == CPUCTL_UPDATE) &&
+       if ((cmd == CPUCTL_WRMSR || cmd == CPUCTL_UPDATE ||
+            cmd == CPUCTL_MSRSBIT || cmd == CPUCTL_MSRCBIT) &&
            ((flags & FWRITE) == 0))
                return (EPERM);
        switch (cmd) {