[peterz-queue:sched/maybe 1/14] ERROR: modpost: vmlinux: local symbol '__put_task_struct_rcu_cb' was exported

Peter Zijlstra peterz at infradead.org
Mon Jul 10 23:50:40 PDT 2023


On Mon, Jul 10, 2023 at 11:56:57AM -0700, Nathan Chancellor wrote:
> 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.

Fair enough; I'll put it on the ignore list. Thanks!



More information about the linux-riscv mailing list