* [avpatel:riscv_sbi_dbtr_v3 63/64] arch/riscv/kernel/hw_breakpoint.c:634:17: warning: assignment to 'union sbi_dbtr_shmem_entry *' from 'int' makes pointer from integer without a cast
@ 2026-07-01 22:07 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-07-01 22:07 UTC (permalink / raw)
To: Himanshu Chauhan; +Cc: oe-kbuild-all, Anup Patel
tree: https://github.com/avpatel/linux.git riscv_sbi_dbtr_v3
head: dc427f45c78ef4a4158898a13df1e1119af95be3
commit: b85d9f545481fd4c956f5bc45ec5c6e2cb3d72ab [63/64] riscv: Introduce support for hardware break/watchpoints
config: riscv-randconfig-r111-20260701 (https://download.01.org/0day-ci/archive/20260702/202607020528.akxwXuSm-lkp@intel.com/config)
compiler: riscv32-linux-gcc (GCC) 8.5.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260702/202607020528.akxwXuSm-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/202607020528.akxwXuSm-lkp@intel.com/
All warnings (new ones prefixed by >>):
from arch/riscv/include/uapi/asm/byteorder.h:10,
from include/uapi/linux/perf_event.h:20,
from include/linux/perf_event.h:17,
from include/linux/hw_breakpoint.h:5,
from arch/riscv/kernel/hw_breakpoint.c:6:
arch/riscv/kernel/hw_breakpoint.c:454:22: error: dereferencing pointer to incomplete type 'struct sbi_dbtr_id_msg'
idx = le_to_cpu(recv->idx);
^~
include/uapi/linux/byteorder/little_endian.h:35:51: note: in definition of macro '__le32_to_cpu'
#define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
^
arch/riscv/include/asm/hw_breakpoint.h:20:19: note: in expansion of macro 'le32_to_cpu'
#define le_to_cpu le32_to_cpu
^~~~~~~~~~~
arch/riscv/kernel/hw_breakpoint.c:454:8: note: in expansion of macro 'le_to_cpu'
idx = le_to_cpu(recv->idx);
^~~~~~~~~
arch/riscv/kernel/hw_breakpoint.c:433:16: warning: unused variable 'ret' [-Wunused-variable]
struct sbiret ret;
^~~
arch/riscv/kernel/hw_breakpoint.c: In function 'arch_uninstall_hw_breakpoint':
arch/riscv/kernel/hw_breakpoint.c:482:16: error: storage size of 'ret' isn't known
struct sbiret ret;
^~~
arch/riscv/kernel/hw_breakpoint.c:499:18: error: 'SBI_EXT_DBTR' undeclared (first use in this function)
ret = sbi_ecall(SBI_EXT_DBTR, SBI_EXT_DBTR_TRIG_UNINSTALL,
^~~~~~~~~~~~
arch/riscv/kernel/hw_breakpoint.c:499:32: error: 'SBI_EXT_DBTR_TRIG_UNINSTALL' undeclared (first use in this function); did you mean 'RV_DBTR_TRIG_MCONTROL'?
ret = sbi_ecall(SBI_EXT_DBTR, SBI_EXT_DBTR_TRIG_UNINSTALL,
^~~~~~~~~~~~~~~~~~~~~~~~~~~
RV_DBTR_TRIG_MCONTROL
arch/riscv/kernel/hw_breakpoint.c:482:16: warning: unused variable 'ret' [-Wunused-variable]
struct sbiret ret;
^~~
arch/riscv/kernel/hw_breakpoint.c: In function 'arch_enable_hw_breakpoint':
arch/riscv/kernel/hw_breakpoint.c:507:16: error: storage size of 'ret' isn't known
struct sbiret ret;
^~~
arch/riscv/kernel/hw_breakpoint.c:523:18: error: 'SBI_EXT_DBTR' undeclared (first use in this function)
ret = sbi_ecall(SBI_EXT_DBTR, SBI_EXT_DBTR_TRIG_ENABLE,
^~~~~~~~~~~~
arch/riscv/kernel/hw_breakpoint.c:523:32: error: 'SBI_EXT_DBTR_TRIG_ENABLE' undeclared (first use in this function); did you mean 'RV_DBTR_TRIG_NONE'?
ret = sbi_ecall(SBI_EXT_DBTR, SBI_EXT_DBTR_TRIG_ENABLE,
^~~~~~~~~~~~~~~~~~~~~~~~
RV_DBTR_TRIG_NONE
arch/riscv/kernel/hw_breakpoint.c:507:16: warning: unused variable 'ret' [-Wunused-variable]
struct sbiret ret;
^~~
In file included from include/asm-generic/percpu.h:9,
from ./arch/riscv/include/generated/asm/percpu.h:1,
from include/linux/alloc_tag.h:12,
from include/linux/percpu.h:5,
from include/asm-generic/local64.h:5,
from ./arch/riscv/include/generated/asm/local64.h:1,
from include/linux/perf_event.h:26,
from include/linux/hw_breakpoint.h:5,
from arch/riscv/kernel/hw_breakpoint.c:6:
arch/riscv/kernel/hw_breakpoint.c: In function 'arch_update_hw_breakpoint':
include/linux/percpu-defs.h:221:52: error: invalid use of undefined type 'union sbi_dbtr_shmem_entry'
const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
^
include/linux/percpu-defs.h:245:2: note: in expansion of macro '__verify_pcpu_ptr'
__verify_pcpu_ptr(ptr); \
^~~~~~~~~~~~~~~~~
include/linux/percpu-defs.h:256:27: note: in expansion of macro 'raw_cpu_ptr'
#define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
^~~~~~~~~~~
arch/riscv/kernel/hw_breakpoint.c:536:38: note: in expansion of macro 'this_cpu_ptr'
union sbi_dbtr_shmem_entry *shmem = this_cpu_ptr(sbi_dbtr_shmem);
^~~~~~~~~~~~
arch/riscv/kernel/hw_breakpoint.c:539:16: error: storage size of 'ret' isn't known
struct sbiret ret;
^~~
arch/riscv/kernel/hw_breakpoint.c:558:6: error: dereferencing pointer to incomplete type 'struct sbi_dbtr_data_msg'
xmit->tdata1 = cpu_to_le(bp->tdata1);
^~
arch/riscv/kernel/hw_breakpoint.c:562:18: error: 'SBI_EXT_DBTR' undeclared (first use in this function)
ret = sbi_ecall(SBI_EXT_DBTR, SBI_EXT_DBTR_TRIG_UPDATE,
^~~~~~~~~~~~
arch/riscv/kernel/hw_breakpoint.c:562:32: error: 'SBI_EXT_DBTR_TRIG_UPDATE' undeclared (first use in this function); did you mean 'RV_DBTR_TRIG_LEGACY'?
ret = sbi_ecall(SBI_EXT_DBTR, SBI_EXT_DBTR_TRIG_UPDATE,
^~~~~~~~~~~~~~~~~~~~~~~~
RV_DBTR_TRIG_LEGACY
arch/riscv/kernel/hw_breakpoint.c:539:16: warning: unused variable 'ret' [-Wunused-variable]
struct sbiret ret;
^~~
arch/riscv/kernel/hw_breakpoint.c: In function 'arch_disable_hw_breakpoint':
arch/riscv/kernel/hw_breakpoint.c:574:16: error: storage size of 'ret' isn't known
struct sbiret ret;
^~~
arch/riscv/kernel/hw_breakpoint.c:589:18: error: 'SBI_EXT_DBTR' undeclared (first use in this function)
ret = sbi_ecall(SBI_EXT_DBTR, SBI_EXT_DBTR_TRIG_DISABLE,
^~~~~~~~~~~~
arch/riscv/kernel/hw_breakpoint.c:589:32: error: 'SBI_EXT_DBTR_TRIG_DISABLE' undeclared (first use in this function)
ret = sbi_ecall(SBI_EXT_DBTR, SBI_EXT_DBTR_TRIG_DISABLE,
^~~~~~~~~~~~~~~~~~~~~~~~~
arch/riscv/kernel/hw_breakpoint.c:574:16: warning: unused variable 'ret' [-Wunused-variable]
struct sbiret ret;
^~~
arch/riscv/kernel/hw_breakpoint.c: In function 'arch_hw_breakpoint_init':
>> arch/riscv/kernel/hw_breakpoint.c:634:17: warning: assignment to 'union sbi_dbtr_shmem_entry *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
sbi_dbtr_shmem = __alloc_percpu(sizeof(*sbi_dbtr_shmem) * dbtr_total_num,
^
cc1: some warnings being treated as errors
vim +634 arch/riscv/kernel/hw_breakpoint.c
613
614 static int __init arch_hw_breakpoint_init(void)
615 {
616 unsigned int cpu;
617 int rc = 0;
618
619 for_each_possible_cpu(cpu)
620 raw_spin_lock_init(&per_cpu(ecall_lock, cpu));
621
622 if (!dbtr_init)
623 init_sbi_dbtr();
624
625 if (dbtr_total_num) {
626 pr_info("%s: total number of type %d triggers: %u\n",
627 __func__, dbtr_type, dbtr_total_num);
628 } else {
629 pr_info("%s: No hardware triggers available\n", __func__);
630 goto out;
631 }
632
633 /* Allocate per-cpu shared memory */
> 634 sbi_dbtr_shmem = __alloc_percpu(sizeof(*sbi_dbtr_shmem) * dbtr_total_num,
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-01 22:08 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-01 22:07 [avpatel:riscv_sbi_dbtr_v3 63/64] arch/riscv/kernel/hw_breakpoint.c:634:17: warning: assignment to 'union sbi_dbtr_shmem_entry *' from 'int' makes pointer from integer without a cast kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.