Message ID | FF922C77946229B6+20250411105459.90782-5-chenlinxuan@uniontech.com (mailing list archive) |
---|---|
State | RFC |
Headers | show |
Series | kernel-hacking: introduce CONFIG_NO_AUTO_INLINE | expand |
On Fri, Apr 11, 2025 at 06:54:53PM +0800, Chen Linxuan wrote: > On x86_64 with gcc version 13.3.0, I compile > drivers/infiniband/hw/hns/hns_roce_hw_v2.c with: > > make defconfig > ./scripts/kconfig/merge_config.sh .config <( > echo CONFIG_COMPILE_TEST=y > echo CONFIG_HNS3=m > echo CONFIG_INFINIBAND=m > echo CONFIG_INFINIBAND_HNS_HIP08=m > ) > make KCFLAGS="-fno-inline-small-functions -fno-inline-functions-called-once" \ > drivers/infiniband/hw/hns/hns_roce_hw_v2.o > > Then I get a compile error: > > CALL scripts/checksyscalls.sh > DESCEND objtool > INSTALL libsubcmd_headers > CC [M] drivers/infiniband/hw/hns/hns_roce_hw_v2.o > In file included from drivers/infiniband/hw/hns/hns_roce_hw_v2.c:47: > drivers/infiniband/hw/hns/hns_roce_hw_v2.c: In function 'update_srq_db': > drivers/infiniband/hw/hns/hns_roce_common.h:74:17: error: 'db' is used uninitialized [-Werror=uninitialized] > 74 | *((__le32 *)_ptr + (field_h) / 32) &= \ > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > drivers/infiniband/hw/hns/hns_roce_common.h:90:17: note: in expansion of macro '_hr_reg_clear' > 90 | _hr_reg_clear(ptr, field_type, field_h, field_l); \ > | ^~~~~~~~~~~~~ > drivers/infiniband/hw/hns/hns_roce_common.h:95:39: note: in expansion of macro '_hr_reg_write' > 95 | #define hr_reg_write(ptr, field, val) _hr_reg_write(ptr, field, val) > | ^~~~~~~~~~~~~ > drivers/infiniband/hw/hns/hns_roce_hw_v2.c:948:9: note: in expansion of macro 'hr_reg_write' > 948 | hr_reg_write(&db, DB_TAG, srq->srqn); > | ^~~~~~~~~~~~ > drivers/infiniband/hw/hns/hns_roce_hw_v2.c:946:31: note: 'db' declared here > 946 | struct hns_roce_v2_db db; > | ^~ > cc1: all warnings being treated as errors > > Signed-off-by: Chen Linxuan <chenlinxuan@uniontech.com> > Co-Developed-by: Winston Wen <wentao@uniontech.com> > Signed-off-by: Winston Wen <wentao@uniontech.com> > --- > drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Applied to rdma-next. Thanks
diff --git a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c index 160e8927d364..7d6c0cfa1ded 100644 --- a/drivers/infiniband/hw/hns/hns_roce_hw_v2.c +++ b/drivers/infiniband/hw/hns/hns_roce_hw_v2.c @@ -943,7 +943,7 @@ static void fill_wqe_idx(struct hns_roce_srq *srq, unsigned int wqe_idx) static void update_srq_db(struct hns_roce_srq *srq) { struct hns_roce_dev *hr_dev = to_hr_dev(srq->ibsrq.device); - struct hns_roce_v2_db db; + struct hns_roce_v2_db db = { 0 }; hr_reg_write(&db, DB_TAG, srq->srqn); hr_reg_write(&db, DB_CMD, HNS_ROCE_V2_SRQ_DB);