[$] The proper use of EXPORT_SYMBOL_GPL()
The kernel, in theory, puts strict limits on which functions and datastructures are available to loadable kernel modules; only those that havebeen explicitly exported with EXPORT_SYMBOL() orEXPORT_SYMBOL_GPL() are accessible. In the case ofEXPORT_SYMBOL_GPL(), only modules that declare a GPL-compatiblelicense will be able to see the symbol. There have been questions aboutwhen EXPORT_SYMBOL_GPL() should be used for almost as long as ithas existed. The latest attempt to answer those questions was a sessionrun by Greg Kroah-Hartman at the 2018 Kernel Maintainers Summit; thatsession offered little in the way of general guidance, but it did addressone specific case.