Keir Fraser wrote: >>> +struct shared_info *HYPERVISOR_shared_info = (struct shared_info >>> *)empty_zero_page; >>> +EXPORT_SYMBOL(HYPERVISOR_shared_info); >>> ... >> >> EXPORT_SYMBOL_GPL? > > Interrupt-control macros (local_irq_enable/disable and friends) used > this symbol, so GPLing it made non-GPL modules fail. We made a bunch > of the macros proper functions so this may no longer be the case. Given that this is just a page exported from the hypervisor, it doesn't make much sense to impose a GPL requirement on this symbol (to put it another way, this is more part of the Xen ABI than the Linux API, so Linux can't make much claim to it). J