On Fri, Apr 28, 2017 at 08:49:54AM -0700, Darren Hart wrote: > On Fri, Apr 28, 2017 at 03:46:58PM +0200, Peter Zijlstra wrote: > > How are they available? The only way a module can access this is by > > grubbing around kernel internals, basically doing a manual link stage. > > Well it's a rare thing, but I don't agree. The driver can use this function > already, to do so it just builds itself in and not as a module. And _that_ is the crucial difference. It means that the source needs to be available to whomever builds the kernel. It means that whoever builds the kernel can validate behaviour. All that goes out the window the moment you expose an interface to modules. > Further, we (the kernel community) have made it abundantly clear that we > couldn't care less about out of tree drivers, so they shouldn't even be part of > this discussion. So the only code that matters is in-tree drivers, and they can > already use this.... I don't much care for out-of-tree crap (as you well know), but the fact is that it exists and people do use it. Heck some binary only modules are even quite common/popular :-( So I think its realistic to be weary of our module interface. > What makes this one so special? It can completely mess up the load-balancer if used in creative ways. I just don't want to spend a minute having to worry about that.