[peterz-queue:sched/maybe 1/14] ERROR: modpost: vmlinux: local symbol '__put_task_struct_rcu_cb' was exported
Nathan Chancellor
nathan at kernel.org
Mon Jul 10 11:56:57 PDT 2023
On Mon, Jul 10, 2023 at 08:26:05PM +0200, Peter Zijlstra wrote:
> On Tue, Jul 11, 2023 at 01:48:23AM +0800, kernel test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/maybe
> > head: 69ff1e365682e2d516364c010b51f8a95140cd94
> > commit: eb15cb094ddb0227c9dfe5eb836d1a4357f070fd [1/14] kernel/fork: beware of __put_task_struct calling context
> > config: riscv-randconfig-r042-20230710 (https://download.01.org/0day-ci/archive/20230711/202307110147.tDoRemZ7-lkp@intel.com/config)
> > compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project.git 4a5ac14ee968ff0ad5d2cc1ffa0299048db4c88a)
> > reproduce: (https://download.01.org/0day-ci/archive/20230711/202307110147.tDoRemZ7-lkp@intel.com/reproduce)
> >
>
> > >> ERROR: modpost: vmlinux: local symbol '__put_task_struct_rcu_cb' was exported
>
> The commit above introduces this function:
>
> +void __put_task_struct_rcu_cb(struct rcu_head *rhp)
> +{
> + struct task_struct *task = container_of(rhp, struct task_struct, rcu);
> +
> + __put_task_struct(task);
> +}
> +EXPORT_SYMBOL_GPL(__put_task_struct_rcu_cb);
>
> How the heck does that become a local symbol?
>
Looking at the configuration:
CONFIG_32BIT=y
CONFIG_ARCH_RV32I=y
It is highly likely that something is broken with 32-bit RISC-V and
clang, as that is not something we have ever tested. I don't even think
32-bit RISC-V is tested that much even with GCC, so I'm not sure if this
is even worth looking into.
Cheers,
Nathan
More information about the linux-riscv
mailing list