Re: [PATCH V2] riscv: Fixup compile error BUILD_BUG_ON failed

From: Guo Ren
Date: Mon Jun 29 2020 - 20:12:58 EST


Hi Palmer,

On Tue, Jun 30, 2020 at 7:22 AM Palmer Dabbelt <palmerdabbelt@xxxxxxxxxx> wrote:
>
> On Sun, 28 Jun 2020 09:25:24 PDT (-0700), mhiramat@xxxxxxxxxx wrote:
> > On Sun, 28 Jun 2020 16:07:37 +0000
> > guoren@xxxxxxxxxx wrote:
> >
> >> From: Guo Ren <guoren@xxxxxxxxxxxxxxxxx>
> >>
> >> Unfortunately, the current code couldn't be compiled:
> >>
> >> CC arch/riscv/kernel/patch.o
> >> In file included from ./include/linux/kernel.h:11,
> >> from ./include/linux/list.h:9,
> >> from ./include/linux/preempt.h:11,
> >> from ./include/linux/spinlock.h:51,
> >> from arch/riscv/kernel/patch.c:6:
> >> In function âfix_to_virtâ,
> >> inlined from âpatch_mapâ at arch/riscv/kernel/patch.c:37:17:
> >> ./include/linux/compiler.h:392:38: error: call to â__compiletime_assert_205â declared with attribute error: BUILD_BUG_ON failed: idx >= __end_of_fixed_addresses
> >> _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
> >> ^
> >> ./include/linux/compiler.h:373:4: note: in definition of macro â__compiletime_assertâ
> >> prefix ## suffix(); \
> >> ^~~~~~
> >> ./include/linux/compiler.h:392:2: note: in expansion of macro â_compiletime_assertâ
> >> _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
> >> ^~~~~~~~~~~~~~~~~~~
> >> ./include/linux/build_bug.h:39:37: note: in expansion of macro âcompiletime_assertâ
> >> #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
> >> ^~~~~~~~~~~~~~~~~~
> >> ./include/linux/build_bug.h:50:2: note: in expansion of macro âBUILD_BUG_ON_MSGâ
> >> BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
> >> ^~~~~~~~~~~~~~~~
> >> ./include/asm-generic/fixmap.h:32:2: note: in expansion of macro âBUILD_BUG_ONâ
> >> BUILD_BUG_ON(idx >= __end_of_fixed_addresses);
> >> ^~~~~~~~~~~~
> >>
> >> Because fix_to_virt(, idx) needs a const value, not a dynamic variable of
> >> reg-a0 or BUILD_BUG_ON failed with "idx >= __end_of_fixed_addresses".
> >
> > Looks good to me :)
> >
> > Reviewed-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
>
> Is there a configuration that runs into this bug? It's not showing up for me,
> and I generally try to add regressions to my test suite.
>
> > Thanks!

KPROBE, I'll send the patch soon.

--
Best Regards
Guo Ren

ML: https://lore.kernel.org/linux-csky/