Messages in this thread |  | | Date | Tue, 26 Mar 2002 13:57:03 -0500 | From | Benjamin LaHaise <> | Subject | Re: [patch] mmap bug with drivers that adjust vm_start |
| |
On Tue, Mar 26, 2002 at 05:42:36PM +0100, Andrea Arcangeli wrote: > However if the patch is needed it means the ->mmap also must do the > do_munmap stuff by hand internally, which is very ugly given we also did > our own do_munmap in a completly different region (the one requested by > the user).
At least my own code checks for that and fails if there is a mapping already placed at the fixed address it needs to use. If we're paranoid, we could BUG() on getting a vma back from the new find_vma_prepare call.
> Our do_munmap should not happen if we place the mapping > elsewhere. If possible I would prefer to change those drivers to > advertise their enforced vm_start with a proper callback, the current > way is halfway broken still. BTW, which are those drivers, and why they > needs to enforce a certain vm_start (also despite MAP_FIXED that they > cannot check within the ->mmap callback)?
Video drivers, others that require specific alignment (4MB pages for example). Historically, the mmap call has been the hook for doing this, hence the comment in do_mmap from davem. Unless there's a really good reason for changing the hook, I don't see doing so as providing much benefit other than making source compatibility hard.
-ben -- "A man with a bass just walked in, and he's putting it down on the floor." - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |