public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
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