Yury Norov <yury.no...@gmail.com> writes: > On Mon, Jul 25, 2022 at 09:28:12AM +0200, Andy Shevchenko wrote: >> On Sun, Jul 24, 2022 at 12:19 AM Yury Norov <yury.no...@gmail.com> wrote: >> > >> > archrandom.h includes <asm/machdep.h> to refer ppc_md. This causes >> > circular header dependency, if generic nodemask.h includes random.h: >> > >> > In file included from include/linux/cred.h:16, >> > from include/linux/seq_file.h:13, >> > from arch/powerpc/include/asm/machdep.h:6, >> > from arch/powerpc/include/asm/archrandom.h:5, >> > from include/linux/random.h:109, >> > from include/linux/nodemask.h:97, >> > from include/linux/list_lru.h:12, >> > from include/linux/fs.h:13, >> > from include/linux/compat.h:17, >> > from arch/powerpc/kernel/asm-offsets.c:12: >> > include/linux/sched.h:1203:9: error: unknown type name 'nodemask_t' >> > 1203 | nodemask_t mems_allowed; >> > | ^~~~~~~~~~ >> > >> > Fix it by removing <asm/machdep.h> dependency from archrandom.h >> >> ... >> >> > EXPORT_SYMBOL_GPL(pm_power_off); >> >> ^^^ (Note this and read below) >> >> ... >> >> > +EXPORT_SYMBOL(arch_get_random_seed_long); >> >> It can't be like this. Brief browsing of the callees shows that. > > Is my understanding correct that you're suggesting to make it GPL? > > ppc_md is exported with EXPORT_SYMBOL(), and the function is in header, > so it's available for non-GPL code now. I don't want to change it.
That's true, your change maintains the status quo. But I think we actually don't need it exported to modules, I think it's a private detail of the RNG <-> architecture interface, not something that modules should be calling. So I think it's OK to drop the EXPORT_SYMBOL, either in this patch or a subsequent one if you don't want to rebase. cheers