Kernel
Threads by month
- ----- 2025 -----
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
April 2024
- 90 participants
- 949 discussions

[PATCH OLK-5.10 0/2] infiniband/hw/hiroce3: Add Huawei Intelligent Network Card RDMA Driver
by Shuai Wu 26 Apr '24
by Shuai Wu 26 Apr '24
26 Apr '24
driver inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I9H643
CVE: NA
---------------------------------
The RDMA driver supports the following features:
Supports Huawei SP600 series NICs;
Supports RoCEv2;
Supports RoCE XRC, UD, UC, and RC modes;
Supports RoCE UC, RC, and UD local switching;
Supports RoCE MR, PD, CQ, QoS, QP, and SRQ management;
Supports RoCE congestion control;
Supports RoCE Bond;
Supports RoCE FLR;
Supports RoCE entry specifications;
Supports RoCE error detection and reporting;
Signed-off-by: Shuai Wu <wushuai51(a)huawei.com>
Shuai Wu (2):
net/ethernet/huawei/hinic3: Add the CQM on which the RDMA depends
infiniband/hw/hiroce3: Add Huawei Intelligent Network Card RDMA Driver
Documentation/networking/hinic3.txt | 15 +
MAINTAINERS | 11 +
arch/arm64/configs/openeuler_defconfig | 1 +
arch/x86/configs/openeuler_defconfig | 1 +
drivers/infiniband/Kconfig | 1 +
drivers/infiniband/hw/Makefile | 1 +
drivers/infiniband/hw/hiroce3/Kconfig | 14 +
drivers/infiniband/hw/hiroce3/Makefile | 98 +
.../infiniband/hw/hiroce3/bond/roce_bond.h | 147 +
.../hw/hiroce3/bond/roce_bond_common.c | 938 +++
drivers/infiniband/hw/hiroce3/cq/roce_cq.h | 250 +
.../infiniband/hw/hiroce3/cq/roce_cq_common.c | 195 +
.../infiniband/hw/hiroce3/cq/roce_cq_cqe.c | 744 +++
.../infiniband/hw/hiroce3/cq/roce_cq_create.c | 629 ++
.../infiniband/hw/hiroce3/cq/roce_cq_ctrl.c | 930 +++
.../hw/hiroce3/cq/roce_cq_destroy.c | 247 +
drivers/infiniband/hw/hiroce3/dfx/roce_dfx.c | 122 +
drivers/infiniband/hw/hiroce3/dfx/roce_dfx.h | 177 +
.../infiniband/hw/hiroce3/dfx/roce_dfx_cap.c | 688 +++
.../infiniband/hw/hiroce3/dfx/roce_dfx_cap.h | 181 +
.../hw/hiroce3/dfx/roce_dfx_query.c | 643 ++
.../hiroce3/extension/roce_cdev_extension.c | 11 +
.../hiroce3/extension/roce_event_extension.c | 23 +
.../hiroce3/extension/roce_main_extension.c | 188 +
.../hw/hiroce3/extension/roce_mr_extension.c | 31 +
.../hiroce3/extension/roce_netdev_extension.c | 121 +
.../hw/hiroce3/extension/roce_qp_extension.c | 241 +
.../extension/roce_qp_post_send_extension.c | 11 +
.../hw/hiroce3/extension/roce_srq_extension.c | 27 +
.../hw/hiroce3/host/hmm/hmm_buddy.c | 161 +
.../hw/hiroce3/host/hmm/hmm_buddy.h | 32 +
.../infiniband/hw/hiroce3/host/hmm/hmm_comp.c | 164 +
.../infiniband/hw/hiroce3/host/hmm/hmm_comp.h | 228 +
.../hw/hiroce3/host/hmm/hmm_comp_init.c | 123 +
.../hw/hiroce3/host/hmm/hmm_comp_mtt.c | 494 ++
.../hw/hiroce3/host/hmm/hmm_comp_mw_mr.c | 220 +
.../hw/hiroce3/host/hmm/hmm_comp_res.c | 58 +
.../infiniband/hw/hiroce3/host/hmm/hmm_em.c | 348 ++
.../infiniband/hw/hiroce3/host/hmm/hmm_em.h | 47 +
.../infiniband/hw/hiroce3/host/hmm/hmm_mr.c | 429 ++
.../infiniband/hw/hiroce3/host/hmm/hmm_mr.h | 32 +
.../infiniband/hw/hiroce3/host/hmm/hmm_umem.c | 273 +
.../infiniband/hw/hiroce3/host/hmm/hmm_umem.h | 124 +
.../hw/hiroce3/include/hinic3_hmm.h | 93 +
.../hw/hiroce3/include/hinic3_rdma.h | 202 +
.../hw/hiroce3/include/nic/nic_mpu_cmd.h | 181 +
.../hw/hiroce3/include/nic/nic_npu_cmd.h | 29 +
.../hw/hiroce3/include/nic/nic_npu_cmd_defs.h | 134 +
.../infiniband/hw/hiroce3/include/node_id.h | 52 +
.../include/rdma/rdma_context_format.h | 5181 +++++++++++++++++
.../include/rdma/rdma_ext_ctx_format.h | 379 ++
.../hw/hiroce3/include/rdma/roce_ccf_format.h | 722 +++
.../hiroce3/include/rdma/roce_compile_macro.h | 66 +
.../hw/hiroce3/include/rdma/roce_ctx_api.h | 258 +
.../hw/hiroce3/include/rdma/roce_dif_format.h | 492 ++
.../hw/hiroce3/include/rdma/roce_err_type.h | 122 +
.../hiroce3/include/rdma/roce_hmm_context.h | 210 +
.../hw/hiroce3/include/rdma/roce_mpu_common.h | 234 +
.../hw/hiroce3/include/rdma/roce_pub.h | 259 +
.../hw/hiroce3/include/rdma/roce_pub_cmd.h | 261 +
.../hw/hiroce3/include/rdma/roce_ulp.h | 178 +
.../hw/hiroce3/include/rdma/roce_vbs_format.h | 206 +
.../hw/hiroce3/include/rdma/roce_verbs_attr.h | 413 ++
.../include/rdma/roce_verbs_attr_qpc_chip.h | 360 ++
.../hw/hiroce3/include/rdma/roce_verbs_cmd.h | 248 +
.../hiroce3/include/rdma/roce_verbs_cq_attr.h | 196 +
.../include/rdma/roce_verbs_ext_attr.h | 48 +
.../hiroce3/include/rdma/roce_verbs_format.h | 132 +
.../include/rdma/roce_verbs_gid_attr.h | 111 +
.../hiroce3/include/rdma/roce_verbs_mr_attr.h | 330 ++
.../hw/hiroce3/include/rdma/roce_verbs_pub.h | 225 +
.../include/rdma/roce_verbs_srq_attr.h | 264 +
.../include/rdma/roce_verbs_ulp_format.h | 91 +
.../hw/hiroce3/include/rdma/roce_wqe_format.h | 930 +++
.../hw/hiroce3/include/rdma/roce_xqe_format.h | 722 +++
.../hw/hiroce3/include/roce_cdev_extension.h | 13 +
.../hw/hiroce3/include/roce_event_extension.h | 13 +
.../hw/hiroce3/include/roce_main_extension.h | 78 +
.../hw/hiroce3/include/roce_mr_extension.h | 17 +
.../hiroce3/include/roce_netdev_extension.h | 19 +
.../hw/hiroce3/include/roce_qp_extension.h | 64 +
.../include/roce_qp_post_send_extension.h | 13 +
.../hw/hiroce3/include/roce_srq_extension.h | 14 +
drivers/infiniband/hw/hiroce3/mr/roce_mr.c | 949 +++
drivers/infiniband/hw/hiroce3/mr/roce_mr.h | 97 +
drivers/infiniband/hw/hiroce3/qp/roce_post.h | 167 +
drivers/infiniband/hw/hiroce3/qp/roce_qp.h | 244 +
.../infiniband/hw/hiroce3/qp/roce_qp_create.c | 1239 ++++
.../hw/hiroce3/qp/roce_qp_destroy.c | 260 +
.../infiniband/hw/hiroce3/qp/roce_qp_exp.h | 80 +
.../infiniband/hw/hiroce3/qp/roce_qp_modify.c | 2243 +++++++
.../hw/hiroce3/qp/roce_qp_post_recv.c | 223 +
.../hw/hiroce3/qp/roce_qp_post_send.c | 1315 +++++
.../infiniband/hw/hiroce3/qp/roce_qp_query.c | 393 ++
.../infiniband/hw/hiroce3/rdma/rdma_bitmap.c | 129 +
.../infiniband/hw/hiroce3/rdma/rdma_bitmap.h | 36 +
.../infiniband/hw/hiroce3/rdma/rdma_comp.c | 22 +
.../infiniband/hw/hiroce3/rdma/rdma_comp.h | 131 +
.../hw/hiroce3/rdma/rdma_comp_gid.c | 281 +
.../hw/hiroce3/rdma/rdma_comp_init.c | 366 ++
.../hw/hiroce3/rdma/rdma_comp_mw_mr.c | 242 +
.../infiniband/hw/hiroce3/rdma/rdma_comp_pd.c | 50 +
.../hw/hiroce3/rdma/rdma_comp_res.c | 245 +
drivers/infiniband/hw/hiroce3/roce.h | 574 ++
drivers/infiniband/hw/hiroce3/roce_cdev.c | 1259 ++++
drivers/infiniband/hw/hiroce3/roce_cmd.c | 722 +++
drivers/infiniband/hw/hiroce3/roce_cmd.h | 74 +
drivers/infiniband/hw/hiroce3/roce_compat.h | 60 +
drivers/infiniband/hw/hiroce3/roce_cqm_cmd.c | 52 +
drivers/infiniband/hw/hiroce3/roce_cqm_cmd.h | 17 +
drivers/infiniband/hw/hiroce3/roce_db.c | 88 +
drivers/infiniband/hw/hiroce3/roce_db.h | 29 +
drivers/infiniband/hw/hiroce3/roce_event.c | 566 ++
drivers/infiniband/hw/hiroce3/roce_event.h | 36 +
drivers/infiniband/hw/hiroce3/roce_k_ioctl.h | 89 +
drivers/infiniband/hw/hiroce3/roce_main.c | 1609 +++++
drivers/infiniband/hw/hiroce3/roce_mix.c | 1194 ++++
drivers/infiniband/hw/hiroce3/roce_mix.h | 205 +
drivers/infiniband/hw/hiroce3/roce_netdev.c | 786 +++
drivers/infiniband/hw/hiroce3/roce_netdev.h | 59 +
drivers/infiniband/hw/hiroce3/roce_netlink.c | 352 ++
drivers/infiniband/hw/hiroce3/roce_netlink.h | 164 +
drivers/infiniband/hw/hiroce3/roce_pd.c | 66 +
drivers/infiniband/hw/hiroce3/roce_pd.h | 24 +
drivers/infiniband/hw/hiroce3/roce_sysfs.c | 1800 ++++++
drivers/infiniband/hw/hiroce3/roce_sysfs.h | 108 +
drivers/infiniband/hw/hiroce3/roce_user.h | 65 +
drivers/infiniband/hw/hiroce3/roce_xrc.c | 128 +
drivers/infiniband/hw/hiroce3/roce_xrc.h | 23 +
drivers/infiniband/hw/hiroce3/srq/roce_srq.h | 201 +
.../infiniband/hw/hiroce3/srq/roce_srq_comm.c | 93 +
.../hw/hiroce3/srq/roce_srq_create.c | 635 ++
.../infiniband/hw/hiroce3/srq/roce_srq_ctrl.c | 570 ++
drivers/net/ethernet/huawei/hinic3/Makefile | 22 +-
.../ethernet/huawei/hinic3/bond/hinic3_bond.c | 1042 ++++
.../ethernet/huawei/hinic3/bond/hinic3_bond.h | 98 +
.../ethernet/huawei/hinic3/comm_msg_intf.h | 565 +-
.../ethernet/huawei/hinic3/cqm/cqm_bat_cla.c | 2056 +++++++
.../ethernet/huawei/hinic3/cqm/cqm_bat_cla.h | 214 +
.../huawei/hinic3/cqm/cqm_bitmap_table.c | 1454 +++++
.../huawei/hinic3/cqm/cqm_bitmap_table.h | 66 +
.../huawei/hinic3/cqm/cqm_bloomfilter.c | 535 ++
.../huawei/hinic3/cqm/cqm_bloomfilter.h | 53 +
.../net/ethernet/huawei/hinic3/cqm/cqm_cmd.c | 250 +
.../net/ethernet/huawei/hinic3/cqm/cqm_cmd.h | 39 +
.../net/ethernet/huawei/hinic3/cqm/cqm_db.c | 506 ++
.../net/ethernet/huawei/hinic3/cqm/cqm_db.h | 36 +
.../ethernet/huawei/hinic3/cqm/cqm_define.h | 54 +
.../net/ethernet/huawei/hinic3/cqm/cqm_main.c | 1743 ++++++
.../net/ethernet/huawei/hinic3/cqm/cqm_main.h | 380 ++
.../ethernet/huawei/hinic3/cqm/cqm_memsec.c | 665 +++
.../ethernet/huawei/hinic3/cqm/cqm_memsec.h | 23 +
.../ethernet/huawei/hinic3/cqm/cqm_object.c | 1664 ++++++
.../ethernet/huawei/hinic3/cqm/cqm_object.h | 714 +++
.../huawei/hinic3/cqm/cqm_object_intern.c | 1467 +++++
.../huawei/hinic3/cqm/cqm_object_intern.h | 93 +
.../net/ethernet/huawei/hinic3/cqm/readme.txt | 3 +
.../net/ethernet/huawei/hinic3/hinic3_crm.h | 110 +-
.../net/ethernet/huawei/hinic3/hinic3_dbg.c | 2 +
.../net/ethernet/huawei/hinic3/hinic3_hw.h | 51 +-
.../ethernet/huawei/hinic3/hinic3_mag_cfg.c | 4 +-
.../huawei/hinic3/hinic3_mgmt_interface.h | 377 +-
.../net/ethernet/huawei/hinic3/hinic3_nic.h | 1 -
.../ethernet/huawei/hinic3/hinic3_nic_cfg.h | 1 +
.../ethernet/huawei/hinic3/hinic3_srv_nic.h | 5 +
.../ethernet/huawei/hinic3/hw/hinic3_cmdq.c | 33 +-
.../ethernet/huawei/hinic3/hw/hinic3_cmdq.h | 7 +-
.../ethernet/huawei/hinic3/hw/hinic3_csr.h | 1 +
.../huawei/hinic3/hw/hinic3_devlink.h | 24 +
.../ethernet/huawei/hinic3/hw/hinic3_eqs.c | 35 +
.../ethernet/huawei/hinic3/hw/hinic3_hw_cfg.c | 155 +-
.../ethernet/huawei/hinic3/hw/hinic3_hw_cfg.h | 17 +-
.../huawei/hinic3/hw/hinic3_hw_comm.c | 148 +-
.../huawei/hinic3/hw/hinic3_hw_comm.h | 2 +-
.../ethernet/huawei/hinic3/hw/hinic3_hw_mt.c | 39 +-
.../ethernet/huawei/hinic3/hw/hinic3_hwdev.c | 212 +-
.../ethernet/huawei/hinic3/hw/hinic3_hwdev.h | 33 +-
.../ethernet/huawei/hinic3/hw/hinic3_hwif.c | 54 +
.../ethernet/huawei/hinic3/hw/hinic3_mbox.c | 113 +-
.../ethernet/huawei/hinic3/hw/hinic3_mbox.h | 82 +-
.../ethernet/huawei/hinic3/hw/hinic3_mgmt.c | 76 +-
.../ethernet/huawei/hinic3/hw/hinic3_mgmt.h | 5 +-
.../huawei/hinic3/hw/hinic3_multi_host_mgmt.c | 1231 ++++
.../huawei/hinic3/hw/hinic3_multi_host_mgmt.h | 124 +
.../huawei/hinic3/hw/hinic3_nictool.c | 1 +
.../huawei/hinic3/hw/hinic3_pci_id_tbl.h | 30 +-
.../huawei/hinic3/hw/ossl_knl_linux.c | 20 +-
.../hinic3/include/bond/bond_common_defs.h | 69 +
.../include/cfg_mgmt/cfg_mgmt_mpu_cmd.h | 12 +
.../include/cfg_mgmt/cfg_mgmt_mpu_cmd_defs.h | 212 +
.../huawei/hinic3/include/cqm/cqm_npu_cmd.h | 31 +
.../hinic3/include/cqm/cqm_npu_cmd_defs.h | 61 +
.../huawei/hinic3/include/hinic3_common.h | 181 +
.../huawei/hinic3/include/hinic3_cqm.h | 364 ++
.../huawei/hinic3/include/hinic3_cqm_define.h | 52 +
.../huawei/hinic3/include/hinic3_lld.h | 223 +
.../huawei/hinic3/include/hinic3_profile.h | 148 +
.../huawei/hinic3/include/mpu/mag_mpu_cmd.h | 70 +
.../hinic3/include/mpu/mpu_board_defs.h | 71 +
.../hinic3/include/mpu/mpu_cmd_base_defs.h | 116 +
.../hinic3/include/mpu/mpu_inband_cmd.h | 187 +
.../hinic3/include/mpu/mpu_inband_cmd_defs.h | 1078 ++++
.../include/mpu/mpu_outband_ncsi_cmd_defs.h | 205 +
.../huawei/hinic3/include/mpu/nic_cfg_comm.h | 55 +
.../huawei/hinic3/include/ossl_types.h | 144 +
.../include/public/npu_cmdq_base_defs.h | 232 +
.../ethernet/huawei/hinic3/include/readme.txt | 1 +
.../hinic3/include/vmsec/vmsec_mpu_common.h | 107 +
.../huawei/hinic3/include/vram_common.h | 65 +
drivers/net/ethernet/huawei/hinic3/mag_cmd.h | 272 +-
drivers/net/ethernet/huawei/hinic3/ossl_knl.h | 4 +
.../ethernet/huawei/hinic3/ossl_knl_linux.h | 29 +-
212 files changed, 62938 insertions(+), 1125 deletions(-)
create mode 100644 drivers/infiniband/hw/hiroce3/Kconfig
create mode 100644 drivers/infiniband/hw/hiroce3/Makefile
create mode 100644 drivers/infiniband/hw/hiroce3/bond/roce_bond.h
create mode 100644 drivers/infiniband/hw/hiroce3/bond/roce_bond_common.c
create mode 100644 drivers/infiniband/hw/hiroce3/cq/roce_cq.h
create mode 100644 drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c
create mode 100644 drivers/infiniband/hw/hiroce3/cq/roce_cq_cqe.c
create mode 100644 drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c
create mode 100644 drivers/infiniband/hw/hiroce3/cq/roce_cq_ctrl.c
create mode 100644 drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c
create mode 100644 drivers/infiniband/hw/hiroce3/dfx/roce_dfx.c
create mode 100644 drivers/infiniband/hw/hiroce3/dfx/roce_dfx.h
create mode 100644 drivers/infiniband/hw/hiroce3/dfx/roce_dfx_cap.c
create mode 100644 drivers/infiniband/hw/hiroce3/dfx/roce_dfx_cap.h
create mode 100644 drivers/infiniband/hw/hiroce3/dfx/roce_dfx_query.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_cdev_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_event_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_main_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_mr_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_netdev_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_qp_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_qp_post_send_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_srq_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_buddy.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_buddy.h
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_comp.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_comp.h
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_comp_init.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_comp_mtt.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_comp_mw_mr.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_comp_res.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_em.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_em.h
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_mr.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_mr.h
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_umem.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_umem.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/hinic3_hmm.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/hinic3_rdma.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/nic/nic_mpu_cmd.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/nic/nic_npu_cmd.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/nic/nic_npu_cmd_defs.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/node_id.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_ccf_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_compile_macro.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_ctx_api.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_dif_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_err_type.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_hmm_context.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_mpu_common.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_pub.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_pub_cmd.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_ulp.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_vbs_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_attr.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_attr_qpc_chip.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cq_attr.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_ext_attr.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_gid_attr.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_pub.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_srq_attr.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_ulp_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_wqe_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_xqe_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_cdev_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_event_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_main_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_mr_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_netdev_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_qp_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_qp_post_send_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_srq_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/mr/roce_mr.c
create mode 100644 drivers/infiniband/hw/hiroce3/mr/roce_mr.h
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_post.h
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp.h
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp_create.c
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp_destroy.c
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp_exp.h
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp_modify.c
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp_post_recv.c
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp_post_send.c
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp_query.c
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_bitmap.c
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_bitmap.h
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_comp.c
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_comp.h
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_comp_gid.c
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_comp_init.c
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_comp_mw_mr.c
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_comp_pd.c
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_comp_res.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_cdev.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_cmd.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_cmd.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_compat.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_cqm_cmd.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_cqm_cmd.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_db.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_db.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_event.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_event.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_k_ioctl.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_main.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_mix.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_mix.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_netdev.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_netdev.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_netlink.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_netlink.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_pd.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_pd.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_sysfs.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_sysfs.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_user.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_xrc.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_xrc.h
create mode 100644 drivers/infiniband/hw/hiroce3/srq/roce_srq.h
create mode 100644 drivers/infiniband/hw/hiroce3/srq/roce_srq_comm.c
create mode 100644 drivers/infiniband/hw/hiroce3/srq/roce_srq_create.c
create mode 100644 drivers/infiniband/hw/hiroce3/srq/roce_srq_ctrl.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/bond/hinic3_bond.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/bond/hinic3_bond.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_bat_cla.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_bat_cla.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_bloomfilter.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_bloomfilter.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_cmd.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_cmd.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_db.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_db.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_define.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_main.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_main.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_memsec.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_memsec.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_object.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_object.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_object_intern.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_object_intern.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/readme.txt
create mode 100644 drivers/net/ethernet/huawei/hinic3/hw/hinic3_multi_host_mgmt.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/hw/hinic3_multi_host_mgmt.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/bond/bond_common_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/cfg_mgmt/cfg_mgmt_mpu_cmd.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/cfg_mgmt/cfg_mgmt_mpu_cmd_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/cqm/cqm_npu_cmd.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/cqm/cqm_npu_cmd_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/hinic3_common.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/hinic3_cqm.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/hinic3_cqm_define.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/hinic3_lld.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/hinic3_profile.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/mpu/mag_mpu_cmd.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/mpu/mpu_board_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/mpu/mpu_cmd_base_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/mpu/mpu_inband_cmd.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/mpu/mpu_inband_cmd_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/mpu/mpu_outband_ncsi_cmd_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/mpu/nic_cfg_comm.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/ossl_types.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/public/npu_cmdq_base_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/readme.txt
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/vmsec/vmsec_mpu_common.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/vram_common.h
--
2.33.0
2
3

[PATCH OLK-6.6 0/2] infiniband/hw/hiroce3: Add Huawei Intelligent Network Card RDMA Driver
by Shuai Wu 26 Apr '24
by Shuai Wu 26 Apr '24
26 Apr '24
driver inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I9EMOF
CVE: NA
---------------------------------
The RDMA driver supports the following features:
Supports Huawei SP600 series NICs;
Supports RoCEv2;
Supports RoCE XRC, UD, UC, and RC modes;
Supports RoCE UC, RC, and UD local switching;
Supports RoCE MR, PD, CQ, QoS, QP, and SRQ management;
Supports RoCE congestion control;
Supports RoCE Bond;
Supports RoCE FLR;
Supports RoCE entry specifications;
Supports RoCE error detection and reporting;
Signed-off-by: Shuai Wu <wushuai51(a)huawei.com>
Shuai Wu (2):
net/ethernet/huawei/hinic3: Add the CQM on which the RDMA depends
infiniband/hw/hiroce3: Add Huawei Intelligent Network Card RDMA Driver
Documentation/networking/hinic3.rst | 15 +
MAINTAINERS | 11 +
arch/arm64/configs/openeuler_defconfig | 1 +
arch/x86/configs/openeuler_defconfig | 1 +
drivers/infiniband/Kconfig | 1 +
drivers/infiniband/hw/Makefile | 1 +
drivers/infiniband/hw/hiroce3/Kconfig | 14 +
drivers/infiniband/hw/hiroce3/Makefile | 98 +
.../infiniband/hw/hiroce3/bond/roce_bond.h | 147 +
.../hw/hiroce3/bond/roce_bond_common.c | 938 +++
drivers/infiniband/hw/hiroce3/cq/roce_cq.h | 250 +
.../infiniband/hw/hiroce3/cq/roce_cq_common.c | 195 +
.../infiniband/hw/hiroce3/cq/roce_cq_cqe.c | 744 +++
.../infiniband/hw/hiroce3/cq/roce_cq_create.c | 629 ++
.../infiniband/hw/hiroce3/cq/roce_cq_ctrl.c | 930 +++
.../hw/hiroce3/cq/roce_cq_destroy.c | 247 +
drivers/infiniband/hw/hiroce3/dfx/roce_dfx.c | 122 +
drivers/infiniband/hw/hiroce3/dfx/roce_dfx.h | 177 +
.../infiniband/hw/hiroce3/dfx/roce_dfx_cap.c | 688 +++
.../infiniband/hw/hiroce3/dfx/roce_dfx_cap.h | 181 +
.../hw/hiroce3/dfx/roce_dfx_query.c | 643 ++
.../hiroce3/extension/roce_cdev_extension.c | 11 +
.../hiroce3/extension/roce_event_extension.c | 23 +
.../hiroce3/extension/roce_main_extension.c | 188 +
.../hw/hiroce3/extension/roce_mr_extension.c | 31 +
.../hiroce3/extension/roce_netdev_extension.c | 121 +
.../hw/hiroce3/extension/roce_qp_extension.c | 241 +
.../extension/roce_qp_post_send_extension.c | 11 +
.../hw/hiroce3/extension/roce_srq_extension.c | 27 +
.../hw/hiroce3/host/hmm/hmm_buddy.c | 161 +
.../hw/hiroce3/host/hmm/hmm_buddy.h | 32 +
.../infiniband/hw/hiroce3/host/hmm/hmm_comp.c | 164 +
.../infiniband/hw/hiroce3/host/hmm/hmm_comp.h | 228 +
.../hw/hiroce3/host/hmm/hmm_comp_init.c | 123 +
.../hw/hiroce3/host/hmm/hmm_comp_mtt.c | 494 ++
.../hw/hiroce3/host/hmm/hmm_comp_mw_mr.c | 220 +
.../hw/hiroce3/host/hmm/hmm_comp_res.c | 58 +
.../infiniband/hw/hiroce3/host/hmm/hmm_em.c | 348 ++
.../infiniband/hw/hiroce3/host/hmm/hmm_em.h | 47 +
.../infiniband/hw/hiroce3/host/hmm/hmm_mr.c | 429 ++
.../infiniband/hw/hiroce3/host/hmm/hmm_mr.h | 32 +
.../infiniband/hw/hiroce3/host/hmm/hmm_umem.c | 273 +
.../infiniband/hw/hiroce3/host/hmm/hmm_umem.h | 124 +
.../hw/hiroce3/include/hinic3_hmm.h | 93 +
.../hw/hiroce3/include/hinic3_rdma.h | 202 +
.../hw/hiroce3/include/nic/nic_mpu_cmd.h | 181 +
.../hw/hiroce3/include/nic/nic_npu_cmd.h | 29 +
.../hw/hiroce3/include/nic/nic_npu_cmd_defs.h | 135 +
.../infiniband/hw/hiroce3/include/node_id.h | 52 +
.../include/rdma/rdma_context_format.h | 5181 +++++++++++++++++
.../include/rdma/rdma_ext_ctx_format.h | 379 ++
.../hw/hiroce3/include/rdma/roce_ccf_format.h | 722 +++
.../hiroce3/include/rdma/roce_compile_macro.h | 66 +
.../hw/hiroce3/include/rdma/roce_ctx_api.h | 258 +
.../hw/hiroce3/include/rdma/roce_dif_format.h | 492 ++
.../hw/hiroce3/include/rdma/roce_err_type.h | 122 +
.../hiroce3/include/rdma/roce_hmm_context.h | 210 +
.../hw/hiroce3/include/rdma/roce_mpu_common.h | 234 +
.../hw/hiroce3/include/rdma/roce_pub.h | 259 +
.../hw/hiroce3/include/rdma/roce_pub_cmd.h | 261 +
.../hw/hiroce3/include/rdma/roce_ulp.h | 178 +
.../hw/hiroce3/include/rdma/roce_vbs_format.h | 206 +
.../hw/hiroce3/include/rdma/roce_verbs_attr.h | 413 ++
.../include/rdma/roce_verbs_attr_qpc_chip.h | 360 ++
.../hw/hiroce3/include/rdma/roce_verbs_cmd.h | 248 +
.../hiroce3/include/rdma/roce_verbs_cq_attr.h | 196 +
.../include/rdma/roce_verbs_ext_attr.h | 48 +
.../hiroce3/include/rdma/roce_verbs_format.h | 132 +
.../include/rdma/roce_verbs_gid_attr.h | 111 +
.../hiroce3/include/rdma/roce_verbs_mr_attr.h | 330 ++
.../hw/hiroce3/include/rdma/roce_verbs_pub.h | 225 +
.../include/rdma/roce_verbs_srq_attr.h | 264 +
.../include/rdma/roce_verbs_ulp_format.h | 91 +
.../hw/hiroce3/include/rdma/roce_wqe_format.h | 930 +++
.../hw/hiroce3/include/rdma/roce_xqe_format.h | 722 +++
.../hw/hiroce3/include/roce_cdev_extension.h | 13 +
.../hw/hiroce3/include/roce_event_extension.h | 13 +
.../hw/hiroce3/include/roce_main_extension.h | 78 +
.../hw/hiroce3/include/roce_mr_extension.h | 17 +
.../hiroce3/include/roce_netdev_extension.h | 19 +
.../hw/hiroce3/include/roce_qp_extension.h | 64 +
.../include/roce_qp_post_send_extension.h | 13 +
.../hw/hiroce3/include/roce_srq_extension.h | 14 +
drivers/infiniband/hw/hiroce3/mr/roce_mr.c | 949 +++
drivers/infiniband/hw/hiroce3/mr/roce_mr.h | 97 +
drivers/infiniband/hw/hiroce3/qp/roce_post.h | 167 +
drivers/infiniband/hw/hiroce3/qp/roce_qp.h | 244 +
.../infiniband/hw/hiroce3/qp/roce_qp_create.c | 1218 ++++
.../hw/hiroce3/qp/roce_qp_destroy.c | 260 +
.../infiniband/hw/hiroce3/qp/roce_qp_exp.h | 80 +
.../infiniband/hw/hiroce3/qp/roce_qp_modify.c | 2241 +++++++
.../hw/hiroce3/qp/roce_qp_post_recv.c | 223 +
.../hw/hiroce3/qp/roce_qp_post_send.c | 1315 +++++
.../infiniband/hw/hiroce3/qp/roce_qp_query.c | 392 ++
.../infiniband/hw/hiroce3/rdma/rdma_bitmap.c | 129 +
.../infiniband/hw/hiroce3/rdma/rdma_bitmap.h | 35 +
.../infiniband/hw/hiroce3/rdma/rdma_comp.c | 22 +
.../infiniband/hw/hiroce3/rdma/rdma_comp.h | 131 +
.../hw/hiroce3/rdma/rdma_comp_gid.c | 281 +
.../hw/hiroce3/rdma/rdma_comp_init.c | 366 ++
.../hw/hiroce3/rdma/rdma_comp_mw_mr.c | 242 +
.../infiniband/hw/hiroce3/rdma/rdma_comp_pd.c | 50 +
.../hw/hiroce3/rdma/rdma_comp_res.c | 245 +
drivers/infiniband/hw/hiroce3/roce.h | 574 ++
drivers/infiniband/hw/hiroce3/roce_cdev.c | 1260 ++++
drivers/infiniband/hw/hiroce3/roce_cmd.c | 722 +++
drivers/infiniband/hw/hiroce3/roce_cmd.h | 74 +
drivers/infiniband/hw/hiroce3/roce_compat.h | 60 +
drivers/infiniband/hw/hiroce3/roce_cqm_cmd.c | 52 +
drivers/infiniband/hw/hiroce3/roce_cqm_cmd.h | 17 +
drivers/infiniband/hw/hiroce3/roce_db.c | 88 +
drivers/infiniband/hw/hiroce3/roce_db.h | 29 +
drivers/infiniband/hw/hiroce3/roce_event.c | 566 ++
drivers/infiniband/hw/hiroce3/roce_event.h | 36 +
drivers/infiniband/hw/hiroce3/roce_k_ioctl.h | 89 +
drivers/infiniband/hw/hiroce3/roce_main.c | 1610 +++++
drivers/infiniband/hw/hiroce3/roce_mix.c | 1194 ++++
drivers/infiniband/hw/hiroce3/roce_mix.h | 205 +
drivers/infiniband/hw/hiroce3/roce_netdev.c | 786 +++
drivers/infiniband/hw/hiroce3/roce_netdev.h | 59 +
drivers/infiniband/hw/hiroce3/roce_netlink.c | 352 ++
drivers/infiniband/hw/hiroce3/roce_netlink.h | 164 +
drivers/infiniband/hw/hiroce3/roce_pd.c | 66 +
drivers/infiniband/hw/hiroce3/roce_pd.h | 24 +
drivers/infiniband/hw/hiroce3/roce_sysfs.c | 1800 ++++++
drivers/infiniband/hw/hiroce3/roce_sysfs.h | 108 +
drivers/infiniband/hw/hiroce3/roce_user.h | 65 +
drivers/infiniband/hw/hiroce3/roce_xrc.c | 128 +
drivers/infiniband/hw/hiroce3/roce_xrc.h | 23 +
drivers/infiniband/hw/hiroce3/srq/roce_srq.h | 201 +
.../infiniband/hw/hiroce3/srq/roce_srq_comm.c | 93 +
.../hw/hiroce3/srq/roce_srq_create.c | 635 ++
.../infiniband/hw/hiroce3/srq/roce_srq_ctrl.c | 570 ++
drivers/net/ethernet/huawei/hinic3/Makefile | 22 +-
.../ethernet/huawei/hinic3/bond/hinic3_bond.c | 1042 ++++
.../ethernet/huawei/hinic3/bond/hinic3_bond.h | 98 +
.../ethernet/huawei/hinic3/comm_msg_intf.h | 565 +-
.../ethernet/huawei/hinic3/cqm/cqm_bat_cla.c | 2056 +++++++
.../ethernet/huawei/hinic3/cqm/cqm_bat_cla.h | 214 +
.../huawei/hinic3/cqm/cqm_bitmap_table.c | 1454 +++++
.../huawei/hinic3/cqm/cqm_bitmap_table.h | 66 +
.../huawei/hinic3/cqm/cqm_bloomfilter.c | 535 ++
.../huawei/hinic3/cqm/cqm_bloomfilter.h | 53 +
.../net/ethernet/huawei/hinic3/cqm/cqm_cmd.c | 250 +
.../net/ethernet/huawei/hinic3/cqm/cqm_cmd.h | 39 +
.../net/ethernet/huawei/hinic3/cqm/cqm_db.c | 506 ++
.../net/ethernet/huawei/hinic3/cqm/cqm_db.h | 36 +
.../ethernet/huawei/hinic3/cqm/cqm_define.h | 54 +
.../net/ethernet/huawei/hinic3/cqm/cqm_main.c | 1743 ++++++
.../net/ethernet/huawei/hinic3/cqm/cqm_main.h | 380 ++
.../ethernet/huawei/hinic3/cqm/cqm_memsec.c | 665 +++
.../ethernet/huawei/hinic3/cqm/cqm_memsec.h | 23 +
.../ethernet/huawei/hinic3/cqm/cqm_object.c | 1664 ++++++
.../ethernet/huawei/hinic3/cqm/cqm_object.h | 714 +++
.../huawei/hinic3/cqm/cqm_object_intern.c | 1467 +++++
.../huawei/hinic3/cqm/cqm_object_intern.h | 93 +
.../net/ethernet/huawei/hinic3/cqm/readme.txt | 3 +
.../net/ethernet/huawei/hinic3/hinic3_crm.h | 110 +-
.../net/ethernet/huawei/hinic3/hinic3_dbg.c | 2 +
.../net/ethernet/huawei/hinic3/hinic3_hw.h | 51 +-
.../ethernet/huawei/hinic3/hinic3_mag_cfg.c | 4 +-
.../huawei/hinic3/hinic3_mgmt_interface.h | 377 +-
.../net/ethernet/huawei/hinic3/hinic3_nic.h | 1 -
.../ethernet/huawei/hinic3/hinic3_nic_cfg.h | 1 +
.../ethernet/huawei/hinic3/hinic3_srv_nic.h | 5 +
.../ethernet/huawei/hinic3/hw/hinic3_cmdq.c | 33 +-
.../ethernet/huawei/hinic3/hw/hinic3_cmdq.h | 7 +-
.../ethernet/huawei/hinic3/hw/hinic3_csr.h | 1 +
.../huawei/hinic3/hw/hinic3_devlink.h | 24 +
.../ethernet/huawei/hinic3/hw/hinic3_eqs.c | 35 +
.../ethernet/huawei/hinic3/hw/hinic3_hw_cfg.c | 155 +-
.../ethernet/huawei/hinic3/hw/hinic3_hw_cfg.h | 17 +-
.../huawei/hinic3/hw/hinic3_hw_comm.c | 148 +-
.../huawei/hinic3/hw/hinic3_hw_comm.h | 2 +-
.../ethernet/huawei/hinic3/hw/hinic3_hw_mt.c | 39 +-
.../ethernet/huawei/hinic3/hw/hinic3_hwdev.c | 212 +-
.../ethernet/huawei/hinic3/hw/hinic3_hwdev.h | 33 +-
.../ethernet/huawei/hinic3/hw/hinic3_hwif.c | 54 +
.../ethernet/huawei/hinic3/hw/hinic3_mbox.c | 113 +-
.../ethernet/huawei/hinic3/hw/hinic3_mbox.h | 82 +-
.../ethernet/huawei/hinic3/hw/hinic3_mgmt.c | 76 +-
.../ethernet/huawei/hinic3/hw/hinic3_mgmt.h | 5 +-
.../huawei/hinic3/hw/hinic3_multi_host_mgmt.c | 1231 ++++
.../huawei/hinic3/hw/hinic3_multi_host_mgmt.h | 124 +
.../huawei/hinic3/hw/hinic3_nictool.c | 1 +
.../huawei/hinic3/hw/hinic3_pci_id_tbl.h | 30 +-
.../huawei/hinic3/hw/ossl_knl_linux.c | 20 +-
.../hinic3/include/bond/bond_common_defs.h | 69 +
.../include/cfg_mgmt/cfg_mgmt_mpu_cmd.h | 12 +
.../include/cfg_mgmt/cfg_mgmt_mpu_cmd_defs.h | 212 +
.../huawei/hinic3/include/cqm/cqm_npu_cmd.h | 31 +
.../hinic3/include/cqm/cqm_npu_cmd_defs.h | 61 +
.../huawei/hinic3/include/hinic3_common.h | 181 +
.../huawei/hinic3/include/hinic3_cqm.h | 364 ++
.../huawei/hinic3/include/hinic3_cqm_define.h | 52 +
.../huawei/hinic3/include/hinic3_lld.h | 223 +
.../huawei/hinic3/include/hinic3_profile.h | 148 +
.../huawei/hinic3/include/mpu/mag_mpu_cmd.h | 70 +
.../hinic3/include/mpu/mpu_board_defs.h | 71 +
.../hinic3/include/mpu/mpu_cmd_base_defs.h | 116 +
.../hinic3/include/mpu/mpu_inband_cmd.h | 187 +
.../hinic3/include/mpu/mpu_inband_cmd_defs.h | 1078 ++++
.../include/mpu/mpu_outband_ncsi_cmd_defs.h | 205 +
.../huawei/hinic3/include/mpu/nic_cfg_comm.h | 55 +
.../huawei/hinic3/include/ossl_types.h | 144 +
.../include/public/npu_cmdq_base_defs.h | 232 +
.../ethernet/huawei/hinic3/include/readme.txt | 1 +
.../hinic3/include/vmsec/vmsec_mpu_common.h | 107 +
.../huawei/hinic3/include/vram_common.h | 65 +
drivers/net/ethernet/huawei/hinic3/mag_cmd.h | 272 +-
drivers/net/ethernet/huawei/hinic3/ossl_knl.h | 4 +
.../ethernet/huawei/hinic3/ossl_knl_linux.h | 70 +-
212 files changed, 62957 insertions(+), 1125 deletions(-)
create mode 100644 drivers/infiniband/hw/hiroce3/Kconfig
create mode 100644 drivers/infiniband/hw/hiroce3/Makefile
create mode 100644 drivers/infiniband/hw/hiroce3/bond/roce_bond.h
create mode 100644 drivers/infiniband/hw/hiroce3/bond/roce_bond_common.c
create mode 100644 drivers/infiniband/hw/hiroce3/cq/roce_cq.h
create mode 100644 drivers/infiniband/hw/hiroce3/cq/roce_cq_common.c
create mode 100644 drivers/infiniband/hw/hiroce3/cq/roce_cq_cqe.c
create mode 100644 drivers/infiniband/hw/hiroce3/cq/roce_cq_create.c
create mode 100644 drivers/infiniband/hw/hiroce3/cq/roce_cq_ctrl.c
create mode 100644 drivers/infiniband/hw/hiroce3/cq/roce_cq_destroy.c
create mode 100644 drivers/infiniband/hw/hiroce3/dfx/roce_dfx.c
create mode 100644 drivers/infiniband/hw/hiroce3/dfx/roce_dfx.h
create mode 100644 drivers/infiniband/hw/hiroce3/dfx/roce_dfx_cap.c
create mode 100644 drivers/infiniband/hw/hiroce3/dfx/roce_dfx_cap.h
create mode 100644 drivers/infiniband/hw/hiroce3/dfx/roce_dfx_query.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_cdev_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_event_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_main_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_mr_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_netdev_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_qp_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_qp_post_send_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/extension/roce_srq_extension.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_buddy.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_buddy.h
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_comp.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_comp.h
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_comp_init.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_comp_mtt.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_comp_mw_mr.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_comp_res.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_em.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_em.h
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_mr.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_mr.h
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_umem.c
create mode 100644 drivers/infiniband/hw/hiroce3/host/hmm/hmm_umem.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/hinic3_hmm.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/hinic3_rdma.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/nic/nic_mpu_cmd.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/nic/nic_npu_cmd.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/nic/nic_npu_cmd_defs.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/node_id.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/rdma_context_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/rdma_ext_ctx_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_ccf_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_compile_macro.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_ctx_api.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_dif_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_err_type.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_hmm_context.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_mpu_common.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_pub.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_pub_cmd.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_ulp.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_vbs_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_attr.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_attr_qpc_chip.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cmd.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_cq_attr.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_ext_attr.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_gid_attr.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_mr_attr.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_pub.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_srq_attr.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_verbs_ulp_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_wqe_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/rdma/roce_xqe_format.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_cdev_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_event_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_main_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_mr_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_netdev_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_qp_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_qp_post_send_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/include/roce_srq_extension.h
create mode 100644 drivers/infiniband/hw/hiroce3/mr/roce_mr.c
create mode 100644 drivers/infiniband/hw/hiroce3/mr/roce_mr.h
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_post.h
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp.h
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp_create.c
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp_destroy.c
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp_exp.h
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp_modify.c
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp_post_recv.c
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp_post_send.c
create mode 100644 drivers/infiniband/hw/hiroce3/qp/roce_qp_query.c
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_bitmap.c
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_bitmap.h
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_comp.c
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_comp.h
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_comp_gid.c
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_comp_init.c
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_comp_mw_mr.c
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_comp_pd.c
create mode 100644 drivers/infiniband/hw/hiroce3/rdma/rdma_comp_res.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_cdev.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_cmd.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_cmd.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_compat.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_cqm_cmd.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_cqm_cmd.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_db.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_db.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_event.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_event.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_k_ioctl.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_main.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_mix.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_mix.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_netdev.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_netdev.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_netlink.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_netlink.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_pd.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_pd.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_sysfs.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_sysfs.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_user.h
create mode 100644 drivers/infiniband/hw/hiroce3/roce_xrc.c
create mode 100644 drivers/infiniband/hw/hiroce3/roce_xrc.h
create mode 100644 drivers/infiniband/hw/hiroce3/srq/roce_srq.h
create mode 100644 drivers/infiniband/hw/hiroce3/srq/roce_srq_comm.c
create mode 100644 drivers/infiniband/hw/hiroce3/srq/roce_srq_create.c
create mode 100644 drivers/infiniband/hw/hiroce3/srq/roce_srq_ctrl.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/bond/hinic3_bond.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/bond/hinic3_bond.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_bat_cla.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_bat_cla.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_bitmap_table.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_bloomfilter.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_bloomfilter.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_cmd.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_cmd.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_db.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_db.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_define.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_main.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_main.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_memsec.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_memsec.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_object.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_object.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_object_intern.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/cqm_object_intern.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/cqm/readme.txt
create mode 100644 drivers/net/ethernet/huawei/hinic3/hw/hinic3_multi_host_mgmt.c
create mode 100644 drivers/net/ethernet/huawei/hinic3/hw/hinic3_multi_host_mgmt.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/bond/bond_common_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/cfg_mgmt/cfg_mgmt_mpu_cmd.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/cfg_mgmt/cfg_mgmt_mpu_cmd_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/cqm/cqm_npu_cmd.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/cqm/cqm_npu_cmd_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/hinic3_common.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/hinic3_cqm.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/hinic3_cqm_define.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/hinic3_lld.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/hinic3_profile.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/mpu/mag_mpu_cmd.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/mpu/mpu_board_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/mpu/mpu_cmd_base_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/mpu/mpu_inband_cmd.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/mpu/mpu_inband_cmd_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/mpu/mpu_outband_ncsi_cmd_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/mpu/nic_cfg_comm.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/ossl_types.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/public/npu_cmdq_base_defs.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/readme.txt
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/vmsec/vmsec_mpu_common.h
create mode 100644 drivers/net/ethernet/huawei/hinic3/include/vram_common.h
--
2.33.0
2
3

[PATCH openEuler-1.0-LTS 0/1] fix race between rebuild scheduler domains and hotplug work
by Chen Ridong 26 Apr '24
by Chen Ridong 26 Apr '24
26 Apr '24
*** BLURB HERE ***
Chen Ridong (1):
cpuset: fix race between rebuild scheduler domains and hotplug work
kernel/cgroup/cpuset.c | 7 +++++++
1 file changed, 7 insertions(+)
--
2.34.1
2
2

[PATCH openEuler-1.0-LTS v3] x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails
by Yu Liao 26 Apr '24
by Yu Liao 26 Apr '24
26 Apr '24
From: Sean Christopherson <seanjc(a)google.com>
stable inclusion
from stable-v4.19.218
commit b20ec58f8a6f4fef32cc71480ddf824584e24743
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9FNFO
CVE: CVE-2021-47217
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit daf972118c517b91f74ff1731417feb4270625a4 upstream.
Check for a valid hv_vp_index array prior to derefencing hv_vp_index when
setting Hyper-V's TSC change callback. If Hyper-V setup failed in
hyperv_init(), the kernel will still report that it's running under
Hyper-V, but will have silently disabled nearly all functionality.
BUG: kernel NULL pointer dereference, address: 0000000000000010
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 0 P4D 0
Oops: 0000 [#1] SMP
CPU: 4 PID: 1 Comm: swapper/0 Not tainted 5.15.0-rc2+ #75
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
RIP: 0010:set_hv_tscchange_cb+0x15/0xa0
Code: <8b> 04 82 8b 15 12 17 85 01 48 c1 e0 20 48 0d ee 00 01 00 f6 c6 08
...
Call Trace:
kvm_arch_init+0x17c/0x280
kvm_init+0x31/0x330
vmx_init+0xba/0x13a
do_one_initcall+0x41/0x1c0
kernel_init_freeable+0x1f2/0x23b
kernel_init+0x16/0x120
ret_from_fork+0x22/0x30
Fixes: 93286261de1b ("x86/hyperv: Reenlightenment notifications support")
Cc: stable(a)vger.kernel.org
Cc: Vitaly Kuznetsov <vkuznets(a)redhat.com>
Signed-off-by: Sean Christopherson <seanjc(a)google.com>
Reviewed-by: Vitaly Kuznetsov <vkuznets(a)redhat.com>
Link: https://lore.kernel.org/r/20211104182239.1302956-2-seanjc@google.com
Signed-off-by: Wei Liu <wei.liu(a)kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Yu Liao <liaoyu15(a)huawei.com>
---
arch/x86/hyperv/hv_init.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index e4ba467a9fc6..fda61a4dc229 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -201,6 +201,9 @@ void set_hv_tscchange_cb(void (*cb)(void))
return;
}
+ if (!hv_vp_index)
+ return;
+
hv_reenlightenment_cb = cb;
/* Make sure callback is registered before we write to MSRs */
--
2.25.1
2
1
CVE-2024-26863
Murali Karicheri (1):
net: hsr: fix placement of logical operator in a multi-line statement
Shigeru Yoshida (1):
hsr: Fix uninit-value access in hsr_get_node()
net/hsr/hsr_forward.c | 8 ++++----
net/hsr/hsr_framereg.c | 8 ++++++--
2 files changed, 10 insertions(+), 6 deletions(-)
--
2.34.1
2
3
From: Shigeru Yoshida <syoshida(a)redhat.com>
stable inclusion
from stable-v5.10.214
commit 7fb2d4d6bb1c85f7a23aace0ed6c86a95dea792a
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9HJXK
CVE: CVE-2024-26863
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
---------------------------
[ Upstream commit ddbec99f58571301679addbc022256970ca3eac6 ]
KMSAN reported the following uninit-value access issue [1]:
=====================================================
BUG: KMSAN: uninit-value in hsr_get_node+0xa2e/0xa40 net/hsr/hsr_framereg.c:246
hsr_get_node+0xa2e/0xa40 net/hsr/hsr_framereg.c:246
fill_frame_info net/hsr/hsr_forward.c:577 [inline]
hsr_forward_skb+0xe12/0x30e0 net/hsr/hsr_forward.c:615
hsr_dev_xmit+0x1a1/0x270 net/hsr/hsr_device.c:223
__netdev_start_xmit include/linux/netdevice.h:4940 [inline]
netdev_start_xmit include/linux/netdevice.h:4954 [inline]
xmit_one net/core/dev.c:3548 [inline]
dev_hard_start_xmit+0x247/0xa10 net/core/dev.c:3564
__dev_queue_xmit+0x33b8/0x5130 net/core/dev.c:4349
dev_queue_xmit include/linux/netdevice.h:3134 [inline]
packet_xmit+0x9c/0x6b0 net/packet/af_packet.c:276
packet_snd net/packet/af_packet.c:3087 [inline]
packet_sendmsg+0x8b1d/0x9f30 net/packet/af_packet.c:3119
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg net/socket.c:745 [inline]
__sys_sendto+0x735/0xa10 net/socket.c:2191
__do_sys_sendto net/socket.c:2203 [inline]
__se_sys_sendto net/socket.c:2199 [inline]
__x64_sys_sendto+0x125/0x1c0 net/socket.c:2199
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0x6d/0x140 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x63/0x6b
Uninit was created at:
slab_post_alloc_hook+0x129/0xa70 mm/slab.h:768
slab_alloc_node mm/slub.c:3478 [inline]
kmem_cache_alloc_node+0x5e9/0xb10 mm/slub.c:3523
kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:560
__alloc_skb+0x318/0x740 net/core/skbuff.c:651
alloc_skb include/linux/skbuff.h:1286 [inline]
alloc_skb_with_frags+0xc8/0xbd0 net/core/skbuff.c:6334
sock_alloc_send_pskb+0xa80/0xbf0 net/core/sock.c:2787
packet_alloc_skb net/packet/af_packet.c:2936 [inline]
packet_snd net/packet/af_packet.c:3030 [inline]
packet_sendmsg+0x70e8/0x9f30 net/packet/af_packet.c:3119
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg net/socket.c:745 [inline]
__sys_sendto+0x735/0xa10 net/socket.c:2191
__do_sys_sendto net/socket.c:2203 [inline]
__se_sys_sendto net/socket.c:2199 [inline]
__x64_sys_sendto+0x125/0x1c0 net/socket.c:2199
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0x6d/0x140 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x63/0x6b
CPU: 1 PID: 5033 Comm: syz-executor334 Not tainted 6.7.0-syzkaller-00562-g9f8413c4a66f #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/17/2023
=====================================================
If the packet type ID field in the Ethernet header is either ETH_P_PRP or
ETH_P_HSR, but it is not followed by an HSR tag, hsr_get_skb_sequence_nr()
reads an invalid value as a sequence number. This causes the above issue.
This patch fixes the issue by returning NULL if the Ethernet header is not
followed by an HSR tag.
Fixes: f266a683a480 ("net/hsr: Better frame dispatch")
Reported-and-tested-by: syzbot+2ef3a8ce8e91b5a50098(a)syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=2ef3a8ce8e91b5a50098 [1]
Signed-off-by: Shigeru Yoshida <syoshida(a)redhat.com>
Link: https://lore.kernel.org/r/20240312152719.724530-1-syoshida@redhat.com
Signed-off-by: Paolo Abeni <pabeni(a)redhat.com>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Liu Jian <liujian56(a)huawei.com>
---
net/hsr/hsr_framereg.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/net/hsr/hsr_framereg.c b/net/hsr/hsr_framereg.c
index afc97d65cf2d..cb7feb9398b0 100644
--- a/net/hsr/hsr_framereg.c
+++ b/net/hsr/hsr_framereg.c
@@ -237,6 +237,10 @@ struct hsr_node *hsr_get_node(struct hsr_port *port, struct list_head *node_db,
*/
if (ethhdr->h_proto == htons(ETH_P_PRP) ||
ethhdr->h_proto == htons(ETH_P_HSR)) {
+ /* Check if skb contains hsr_ethhdr */
+ if (skb->mac_len < sizeof(struct hsr_ethhdr))
+ return NULL;
+
/* Use the existing sequence_nr from the tag as starting point
* for filtering duplicate frames.
*/
--
2.34.1
2
1
From: ZhangPeng <zhangpeng362(a)huawei.com>
Update oedefconfig for the minimum set. Changes as follows:
For arm64:
CONFIG_PVPANIC from not set to y
CONFIG_NET_SCH_FQ_CODEL from m to y
CONFIG_VIRTIO_MEM from y to m
CONFIG_ARM_SPE_PMU from y to m
CONFIG_ARM_SMMU_V3_PMU from y to m
CONFIG_DRM from y to m
CONFIG_RTC_SYSTOHC from not set to y
CONFIG_NTB from not set to m
For x86:
CONFIG_VIRTIO_MMIO from not set to m
CONFIG_PCIE_EDR from not set to y
CONFIG_IO_STRICT_DEVMEM from not set to y
The previous commit updated config without make update_oedefconfig, so
now make update_oedefconfig will move some lines.
ZhangPeng (2):
arm64: openeuler_defconfig: update oedefconfig for the minimum set
x86: openeuler_defconfig: update oedefconfig for the minimum set
arch/arm64/configs/openeuler_defconfig | 114 ++++++++++++++-----------
arch/x86/configs/openeuler_defconfig | 107 ++++++++++++-----------
2 files changed, 122 insertions(+), 99 deletions(-)
--
2.25.1
2
3

[openeuler:OLK-6.6] BUILD REGRESSION a5346226043730d40dbab0429ee159b8165d29f7
by kernel test robot 26 Apr '24
by kernel test robot 26 Apr '24
26 Apr '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: a5346226043730d40dbab0429ee159b8165d29f7 !6585 ACPI: processor_idle: Fix memory leak in acpi_processor_power_exit()
Error/Warning ids grouped by kconfigs:
gcc_recent_errors
|-- arm64-allnoconfig
| `-- arch-arm64-kernel-cpufeature.c:error:enable_pseudo_nmi-undeclared-(first-use-in-this-function)
|-- arm64-randconfig-002-20240426
| `-- include-linux-fortify-string.h:warning:__builtin_memcpy-reading-between-and-bytes-from-a-region-of-size
|-- loongarch-allmodconfig
| |-- drivers-net-ethernet-bzwx-nce-comm-txrx.c:fatal-error:ne6x_trace.h:No-such-file-or-directory
| |-- drivers-net-ethernet-bzwx-nce-ne6x-ne6x.h:fatal-error:reg.h:No-such-file-or-directory
| |-- drivers-net-ethernet-bzwx-nce-ne6x_vf-ne6xvf.h:fatal-error:reg.h:No-such-file-or-directory
| |-- drivers-net-ethernet-mucse-rnp-rnp_main.c:warning:Function-parameter-or-member-netdev-not-described-in-rnp_netpoll
| |-- drivers-net-ethernet-mucse-rnp-rnp_main.c:warning:expecting-prototype-for-Polling-interrupt-().-Prototype-was-for-rnp_netpoll()-instead
| |-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-mucse-rnpvf-rnpvf_main.c:warning:d-directive-output-may-be-truncated-writing-between-and-bytes-into-a-region-of-size-between-and
| `-- drivers-net-ethernet-mucse-rnpvf-rnpvf_main.c:warning:no-previous-prototype-for-rnpvf_alloc_rx_buffers
`-- x86_64-randconfig-002-20240426
|-- drivers-net-ethernet-huawei-hinic-hinic_api_cmd.c:warning:expecting-prototype-for-prepare_cell().-Prototype-was-for-wait_for_resp_polling()-instead
|-- drivers-net-ethernet-huawei-hinic-hinic_eqs.c:warning:expecting-prototype-for-hinic_aeq_register_sw_cb().-Prototype-was-for-hinic_aeq_register_swe_cb()-instead
|-- drivers-net-ethernet-huawei-hinic-hinic_eqs.c:warning:expecting-prototype-for-hinic_aeq_unregister_sw_cb().-Prototype-was-for-hinic_aeq_unregister_swe_cb()-instead
|-- drivers-net-ethernet-huawei-hinic-hinic_eqs.c:warning:expecting-prototype-for-hinic_ceq_register_sw_cb().-Prototype-was-for-hinic_ceq_register_cb()-instead
|-- drivers-net-ethernet-huawei-hinic-hinic_hwif.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
|-- drivers-net-ethernet-huawei-hinic-hinic_mbox.c:warning:expecting-prototype-for-hinic_unregister_ppf_mbox_cb().-Prototype-was-for-hinic_unregister_pf_mbox_cb()-instead
|-- drivers-net-ethernet-huawei-hinic-hinic_mbox.c:warning:expecting-prototype-for-hinic_unregister_ppf_mbox_cb().-Prototype-was-for-hinic_unregister_ppf_to_pf_mbox_cb()-instead
`-- drivers-net-ethernet-huawei-hinic-hinic_mgmt.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
clang_recent_errors
|-- arm64-allmodconfig
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwdev_init.c:warning:no-previous-prototype-for-function-sss_deinit_hwdev
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwdev_init.c:warning:no-previous-prototype-for-function-sss_hwdev_detach
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwdev_init.c:warning:no-previous-prototype-for-function-sss_hwdev_shutdown
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwdev_init.c:warning:no-previous-prototype-for-function-sss_hwdev_stop
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwdev_init.c:warning:no-previous-prototype-for-function-sss_init_hwdev
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwdev_init.c:warning:variable-fault_level-set-but-not-used
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwdev_init.c:warning:variable-pcie_src-set-but-not-used
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwdev_io_flush.c:warning:no-previous-prototype-for-function-sss_hwdev_flush_io
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwdev_mgmt_info.c:warning:no-previous-prototype-for-function-sss_deinit_mgmt_info
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwdev_mgmt_info.c:warning:no-previous-prototype-for-function-sss_init_mgmt_info
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_adm.c:warning:no-previous-prototype-for-function-sss_adm_msg_read
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_adm.c:warning:no-previous-prototype-for-function-sss_adm_msg_read_ack
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_adm.c:warning:no-previous-prototype-for-function-sss_adm_msg_write
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_adm.c:warning:no-previous-prototype-for-function-sss_adm_msg_write_nack
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_adm.c:warning:no-previous-prototype-for-function-sss_sync_send_adm_msg
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_adm_init.c:warning:no-previous-prototype-for-function-sss_complete_adm_event
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_adm_init.c:warning:no-previous-prototype-for-function-sss_destroy_adm_msg
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_adm_init.c:warning:no-previous-prototype-for-function-sss_hwif_deinit_adm
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_adm_init.c:warning:no-previous-prototype-for-function-sss_hwif_init_adm
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_ceq.c:warning:no-previous-prototype-for-function-sss_ceq_intr_handle
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_ceq.c:warning:no-previous-prototype-for-function-sss_init_ceqe_desc
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_ctrlq_init.c:warning:no-previous-prototype-for-function-sss_ctrlq_flush_sync_cmd
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_ctrlq_init.c:warning:no-previous-prototype-for-function-sss_deinit_ctrlq
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_ctrlq_init.c:warning:no-previous-prototype-for-function-sss_deinit_ctrlq_channel
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_ctrlq_init.c:warning:no-previous-prototype-for-function-sss_init_ctrlq_channel
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_ctrlq_init.c:warning:no-previous-prototype-for-function-sss_reinit_ctrlq_ctx
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_ctrlq_init.c:warning:no-previous-prototype-for-function-sss_wait_ctrlq_stop
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_export.c:warning:no-previous-prototype-for-function-sss_alloc_db_addr
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_export.c:warning:no-previous-prototype-for-function-sss_chip_set_msix_auto_mask
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_export.c:warning:no-previous-prototype-for-function-sss_chip_set_msix_state
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_export.c:warning:no-previous-prototype-for-function-sss_free_db_addr
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_export.c:warning:no-previous-prototype-for-function-sss_get_func_id
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_export.c:warning:no-previous-prototype-for-function-sss_get_func_type
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_export.c:warning:no-previous-prototype-for-function-sss_get_glb_pf_vf_offset
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_export.c:warning:no-previous-prototype-for-function-sss_get_global_func_id
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_export.c:warning:no-previous-prototype-for-function-sss_get_pcie_itf_id
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_export.c:warning:no-previous-prototype-for-function-sss_get_pf_id_of_vf
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_export.c:warning:no-previous-prototype-for-function-sss_get_ppf_id
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_irq.c:warning:no-previous-prototype-for-function-sss_deinit_irq_info
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_irq.c:warning:no-previous-prototype-for-function-sss_init_irq_info
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_mbx_init.c:warning:no-previous-prototype-for-function-sss_hwif_deinit_mbx
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_mbx_init.c:warning:no-previous-prototype-for-function-sss_hwif_init_mbx
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_mbx_init.c:warning:no-previous-prototype-for-function-sss_init_func_mbx_msg
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_mbx_init.c:warning:no-previous-prototype-for-function-sss_recv_mbx_aeq_handler
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_mgmt_init.c:warning:no-previous-prototype-for-function-sss_flush_mgmt_workq
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_mgmt_init.c:warning:no-previous-prototype-for-function-sss_force_complete_all
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_hwif_mgmt_init.c:warning:no-previous-prototype-for-function-sss_mgmt_msg_aeqe_handler
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_error.c:warning:no-previous-prototype-for-function-sss_detect_pci_error
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_global.c:warning:no-previous-prototype-for-function-sss_attach_is_enable
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_global.c:warning:no-previous-prototype-for-function-sss_get_uld_info
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_global.c:warning:no-previous-prototype-for-function-sss_get_uld_names
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_global.c:warning:no-previous-prototype-for-function-sss_init_uld_lock
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_global.c:warning:no-previous-prototype-for-function-sss_lock_uld
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_global.c:warning:no-previous-prototype-for-function-sss_unlock_uld
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_probe.c:warning:no-previous-prototype-for-function-sss_attach_uld_driver
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_probe.c:warning:no-previous-prototype-for-function-sss_pci_probe
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_remove.c:warning:no-previous-prototype-for-function-sss_deinit_adapter
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_remove.c:warning:no-previous-prototype-for-function-sss_deinit_function
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_remove.c:warning:no-previous-prototype-for-function-sss_deinit_pci_dev
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_remove.c:warning:no-previous-prototype-for-function-sss_detach_all_uld_driver
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_remove.c:warning:no-previous-prototype-for-function-sss_detach_uld_driver
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_remove.c:warning:no-previous-prototype-for-function-sss_dettach_uld_dev
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_remove.c:warning:no-previous-prototype-for-function-sss_pci_remove
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_remove.c:warning:no-previous-prototype-for-function-sss_unmap_pci_bar
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-sss_pci_shutdown.c:warning:no-previous-prototype-for-function-sss_pci_shutdown
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-tool-sss_tool_chip.c:warning:no-previous-prototype-for-function-sss_tool_adm_csr_rd32
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-tool-sss_tool_chip.c:warning:no-previous-prototype-for-function-sss_tool_adm_csr_wr32
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-tool-sss_tool_chip.c:warning:no-previous-prototype-for-function-sss_tool_send_clp_msg
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-tool-sss_tool_main.c:warning:no-previous-prototype-for-function-sss_tool_alloc_in_buf
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-tool-sss_tool_main.c:warning:no-previous-prototype-for-function-sss_tool_alloc_out_buf
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-tool-sss_tool_main.c:warning:no-previous-prototype-for-function-sss_tool_copy_to_user
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-tool-sss_tool_main.c:warning:no-previous-prototype-for-function-sss_tool_free_in_buf
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-tool-sss_tool_main.c:warning:no-previous-prototype-for-function-sss_tool_free_out_buf
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-tool-sss_tool_sdk.c:warning:no-previous-prototype-for-function-sss_tool_get_func_id
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-tool-sss_tool_sdk.c:warning:no-previous-prototype-for-function-sss_tool_get_func_type
| |-- drivers-net-ethernet-3snic-sssnic-nic-..-hw-tool-sss_tool_sdk.c:warning:no-previous-prototype-for-function-sss_tool_get_hw_driver_stats
| |-- drivers-net-ethernet-huawei-hinic-hinic_api_cmd.c:warning:expecting-prototype-for-prepare_cell().-Prototype-was-for-wait_for_resp_polling()-instead
| |-- drivers-net-ethernet-huawei-hinic-hinic_cfg.c:warning:arithmetic-between-different-enumeration-types-(-enum-hinic_node_id-and-enum-hinic_fault_err_level-)
| |-- drivers-net-ethernet-huawei-hinic-hinic_eqs.c:warning:expecting-prototype-for-hinic_aeq_register_sw_cb().-Prototype-was-for-hinic_aeq_register_swe_cb()-instead
| |-- drivers-net-ethernet-huawei-hinic-hinic_eqs.c:warning:expecting-prototype-for-hinic_aeq_unregister_sw_cb().-Prototype-was-for-hinic_aeq_unregister_swe_cb()-instead
| |-- drivers-net-ethernet-huawei-hinic-hinic_eqs.c:warning:expecting-prototype-for-hinic_ceq_register_sw_cb().-Prototype-was-for-hinic_ceq_register_cb()-instead
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwdev.c:warning:arithmetic-between-different-enumeration-types-(-enum-hinic_node_id-and-enum-hinic_fault_err_level-)
| |-- drivers-net-ethernet-huawei-hinic-hinic_hwif.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-huawei-hinic-hinic_mbox.c:warning:expecting-prototype-for-hinic_unregister_ppf_mbox_cb().-Prototype-was-for-hinic_unregister_pf_mbox_cb()-instead
| |-- drivers-net-ethernet-huawei-hinic-hinic_mbox.c:warning:expecting-prototype-for-hinic_unregister_ppf_mbox_cb().-Prototype-was-for-hinic_unregister_ppf_to_pf_mbox_cb()-instead
| |-- drivers-net-ethernet-huawei-hinic-hinic_mgmt.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-huawei-hinic-hinic_nic_dbg.c:warning:arithmetic-between-different-enumeration-types-(-enum-hinic_node_id-and-enum-hinic_fault_err_level-)
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_api_cmd.c:warning:expecting-prototype-for-alloc_cmd_buf().-Prototype-was-for-alloc_resp_buf()-instead
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_api_cmd.c:warning:expecting-prototype-for-prepare_cell().-Prototype-was-for-wait_for_resp_polling()-instead
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_devlink.c:warning:variable-pdev-set-but-not-used
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_mbox.c:warning:expecting-prototype-for-hinic3_unregister_ppf_mbox_cb().-Prototype-was-for-hinic3_unregister_pf_mbox_cb()-instead
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_mbox.c:warning:expecting-prototype-for-hinic3_unregister_ppf_mbox_cb().-Prototype-was-for-hinic3_unregister_ppf_to_pf_mbox_cb()-instead
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_mgmt.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_mgmt.c:warning:expecting-prototype-for-hinic_pf_to_mgmt_free().-Prototype-was-for-hinic3_pf_to_mgmt_free()-instead
| |-- drivers-net-ethernet-huawei-hinic3-hw-hinic3_mgmt.c:warning:expecting-prototype-for-hinic_pf_to_mgmt_init().-Prototype-was-for-hinic3_pf_to_mgmt_init()-instead
| |-- drivers-net-ethernet-mucse-rnp-rnp_main.c:warning:Function-parameter-or-member-netdev-not-described-in-rnp_netpoll
| |-- drivers-net-ethernet-mucse-rnp-rnp_main.c:warning:expecting-prototype-for-Polling-interrupt-().-Prototype-was-for-rnp_netpoll()-instead
| |-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:This-comment-starts-with-but-isn-t-a-kernel-doc-comment.-Refer-Documentation-doc-guide-kernel-doc.rst
| |-- drivers-scsi-hisi_raid-hiraid_main.c:warning:expecting-prototype-for-hiraid_create_cq().-Prototype-was-for-hiraid_create_complete_queue()-instead
| `-- drivers-scsi-hisi_raid-hiraid_main.c:warning:expecting-prototype-for-hiraid_create_sq().-Prototype-was-for-hiraid_create_send_queue()-instead
`-- arm64-randconfig-003-20240426
`-- ld.lld:error:undefined-symbol:__memcpy_mc
elapsed time: 775m
configs tested: 33
configs skipped: 141
tested configs:
arm64 allmodconfig clang
arm64 allnoconfig gcc
arm64 defconfig gcc
arm64 randconfig-001-20240426 gcc
arm64 randconfig-002-20240426 gcc
arm64 randconfig-003-20240426 clang
arm64 randconfig-004-20240426 gcc
loongarch allmodconfig gcc
loongarch allnoconfig gcc
loongarch defconfig gcc
loongarch randconfig-001-20240426 gcc
loongarch randconfig-002-20240426 gcc
x86_64 allnoconfig clang
x86_64 allyesconfig clang
x86_64 buildonly-randconfig-001-20240426 clang
x86_64 buildonly-randconfig-002-20240426 gcc
x86_64 buildonly-randconfig-003-20240426 clang
x86_64 buildonly-randconfig-004-20240426 clang
x86_64 buildonly-randconfig-005-20240426 gcc
x86_64 buildonly-randconfig-006-20240426 gcc
x86_64 defconfig gcc
x86_64 randconfig-001-20240426 gcc
x86_64 randconfig-002-20240426 gcc
x86_64 randconfig-003-20240426 gcc
x86_64 randconfig-004-20240426 clang
x86_64 randconfig-005-20240426 clang
x86_64 randconfig-006-20240426 clang
x86_64 randconfig-011-20240426 clang
x86_64 randconfig-012-20240426 gcc
x86_64 randconfig-013-20240426 gcc
x86_64 randconfig-014-20240426 gcc
x86_64 randconfig-015-20240426 gcc
x86_64 rhel-8.3-rust clang
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:openEuler-1.0-LTS] BUILD SUCCESS WITH WARNING 28b2caccd679faae83cc61e008d7cc8009933988
by kernel test robot 26 Apr '24
by kernel test robot 26 Apr '24
26 Apr '24
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: 28b2caccd679faae83cc61e008d7cc8009933988 !6616 drm/amdgpu: Reset IH OVERFLOW_CLEAR bit
Warning reports:
https://lore.kernel.org/oe-kbuild-all/202404260704.Qvd9eJqD-lkp@intel.com
Warning: (recently discovered and may have been fixed)
drivers/perf/arm_smmuv3_pmu.c:459:9: warning: no previous prototype for 'smmu_pmu_event_show' [-Wmissing-prototypes]
Warning ids grouped by kconfigs:
gcc_recent_errors
|-- arm64-randconfig-002-20240426
| `-- drivers-perf-arm_smmuv3_pmu.c:warning:no-previous-prototype-for-smmu_pmu_event_show
|-- x86_64-buildonly-randconfig-006-20240426
| |-- fs-proc-array.c:warning:gtime-may-be-used-uninitialized-in-this-function
| |-- fs-proc-array.c:warning:maj_flt-may-be-used-uninitialized-in-this-function
| `-- fs-proc-array.c:warning:min_flt-may-be-used-uninitialized-in-this-function
|-- x86_64-defconfig
| |-- include-linux-list.h:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
| |-- include-linux-plist.h:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
| `-- mm-swapfile.c:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
|-- x86_64-randconfig-014-20240426
| |-- include-linux-compiler.h:warning:array-subscript-index-is-outside-array-bounds-of-u32-aka-unsigned-int
| `-- include-linux-compiler.h:warning:array-subscript-unknown-is-outside-array-bounds-of-const-u32-aka-const-unsigned-int
|-- x86_64-randconfig-015-20240426
| |-- include-linux-compiler.h:warning:array-subscript-index-is-outside-array-bounds-of-u32-aka-unsigned-int
| |-- include-linux-compiler.h:warning:array-subscript-unknown-is-outside-array-bounds-of-const-u32-aka-const-unsigned-int
| |-- include-linux-list.h:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
| |-- include-linux-plist.h:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
| `-- mm-swapfile.c:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
|-- x86_64-randconfig-075-20240426
| |-- include-linux-compiler.h:warning:array-subscript-index-is-outside-array-bounds-of-u32-aka-unsigned-int
| |-- include-linux-compiler.h:warning:array-subscript-unknown-is-outside-array-bounds-of-const-u32-aka-const-unsigned-int
| |-- include-linux-list.h:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
| |-- include-linux-plist.h:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
| `-- mm-swapfile.c:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
|-- x86_64-randconfig-076-20240426
| |-- include-linux-compiler.h:warning:array-subscript-index-is-outside-array-bounds-of-u32-aka-unsigned-int
| `-- include-linux-compiler.h:warning:array-subscript-unknown-is-outside-array-bounds-of-const-u32-aka-const-unsigned-int
`-- x86_64-randconfig-122-20240426
|-- drivers-pci-controller-hisi-pcie-customer-hisi_pcie_cae.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-to-got-void
|-- drivers-pci-rom.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-void-noderef-asn-got-void
|-- kernel-cgroup-cgroup.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-struct-cgroup_subsys_state-css-got-struct-cgroup_subsys_state-noderef-asn
|-- kernel-events-core.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-got-int-noderef-pmu_disable_count
|-- kernel-events-core.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-got-struct-perf_cpu_context-noderef-pmu_cpu_context
|-- kernel-events-core.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-asn-got-int
|-- kernel-events-core.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-asn-got-struct-perf_cpu_context
`-- net-ipv4-arp.c:sparse:sparse:incompatible-types-in-comparison-expression-(different-type-sizes):
clang_recent_errors
|-- x86_64-allyesconfig
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-buildonly-randconfig-003-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-buildonly-randconfig-004-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-004-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-005-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-006-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-011-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-016-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-071-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-072-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-073-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-121-20240426
| |-- drivers-pci-controller-hisi-pcie-customer-hisi_pcie_cae.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-to-got-void
| |-- drivers-pci-rom.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-void-noderef-asn-got-void
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-long-long-noderef-usertype-asn-off_in-got-long-long-usertype-assigned-poff_in
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-long-long-noderef-usertype-asn-off_out-got-long-long-usertype-assigned-poff_out
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-struct-file-assigned-file-got-struct-file-noderef-asn
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-void-noderef-asn-got-struct-io_buffer-assigned-kbuf
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-got-int-noderef-pmu_disable_count
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-got-struct-perf_cpu_context-noderef-pmu_cpu_context
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-asn-got-int
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-asn-got-struct-perf_cpu_context
| |-- net-ipv4-arp.c:sparse:sparse:incompatible-types-in-comparison-expression-(different-type-sizes):
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-123-20240426
| |-- arch-x86-kernel-cpu-mce-therm_throt.c:sparse:sparse:cast-removes-address-space-asn-of-expression
| |-- drivers-pci-controller-hisi-pcie-customer-hisi_pcie_cae.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-to-got-void
| |-- drivers-pci-rom.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-void-noderef-asn-got-void
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-long-long-noderef-usertype-asn-off_in-got-long-long-usertype-assigned-poff_in
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-long-long-noderef-usertype-asn-off_out-got-long-long-usertype-assigned-poff_out
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-struct-file-assigned-file-got-struct-file-noderef-asn
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-void-noderef-asn-got-struct-io_buffer-assigned-kbuf
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-got-int-noderef-pmu_disable_count
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-got-struct-perf_cpu_context-noderef-pmu_cpu_context
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-asn-got-int
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-asn-got-struct-perf_cpu_context
| |-- net-ipv4-arp.c:sparse:sparse:incompatible-types-in-comparison-expression-(different-type-sizes):
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-r133-20240426
| |-- drivers-gpu-drm-nouveau-nouveau_fence.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-struct-nouveau_channel-chan-got-struct-nouveau_channel-noderef-asn-channel
| |-- drivers-gpu-drm-radeon-radeon_bios.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-src-got-unsigned-char-noderef-usertype-asn-assigned-bios
| |-- drivers-md-bcache-request.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-noderef-asn-from-got-struct-set_bcache_status
| |-- drivers-md-bcache-request.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-to-got-struct-get_bcache_status
| |-- drivers-pci-controller-hisi-pcie-customer-hisi_pcie_cae.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-to-got-void
| |-- drivers-pci-rom.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-void-noderef-asn-got-void
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-long-long-noderef-usertype-asn-off_in-got-long-long-usertype-assigned-poff_in
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-long-long-noderef-usertype-asn-off_out-got-long-long-usertype-assigned-poff_out
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-struct-file-assigned-file-got-struct-file-noderef-asn
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-void-noderef-asn-got-struct-io_buffer-assigned-kbuf
| |-- kernel-cgroup-cgroup.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-struct-cgroup_subsys_state-css-got-struct-cgroup_subsys_state-noderef-asn
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-got-int-noderef-pmu_disable_count
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-got-struct-perf_cpu_context-noderef-pmu_cpu_context
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-asn-got-int
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-asn-got-struct-perf_cpu_context
| |-- net-ipv4-arp.c:sparse:sparse:incompatible-types-in-comparison-expression-(different-type-sizes):
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
`-- x86_64-rhel-8.3-rust
`-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
elapsed time: 800m
configs tested: 35
configs skipped: 146
tested configs:
arm64 allmodconfig gcc
arm64 allnoconfig gcc
arm64 defconfig gcc
arm64 randconfig-001-20240426 gcc
arm64 randconfig-002-20240426 gcc
arm64 randconfig-003-20240426 gcc
arm64 randconfig-004-20240426 gcc
x86_64 allnoconfig clang
x86_64 allyesconfig clang
x86_64 buildonly-randconfig-001-20240426 clang
x86_64 buildonly-randconfig-002-20240426 gcc
x86_64 buildonly-randconfig-003-20240426 clang
x86_64 buildonly-randconfig-004-20240426 clang
x86_64 buildonly-randconfig-005-20240426 gcc
x86_64 buildonly-randconfig-006-20240426 gcc
x86_64 defconfig gcc
x86_64 randconfig-001-20240426 gcc
x86_64 randconfig-002-20240426 gcc
x86_64 randconfig-003-20240426 gcc
x86_64 randconfig-004-20240426 clang
x86_64 randconfig-005-20240426 clang
x86_64 randconfig-006-20240426 clang
x86_64 randconfig-011-20240426 clang
x86_64 randconfig-012-20240426 gcc
x86_64 randconfig-013-20240426 gcc
x86_64 randconfig-014-20240426 gcc
x86_64 randconfig-015-20240426 gcc
x86_64 randconfig-016-20240426 clang
x86_64 randconfig-071-20240426 clang
x86_64 randconfig-072-20240426 clang
x86_64 randconfig-073-20240426 clang
x86_64 randconfig-074-20240426 gcc
x86_64 randconfig-075-20240426 gcc
x86_64 randconfig-076-20240426 gcc
x86_64 rhel-8.3-rust clang
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[PATCH openEuler-1.0-LTS v2] x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails
by Yu Liao 26 Apr '24
by Yu Liao 26 Apr '24
26 Apr '24
From: Sean Christopherson <seanjc(a)google.com>
stable inclusion
from stable-v4.19.218
commit b20ec58f8a6f4fef32cc71480ddf824584e24743
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9FNFO
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit daf972118c517b91f74ff1731417feb4270625a4 upstream.
Check for a valid hv_vp_index array prior to derefencing hv_vp_index when
setting Hyper-V's TSC change callback. If Hyper-V setup failed in
hyperv_init(), the kernel will still report that it's running under
Hyper-V, but will have silently disabled nearly all functionality.
BUG: kernel NULL pointer dereference, address: 0000000000000010
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
PGD 0 P4D 0
Oops: 0000 [#1] SMP
CPU: 4 PID: 1 Comm: swapper/0 Not tainted 5.15.0-rc2+ #75
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
RIP: 0010:set_hv_tscchange_cb+0x15/0xa0
Code: <8b> 04 82 8b 15 12 17 85 01 48 c1 e0 20 48 0d ee 00 01 00 f6 c6 08
...
Call Trace:
kvm_arch_init+0x17c/0x280
kvm_init+0x31/0x330
vmx_init+0xba/0x13a
do_one_initcall+0x41/0x1c0
kernel_init_freeable+0x1f2/0x23b
kernel_init+0x16/0x120
ret_from_fork+0x22/0x30
Fixes: 93286261de1b ("x86/hyperv: Reenlightenment notifications support")
Cc: stable(a)vger.kernel.org
Cc: Vitaly Kuznetsov <vkuznets(a)redhat.com>
Signed-off-by: Sean Christopherson <seanjc(a)google.com>
Reviewed-by: Vitaly Kuznetsov <vkuznets(a)redhat.com>
Link: https://lore.kernel.org/r/20211104182239.1302956-2-seanjc@google.com
Signed-off-by: Wei Liu <wei.liu(a)kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Yu Liao <liaoyu15(a)huawei.com>
---
arch/x86/hyperv/hv_init.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index e4ba467a9fc6..fda61a4dc229 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -201,6 +201,9 @@ void set_hv_tscchange_cb(void (*cb)(void))
return;
}
+ if (!hv_vp_index)
+ return;
+
hv_reenlightenment_cb = cb;
/* Make sure callback is registered before we write to MSRs */
--
2.25.1
2
1