Author: emax
Date: Mon Mar 24 18:13:41 2014
New Revision: 263690
URL: http://svnweb.freebsd.org/changeset/base/263690

Log:
  change defaule permissions on /dev/devstat. while i'm here remove
  D_NEEDGIANT flag
  
  Submitted by: jhb
  Reviewed by:  jhb, scottl, rwatson, delphij, phk
  MFC after:    1 week

Modified:
  head/sys/kern/subr_devstat.c

Modified: head/sys/kern/subr_devstat.c
==============================================================================
--- head/sys/kern/subr_devstat.c        Mon Mar 24 15:22:22 2014        
(r263689)
+++ head/sys/kern/subr_devstat.c        Mon Mar 24 18:13:41 2014        
(r263690)
@@ -460,7 +460,6 @@ static d_mmap_t devstat_mmap;
 
 static struct cdevsw devstat_cdevsw = {
        .d_version =    D_VERSION,
-       .d_flags =      D_NEEDGIANT,
        .d_mmap =       devstat_mmap,
        .d_name =       "devstat",
 };
@@ -482,13 +481,16 @@ devstat_mmap(struct cdev *dev, vm_ooffse
 
        if (nprot != VM_PROT_READ)
                return (-1);
+       mtx_lock(&devstat_mutex);
        TAILQ_FOREACH(spp, &pagelist, list) {
                if (offset == 0) {
                        *paddr = vtophys(spp->stat);
+                       mtx_unlock(&devstat_mutex);
                        return (0);
                }
                offset -= PAGE_SIZE;
        }
+       mtx_unlock(&devstat_mutex);
        return (-1);
 }
 
@@ -503,7 +505,7 @@ devstat_alloc(void)
        mtx_assert(&devstat_mutex, MA_NOTOWNED);
        if (!once) {
                make_dev_credf(MAKEDEV_ETERNAL | MAKEDEV_CHECKNAME,
-                   &devstat_cdevsw, 0, NULL, UID_ROOT, GID_WHEEL, 0400,
+                   &devstat_cdevsw, 0, NULL, UID_ROOT, GID_WHEEL, 0444,
                    DEVSTAT_DEVICE_NAME);
                once = 1;
        }
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to