2023-02-28 16:28 GMT+08:00, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>: > On Tue, Feb 28, 2023 at 04:18:12PM +0800, 王昊然 wrote: >> Just like symbol 'mmu_feature_keys'[1], 'cpu_feature_keys' was referenced >> indirectly by many inline functions; any GPL-incompatible modules using >> such >> a function will be potentially broken due to 'cpu_feature_keys' being >> exported as GPL-only. >> >> For example it still breaks ZFS, see >> https://github.com/openzfs/zfs/issues/14545 >> >> [1]: >> https://patchwork.ozlabs.org/project/linuxppc-dev/patch/20220329085709.4132729-1-haokexin@xxxxxxxxx/ > > External modules are always on their own, sorry. Especially ones that > are not released under the GPL. > > good luck! > > greg k-h > Some inline functions are just powerpc implementation of some generic KPIs, such as flush_dcache_page, which indirectly references 'cpu_feature_keys' in powerpc-specific code; this essentially makes 'flush_dcache_page' GPL-only in Linux powerpc, but not in other architectures.