Re: Fixing DRM after phk's drive-by axeing
From: Jeremy Messenger (mezz7_at_cox.net)
Date: 03/29/05
- Previous message: John Baldwin: "Fixing DRM after phk's drive-by axeing"
- In reply to: John Baldwin: "Fixing DRM after phk's drive-by axeing"
- Next in thread: John Baldwin: "Re: Fixing DRM after phk's drive-by axeing"
- Reply: John Baldwin: "Re: Fixing DRM after phk's drive-by axeing"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 28 Mar 2005 16:39:55 -0600 To: "John Baldwin" <jhb@freebsd.org>
On Mon, 28 Mar 2005 17:34:45 -0500, John Baldwin <jhb@FreeBSD.org> wrote:
> I have a commit-ready version of the vm_mmap() changes I made to get drm
> to
> work happily with the newer, cleaner cdev stuff that phk has been
> working on.
> Basically, I've changed vm_mmap() so that it can accept either a vnode
> or a
> cdev as its handle argument rather than just vnodes. For the cdev case,
> it
> calls a vm_mmap_cdev() function that is a cut down version of
> vm_mmap_vnode(). One thing to note is that this case loses the MAC
> check for
> this type of mmap() (currently only done from DRM) since MAC only checks
> mmaps for vnodes. If cdev were to grow a label, then a mmap check for
> the
> cdev could be added I suppose, though the case of a mmap'ing a vnode that
> maps to a cdev would have to be adjusted to make that extra call as well.
>
> The first cut at the patch added a new MAP_CDEV flag to vm_mmap() that
> specified that the handle argument was a cdev rather than a vnode.
> However,
> this method requires that any kernel code that calls vm_mmap() passing in
> flags from userland has to verify that MAP_CDEV isn't passed in from
> userland
> to avoid potential DOSs from random user processes that result in kernel
> panics. Thus, I decided to change vm_mmap() to instead take a objtype_t
> parameter that specifies what type of object the handle argument is.
> Thus,
> for MAP_ANON, the code passes in OBJT_DEFAULT, for vnodes OBJT_VNODE,
> and for
> cdevs (in drm) OBJT_DEVICE. I've stuck the patch at
> http://www.FreeBSD.org/~jhb/patches/mmap_cdev3.patch and am using it
> locally
You had it typo for ',' instead '.'.. mmap_cdev3,patch
http://people.freebsd.org/~jhb/patches/mmap_cdev3,patch
Cheers,
Mezz
> to get X working on my laptop. Any objections or bikeshed^Wsuggestions
> for a
> different interface?
-- mezz7@cox.net - mezz@FreeBSD.org FreeBSD GNOME Team http://www.FreeBSD.org/gnome/ - gnome@FreeBSD.org _______________________________________________ freebsd-arch@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-arch To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
- Previous message: John Baldwin: "Fixing DRM after phk's drive-by axeing"
- In reply to: John Baldwin: "Fixing DRM after phk's drive-by axeing"
- Next in thread: John Baldwin: "Re: Fixing DRM after phk's drive-by axeing"
- Reply: John Baldwin: "Re: Fixing DRM after phk's drive-by axeing"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]