DragonFlyBSD Kernel Audit
DF-2029 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/raid/iir/iir_ctrl.c b/sys/dev/raid/iir/iir_ctrl.c
--- a/sys/dev/raid/iir/iir_ctrl.c
+++ b/sys/dev/raid/iir/iir_ctrl.c
@@ -10,6 +10,7 @@
 #include <sys/conf.h>
 #include <sys/stat.h>
 #include <sys/device.h>
+#include <sys/caps.h>
 #include <sys/thread2.h>
 #include "pcidevs.h"
 #include <vm/vm.h>
@@ -221,6 +222,11 @@ static int
 iir_ioctl(struct dev_ioctl_args *ap)
 {
+    int error;
+
+    error = caps_priv_check(ap->a_cred, SYSCAP_RESTRICTEDROOT);
+    if (error)
+	return (error);
     GDT_DPRINTF(GDT_D_DEBUG, ("iir_ioctl() cmd 0x%lx\n",cmd));
 
 #ifdef SDEV_PER_HBA