On Fri, 2011-04-29 at 20:29 +0200, Arnd Bergmann wrote:
If that is the case, we can probably work around this by turning the entire linear mapping (except for the kernel binary) into nonexecutable mode, if we don't do that already. This is desirable for security purposes anyway
You'd still have an "edge" problem if you use large pages for the linear mapping, you can't obviously make part of the kernel text NX and you'd have to make sure you 'exclude' from those GPU allocations whatever overlaps with your last executable large page.
In a way, it's a similar problem I have with bolted memory on BookE where I can't restrict GPU allocations to memory that isn't bolted :-)
Cheers, Ben.