On Tue, Apr 8, 2025 at 12:52 AM Eric Naim <dnaim@xxxxxxxxxxx> wrote: > > On 4/8/25 14:25, Lorenzo Stoakes wrote: > > On Mon, Apr 07, 2025 at 11:01:46PM -0700, Christoph Hellwig wrote: > >> On Tue, Apr 08, 2025 at 12:39:25PM +0800, Eric Naim wrote: > >>> The out-of-tree NVIDIA modules seem to rely on this symbol, is it possible to use EXPORT_SYMBOL() here instead of EXPORT_SYMBOL_GPL(), below is the modpost error: > >> > >> No. They don't have any business using this. > > > > What on _earth_ are they using this for? Is this just via the VMA flag > > manipulation functions? If it's something else, it's an unintended use of this. > > > > Anyway, generally speaking - agreed, this is absolutely a no-go Eric. In my view > > we simply should not be using EXPORT_SYMBOL() for _any_ new symbols whatsoever. > > > > Out-of-tree modules are simply a non-consideration for core mm code, this is a > > GPL open source project. If I had my way we'd simply revoke _all_ > > EXPORT_SYMBOL()'s, not add new ones. > > > >> > >> In fact vma_start_write should not be exported at all, just the > >> vm_flags_{set,clear,mod} helpers. > > > > Yup, I'd rather we just kept vma_start_write() mm-internal, though of course > > kernel/fork.c (ugh) needs it (we could probably refactor that in some way to > > avoid), and literally just the PPC arch (again maybe we can find a way round > > that). > > > > Maybe one for me to look at actually... hmm. > > > > Anyway Eric - I wonder if this is simply the nvidia OOT driver doing a > > vm_flags_...() call and then having an issue because the lock is uninlined now? > > > > I guess you are jut noticing this is breaking and don't know since - proprietary > > code. > > > This seems to be the case, upon looking a bit deeper it looks like the driver code > is calling atleast one of vm_flags_set. I couldn't find any direct calls to {,__}vma_start_write > at first and was bit confused. I agree that EXPORT_SYMBOL_GPL() should be enough as far as exporting goes. > > > > > Anyway in this case, the OOT driver should just write some GPL wrapper code or > > something here. Or better yet - make the driver open source :) > > Yeah, as obvious as it seems it doesn't happen on their open-sourced code :) > > Either way, I'm thankful for the replies. NVIDIA *should* have probably noticed > this already and it would probably fixed in the next driver or two so I'll just > let sleeping dogs lie. > > > -- > Regards, > Eric