Module Name: src
Committed By: macallan
Date: Thu Jul 30 04:38:25 UTC 2009
Modified Files:
src/sys/dev/pci: pci_usrreq.c
Log Message:
do as elad suggested and call kauth instead of using INSECURE in pcimmap()
To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/dev/pci/pci_usrreq.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/pci/pci_usrreq.c
diff -u src/sys/dev/pci/pci_usrreq.c:1.21 src/sys/dev/pci/pci_usrreq.c:1.22
--- src/sys/dev/pci/pci_usrreq.c:1.21 Tue Jul 14 19:54:40 2009
+++ src/sys/dev/pci/pci_usrreq.c Thu Jul 30 04:38:24 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: pci_usrreq.c,v 1.21 2009/07/14 19:54:40 macallan Exp $ */
+/* $NetBSD: pci_usrreq.c,v 1.22 2009/07/30 04:38:24 macallan Exp $ */
/*
* Copyright 2001 Wasabi Systems, Inc.
@@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pci_usrreq.c,v 1.21 2009/07/14 19:54:40 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pci_usrreq.c,v 1.22 2009/07/30 04:38:24 macallan Exp $");
#include <sys/param.h>
#include <sys/conf.h>
@@ -50,13 +50,13 @@
#include <sys/systm.h>
#include <sys/errno.h>
#include <sys/fcntl.h>
+#include <sys/kauth.h>
#include <dev/pci/pcireg.h>
#include <dev/pci/pcivar.h>
#include <dev/pci/pciio.h>
#include "opt_pci.h"
-#include "opt_insecure.h"
static int
pciopen(dev_t dev, int flags, int mode, struct lwp *l)
@@ -113,9 +113,12 @@
static paddr_t
pcimmap(dev_t dev, off_t offset, int prot)
{
-#ifdef INSECURE
struct pci_softc *sc = device_lookup_private(&pci_cd, minor(dev));
+ if (kauth_authorize_generic(kauth_cred_get(), KAUTH_GENERIC_ISSUSER,
+ NULL) != 0) {
+ return -1;
+ }
/*
* Since we allow mapping of the entire bus, we
* take the offset to be the address on the bus,
@@ -143,9 +146,6 @@
}
#endif /* PCI_MAGIC_IO_RANGE */
return bus_space_mmap(sc->sc_memt, offset, 0, prot, 0);
-#else /* INSECURE */
- return -1;
-#endif /* INSECURE */
}
const struct cdevsw pci_cdevsw = {