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.