[rfc] /dev/devstat permissions patch
John Baldwin
jhb at freebsd.org
Thu Mar 20 14:22:11 UTC 2014
On Tuesday, March 18, 2014 3:29:32 pm Maksim Yevmenkin wrote:
> hello,
>
> would anyone object to the following patch?
I think this is fine.
While you are at it, can you test this patch to remove D_NEEDGIANT?
Index: subr_devstat.c
===================================================================
--- subr_devstat.c (revision 263302)
+++ subr_devstat.c (working copy)
@@ -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_ooffset_t offset
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);
}
--
John Baldwin
More information about the freebsd-current
mailing list