It's even easier than that.
IBM could simply create a second glue layer, one which does nothing but re-export invalid_mmap_range in a way that the module loader would be willing to link to the GPFS module. License that layer as GPL.
Or provide an enhanced Insmod program that can take a module that in no way offers a GPL license and converts the symbol references properly so they link up to _GPLONLY symbols.
I think the only legal effect EXPORT_SYMBOL_GPL has is that it makes it really hard to use a subroutine without the author's permission by mistake (or claim that you did it by mistake). But whether the author's permission has any legal bearing is an open question.
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds