On Sun, Nov 17, 2024 at 10:49:06PM -0800, Christoph Hellwig wrote:
On Sat, Nov 16, 2024 at 05:59:18PM +0000, Pasha Tatashin wrote:
} while (start = next, start < end); return err; } +EXPORT_SYMBOL_GPL(walk_page_range);
Umm, no. We really should not expose all these page table detail to modules.
+EXPORT_SYMBOL_GPL(walk_page_range_kernel);
Even more so here.
Very much agree. You basically then have the ability for any (GPL) driver to come in and modify page tables at will which is VERY MUCH not a good idea.
The rules around page table manipulation are very subtle and constantly changing, this is not something for anything outside of mm to be fiddling with.
Again, I find it bizarre we're exporting mm internal implementation details to a driver to do stuff with rather than adding functionality to mm.