From: kernel test robot <lkp@intel.com>
To: Ard Biesheuvel <ardb@kernel.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: [ardb:lockless-random-v2 4/5] drivers/char/random.c:570:1: error: instruction requires the following: RV64I Base Instruction Set
Date: Sat, 6 Dec 2025 18:31:31 +0800 [thread overview]
Message-ID: <202512061829.QOMtbpaE-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git lockless-random-v2
head: fb8e9bf37065a1be2dbea93f0325d087d5903226
commit: f9262c3f6085ab01d23f1bff483530df38d9ee42 [4/5] random: Use a lockless fast path for get_random_uXX()
config: riscv-randconfig-002-20251206 (https://download.01.org/0day-ci/archive/20251206/202512061829.QOMtbpaE-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251206/202512061829.QOMtbpaE-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512061829.QOMtbpaE-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/char/random.c:570:1: error: instruction requires the following: RV64I Base Instruction Set
570 | DEFINE_BATCHED_ENTROPY(u8)
| ^
drivers/char/random.c:552:6: note: expanded from macro 'DEFINE_BATCHED_ENTROPY'
552 | if (cmpxchg64_local(&batch->posgen, next - 1, next) != next - 1) { \
| ^
include/linux/atomic/atomic-instrumented.h:4998:2: note: expanded from macro 'cmpxchg64_local'
4998 | raw_cmpxchg64_local(__ai_ptr, __VA_ARGS__); \
| ^
include/linux/atomic/atomic-arch-fallback.h:399:29: note: expanded from macro 'raw_cmpxchg64_local'
399 | #define raw_cmpxchg64_local arch_cmpxchg64_local
| ^
arch/riscv/include/asm/cmpxchg.h:300:2: note: expanded from macro 'arch_cmpxchg64_local'
300 | arch_cmpxchg_relaxed((ptr), (o), (n)); \
| ^
arch/riscv/include/asm/cmpxchg.h:267:20: note: expanded from macro 'arch_cmpxchg_relaxed'
267 | SC_PREPEND(""), SC_APPEND(""), \
| ^
<inline asm>:1:5: note: instantiated into assembly here
1 | 0: lr.d a6, 0(a4)
| ^
>> drivers/char/random.c:570:1: error: instruction requires the following: RV64I Base Instruction Set
570 | DEFINE_BATCHED_ENTROPY(u8)
| ^
drivers/char/random.c:552:6: note: expanded from macro 'DEFINE_BATCHED_ENTROPY'
552 | if (cmpxchg64_local(&batch->posgen, next - 1, next) != next - 1) { \
| ^
include/linux/atomic/atomic-instrumented.h:4998:2: note: expanded from macro 'cmpxchg64_local'
4998 | raw_cmpxchg64_local(__ai_ptr, __VA_ARGS__); \
| ^
include/linux/atomic/atomic-arch-fallback.h:399:29: note: expanded from macro 'raw_cmpxchg64_local'
399 | #define raw_cmpxchg64_local arch_cmpxchg64_local
| ^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
arch/riscv/include/asm/cmpxchg.h:265:2: note: expanded from macro 'arch_cmpxchg_relaxed'
265 | _arch_cmpxchg((ptr), (o), (n), \
| ^
arch/riscv/include/asm/cmpxchg.h:242:3: note: expanded from macro '_arch_cmpxchg'
242 | __arch_cmpxchg(".d", ".d" sc_sfx, ".d" cas_sfx, \
| ^
arch/riscv/include/asm/cmpxchg.h:203:5: note: expanded from macro '__arch_cmpxchg'
203 | " sc" sc_sfx " %1, %z4, %2\n" \
| ^
<inline asm>:3:2: note: instantiated into assembly here
3 | sc.d s1, a1, 0(a4)
| ^
drivers/char/random.c:571:1: error: instruction requires the following: RV64I Base Instruction Set
571 | DEFINE_BATCHED_ENTROPY(u16)
| ^
drivers/char/random.c:552:6: note: expanded from macro 'DEFINE_BATCHED_ENTROPY'
552 | if (cmpxchg64_local(&batch->posgen, next - 1, next) != next - 1) { \
| ^
include/linux/atomic/atomic-instrumented.h:4998:2: note: expanded from macro 'cmpxchg64_local'
4998 | raw_cmpxchg64_local(__ai_ptr, __VA_ARGS__); \
| ^
include/linux/atomic/atomic-arch-fallback.h:399:29: note: expanded from macro 'raw_cmpxchg64_local'
399 | #define raw_cmpxchg64_local arch_cmpxchg64_local
| ^
arch/riscv/include/asm/cmpxchg.h:300:2: note: expanded from macro 'arch_cmpxchg64_local'
300 | arch_cmpxchg_relaxed((ptr), (o), (n)); \
| ^
arch/riscv/include/asm/cmpxchg.h:267:20: note: expanded from macro 'arch_cmpxchg_relaxed'
267 | SC_PREPEND(""), SC_APPEND(""), \
| ^
<inline asm>:1:5: note: instantiated into assembly here
1 | 0: lr.d a6, 0(a4)
| ^
drivers/char/random.c:571:1: error: instruction requires the following: RV64I Base Instruction Set
571 | DEFINE_BATCHED_ENTROPY(u16)
| ^
drivers/char/random.c:552:6: note: expanded from macro 'DEFINE_BATCHED_ENTROPY'
552 | if (cmpxchg64_local(&batch->posgen, next - 1, next) != next - 1) { \
| ^
include/linux/atomic/atomic-instrumented.h:4998:2: note: expanded from macro 'cmpxchg64_local'
4998 | raw_cmpxchg64_local(__ai_ptr, __VA_ARGS__); \
| ^
include/linux/atomic/atomic-arch-fallback.h:399:29: note: expanded from macro 'raw_cmpxchg64_local'
399 | #define raw_cmpxchg64_local arch_cmpxchg64_local
| ^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
arch/riscv/include/asm/cmpxchg.h:265:2: note: expanded from macro 'arch_cmpxchg_relaxed'
265 | _arch_cmpxchg((ptr), (o), (n), \
| ^
arch/riscv/include/asm/cmpxchg.h:242:3: note: expanded from macro '_arch_cmpxchg'
242 | __arch_cmpxchg(".d", ".d" sc_sfx, ".d" cas_sfx, \
| ^
arch/riscv/include/asm/cmpxchg.h:203:5: note: expanded from macro '__arch_cmpxchg'
203 | " sc" sc_sfx " %1, %z4, %2\n" \
| ^
<inline asm>:3:2: note: instantiated into assembly here
3 | sc.d s1, a1, 0(a4)
| ^
drivers/char/random.c:572:1: error: instruction requires the following: RV64I Base Instruction Set
572 | DEFINE_BATCHED_ENTROPY(u32)
| ^
drivers/char/random.c:552:6: note: expanded from macro 'DEFINE_BATCHED_ENTROPY'
552 | if (cmpxchg64_local(&batch->posgen, next - 1, next) != next - 1) { \
| ^
include/linux/atomic/atomic-instrumented.h:4998:2: note: expanded from macro 'cmpxchg64_local'
4998 | raw_cmpxchg64_local(__ai_ptr, __VA_ARGS__); \
| ^
include/linux/atomic/atomic-arch-fallback.h:399:29: note: expanded from macro 'raw_cmpxchg64_local'
399 | #define raw_cmpxchg64_local arch_cmpxchg64_local
| ^
arch/riscv/include/asm/cmpxchg.h:300:2: note: expanded from macro 'arch_cmpxchg64_local'
300 | arch_cmpxchg_relaxed((ptr), (o), (n)); \
| ^
arch/riscv/include/asm/cmpxchg.h:267:20: note: expanded from macro 'arch_cmpxchg_relaxed'
267 | SC_PREPEND(""), SC_APPEND(""), \
| ^
<inline asm>:1:5: note: instantiated into assembly here
1 | 0: lr.d a6, 0(a4)
| ^
drivers/char/random.c:572:1: error: instruction requires the following: RV64I Base Instruction Set
572 | DEFINE_BATCHED_ENTROPY(u32)
| ^
drivers/char/random.c:552:6: note: expanded from macro 'DEFINE_BATCHED_ENTROPY'
552 | if (cmpxchg64_local(&batch->posgen, next - 1, next) != next - 1) { \
| ^
include/linux/atomic/atomic-instrumented.h:4998:2: note: expanded from macro 'cmpxchg64_local'
4998 | raw_cmpxchg64_local(__ai_ptr, __VA_ARGS__); \
| ^
vim +570 drivers/char/random.c
3092adcef3ffd2 Jason A. Donenfeld 2022-05-15 569
585cd5fe9f7378 Jason A. Donenfeld 2022-09-28 @570 DEFINE_BATCHED_ENTROPY(u8)
a890d1c657ecba Jason A. Donenfeld 2022-10-05 571 DEFINE_BATCHED_ENTROPY(u16)
a890d1c657ecba Jason A. Donenfeld 2022-10-05 572 DEFINE_BATCHED_ENTROPY(u32)
a890d1c657ecba Jason A. Donenfeld 2022-10-05 573 DEFINE_BATCHED_ENTROPY(u64)
3655adc7089da4 Jason A. Donenfeld 2022-02-11 574
:::::: The code at line 570 was first introduced by commit
:::::: 585cd5fe9f7378601b1d4915ad6e9088333b5e5e random: add 8-bit and 16-bit batches
:::::: TO: Jason A. Donenfeld <Jason@zx2c4.com>
:::::: CC: Jason A. Donenfeld <Jason@zx2c4.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2025-12-06 10:31 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202512061829.QOMtbpaE-lkp@intel.com \
--to=lkp@intel.com \
--cc=ardb@kernel.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox