Re: can device drivers return non-ram via vm_ops->nopage?

From: Linus Torvalds
Date: Sat Mar 20 2004 - 12:41:12 EST




On Sat, 20 Mar 2004, Andrea Arcangeli wrote:
>
> The only bugreport I've got so far for the latest anon_vma code is from
> Jens, and it's a device driver bug in my opinion, but I'd like to have a
> definitive confirmation from you about the ->nopage API.

I'd say that this is definitely a driver bug.

If a driver wants to map non-RAM pages, that's perfectly ok, but it MUST
NOT happen through "nopage()". The driver should map them with
"remap_page_range()", and thus never take a page fault for such pages at
all.

There is no reason to ever lazily map non-RAM pages - clearly they aren't
using any "real memory", so there is no reason to not fill the page tables
at mmap() time.

In other words, the driver is horribly broken.

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/