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
March 2024
- 82 participants
- 890 discussions

[openeuler:openEuler-1.0-LTS] BUILD REGRESSION c0f28264ce70e762ccdf396767a85688e6ed4810
by kernel test robot 16 Mar '24
by kernel test robot 16 Mar '24
16 Mar '24
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: c0f28264ce70e762ccdf396767a85688e6ed4810 !5220 powerpc/mm: Fix null-pointer dereference in pgtable_cache_add
Error/Warning ids grouped by kconfigs:
gcc_recent_errors
|-- arm64-allmodconfig
| |-- drivers-dma-pl330.c:warning:dst-may-be-used-uninitialized
| `-- drivers-dma-pl330.c:warning:src-may-be-used-uninitialized
|-- arm64-defconfig
| |-- drivers-dma-pl330.c:warning:dst-may-be-used-uninitialized
| `-- drivers-dma-pl330.c:warning:src-may-be-used-uninitialized
|-- x86_64-buildonly-randconfig-002-20240315
| `-- drivers-edac-skx_common.o:warning:objtool:missing-symbol-for-section-.init.text
`-- x86_64-buildonly-randconfig-003-20240315
|-- drivers-gpu-drm-nouveau-include-nvkm-core-os.h:warning:reg-may-be-used-uninitialized
`-- drivers-gpu-drm-nouveau-nvkm-engine-fifo-dmanv40.c:warning:ctx-may-be-used-uninitialized
clang_recent_errors
|-- x86_64-buildonly-randconfig-006-20240315
| |-- net-appletalk-sysctl_net_atalk.o:warning:objtool:missing-symbol-for-section-.init.text
| `-- net-can-j1939-main.o:warning:objtool:missing-symbol-for-section-.init.text
`-- x86_64-randconfig-r111-20240313
|-- drivers-net-ethernet-3snic-sssnic-hw-.-tool-sss_tool_chip.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-noderef-__user-from-got-void
|-- drivers-net-ethernet-3snic-sssnic-hw-.-tool-sss_tool_chip.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-assigned-usertype-val32-got-restricted-__be32-userty
|-- drivers-net-ethernet-3snic-sssnic-hw-.-tool-sss_tool_main.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-noderef-__user-from-got-void
|-- drivers-net-ethernet-3snic-sssnic-hw-.-tool-sss_tool_main.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-const-noderef-__user-from-got-void-in_buf
|-- drivers-net-ethernet-3snic-sssnic-hw-.-tool-sss_tool_main.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-__user-to-got-struct-sss_tool_ffm_record_info-ffm_
|-- drivers-net-ethernet-3snic-sssnic-hw-.-tool-sss_tool_main.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-__user-to-got-void-out_buf
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_adapter_mgmt.c:sparse:sparse:symbol-g_chip_list-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_common.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-restricted-gfp_t-usertype-gfp-got-unsigned-int-flag
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_export.c:sparse:sparse:dubious:x-y
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_export.c:sparse:sparse:symbol-sss_rx_buf_size_level-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwdev_mgmt_channel.c:sparse:sparse:symbol-g_mgmt_event_handler-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm.c:sparse:sparse:cast-to-restricted-__be32
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm.c:sparse:sparse:cast-to-restricted-__be64
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-desc-got-restricted-__be64-usertype
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-got-restricted-__be64-usertype
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm.c:sparse:sparse:symbol-sss_adm_msg_read-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm.c:sparse:sparse:symbol-sss_adm_msg_write-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-flag-got-restricted-gfp_t
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-hw_msg_paddr-got-restricted-__be64-usert
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-hw_wb_reply_paddr-got-restricted-__be64-
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-next_elem_paddr-got-restricted-__be64-us
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_adm_init.c:sparse:sparse:symbol-sss_destroy_adm_msg-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_aeq.c:sparse:sparse:cast-to-restricted-__be32
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_aeq.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-init_val-got-restricted-__be32-usertype
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_api.c:sparse:sparse:cast-to-restricted-__be32
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_api.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-val-got-restricted-__be32-usertype
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ceq.c:sparse:sparse:cast-to-restricted-__be32
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ceq.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-init_val-got-restricted-__be32-usertype
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ceq.c:sparse:sparse:symbol-sss_ceq_intr_handle-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ceq.c:sparse:sparse:symbol-sss_init_ceqe_desc-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-__iomem-addr-got-unsigned-char-usertype
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-unsigned-char-usertype-db_base-got-unsigned-char-noderef-usertype-
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-__iomem-db_base-got-void-noderef-__iomem
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_ctrlq_init.c:sparse:sparse:symbol-sss_deinit_ctrlq-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_eq.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-flag-got-restricted-gfp_t
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_init.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_init.c:sparse:sparse:incompatible-types-in-conditional-expression-(different-address-spaces):
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx.c:sparse:sparse:cast-to-restricted-__be64
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-__iomem-addr-got-unsigned-char-usertype
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-val-got-restricted-__be32-usertype
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_hwif_mbx_init.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-unsigned-char-usertype-data-got-unsigned-char-noderef-usertype-_
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_global.c:sparse:sparse:symbol-g_uld_mutex-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_pci_probe.c:sparse:sparse:symbol-sss_attach_uld_driver-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_wq.c:sparse:sparse:incorrect-type-in-argument-(different-base-types)-expected-unsigned-int-flag-got-restricted-gfp_t
|-- drivers-net-ethernet-3snic-sssnic-hw-sss_wq.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-long-long-usertype-got-restricted-__be64-usertype
|-- drivers-net-ethernet-3snic-sssnic-include-hw-sss_hw_common.h:sparse:sparse:cast-to-restricted-__be32
|-- drivers-net-ethernet-3snic-sssnic-include-hw-sss_hw_common.h:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-got-restricted-__be32-usertype
|-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_qp_info.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
|-- drivers-net-ethernet-3snic-sssnic-nic-.-tool-sss_tool_nic_qp_info.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-short-usertype-hw_pi-got-restricted-__be16-usert
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool_api.c:sparse:sparse:symbol-sss_nic_finish_loop_test-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ethtool_stats.o:warning:objtool:sss_nic_get_sset_count:can-t-find-switch-jump-table
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_io.c:sparse:sparse:cast-removes-address-space-__iomem-of-expression
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_io.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-unsigned-char-noderef-usertype-__iomem-rq_db_addr-got-unsigned-char-us
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_io.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-unsigned-char-noderef-usertype-__iomem-sq_db_addr-got-unsigned-char-us
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_io.h:sparse:sparse:cast-removes-address-space-__iomem-of-expression
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_io.h:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-__iomem-addr-got-unsigned-long-long-usertype
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:sparse:sparse:symbol-g_nic_uld_info-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:sparse:sparse:symbol-get_nic_uld_info-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:sparse:sparse:symbol-sss_nic_port_module_cable_plug-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:sparse:sparse:symbol-sss_nic_port_module_cable_unplug-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.c:sparse:sparse:symbol-sss_nic_port_module_link_err-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_main.o:warning:objtool:sss_nic_event:can-t-find-switch-jump-table
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_netdev_ops.c:sparse:sparse:symbol-sss_nic_ndo_set_vf_link_state-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_netdev_ops.c:sparse:sparse:symbol-sss_nic_ndo_vlan_rx_add_vid-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_netdev_ops.c:sparse:sparse:symbol-sss_nic_ndo_vlan_rx_kill_vid-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_netdev_ops_api.c:sparse:sparse:cast-to-restricted-__be16
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_netdev_ops_api.c:sparse:sparse:cast-to-restricted-__be32
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_netdev_ops_api.c:sparse:sparse:restricted-__be32-degrades-to-integer
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-dport-got-restricted-__be16-usertype-pdst
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-sport-got-restricted-__be16-usertype-psrc
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:sparse:sparse:restricted-__be32-degrades-to-integer
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:sparse:sparse:symbol-sss_nic_flush_rx_flow_rule-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:sparse:sparse:symbol-sss_nic_flush_tcam_list-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_ntuple.c:sparse:sparse:symbol-sss_nic_flush_tcam_node_list-was-not-declared.-Should-it-be-static
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rss.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-got-restricted-__be32-usertype
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rss_cfg.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-ctx-got-restricted-__be32-usertype
|-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_rss_cfg.c:sparse:sparse:incorrect-type-in-assignment-(different-base-types)-expected-unsigned-int-usertype-got-restricted-__be32-usertype
`-- drivers-net-ethernet-3snic-sssnic-nic-sss_nic_tx.c:sparse:sparse:restricted-__be16-degrades-to-integer
elapsed time: 731m
configs tested: 35
configs skipped: 145
tested configs:
arm64 allmodconfig gcc
arm64 allnoconfig gcc
arm64 defconfig gcc
arm64 randconfig-001-20240315 gcc
arm64 randconfig-002-20240315 gcc
arm64 randconfig-003-20240315 gcc
arm64 randconfig-004-20240315 gcc
x86_64 allnoconfig clang
x86_64 allyesconfig clang
x86_64 buildonly-randconfig-001-20240315 gcc
x86_64 buildonly-randconfig-002-20240315 gcc
x86_64 buildonly-randconfig-003-20240315 gcc
x86_64 buildonly-randconfig-004-20240315 gcc
x86_64 buildonly-randconfig-005-20240315 clang
x86_64 buildonly-randconfig-006-20240315 clang
x86_64 defconfig gcc
x86_64 randconfig-001-20240315 gcc
x86_64 randconfig-002-20240315 clang
x86_64 randconfig-003-20240315 gcc
x86_64 randconfig-004-20240315 clang
x86_64 randconfig-005-20240315 gcc
x86_64 randconfig-006-20240315 gcc
x86_64 randconfig-011-20240315 clang
x86_64 randconfig-012-20240315 gcc
x86_64 randconfig-013-20240315 gcc
x86_64 randconfig-014-20240315 gcc
x86_64 randconfig-015-20240315 clang
x86_64 randconfig-016-20240315 clang
x86_64 randconfig-071-20240315 clang
x86_64 randconfig-072-20240315 clang
x86_64 randconfig-073-20240315 gcc
x86_64 randconfig-074-20240315 gcc
x86_64 randconfig-075-20240315 clang
x86_64 randconfig-076-20240315 clang
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 21121/21871] drivers/net/ethernet/3snic/sssnic/hw/sss_pci_probe.c:276:5: sparse: sparse: symbol 'sss_attach_uld_driver' was not declared. Should it be static?
by kernel test robot 16 Mar '24
by kernel test robot 16 Mar '24
16 Mar '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: c0f28264ce70e762ccdf396767a85688e6ed4810
commit: a6a7981cbf66d4951425d33cdce6ef39206eba83 [21121/21871] Net: ethernet: Support 3snic 3s9xx network card
config: x86_64-randconfig-r111-20240313 (https://download.01.org/0day-ci/archive/20240316/202403160328.U3VDCuIj-lkp@…)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240316/202403160328.U3VDCuIj-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403160328.U3VDCuIj-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:65:5: sparse: sparse: symbol 'rx_buff_size' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:878:6: sparse: sparse: symbol 'sss_nic_port_module_cable_plug' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:884:6: sparse: sparse: symbol 'sss_nic_port_module_cable_unplug' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:890:6: sparse: sparse: symbol 'sss_nic_port_module_link_err' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:1020:21: sparse: sparse: symbol 'g_nic_uld_info' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:1029:21: sparse: sparse: symbol 'get_nic_uld_info' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:878:6: warning: no previous prototype for function 'sss_nic_port_module_cable_plug' [-Wmissing-prototypes]
878 | void sss_nic_port_module_cable_plug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:878:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
878 | void sss_nic_port_module_cable_plug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:884:6: warning: no previous prototype for function 'sss_nic_port_module_cable_unplug' [-Wmissing-prototypes]
884 | void sss_nic_port_module_cable_unplug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:884:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
884 | void sss_nic_port_module_cable_unplug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:890:6: warning: no previous prototype for function 'sss_nic_port_module_link_err' [-Wmissing-prototypes]
890 | void sss_nic_port_module_link_err(struct sss_nic_dev *nic_dev, void *event_data)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:890:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
890 | void sss_nic_port_module_link_err(struct sss_nic_dev *nic_dev, void *event_data)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:1029:22: warning: no previous prototype for function 'get_nic_uld_info' [-Wmissing-prototypes]
1029 | struct sss_uld_info *get_nic_uld_info(void)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:1029:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1029 | struct sss_uld_info *get_nic_uld_info(void)
| ^
| static
4 warnings generated.
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.o: warning: objtool: sss_nic_event()+0x1bd: can't find switch jump table
--
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:44:5: sparse: sparse: symbol 'sss_nic_get_sset_count' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:62:6: sparse: sparse: symbol 'sss_nic_get_ethtool_stats' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:78:6: sparse: sparse: symbol 'sss_nic_get_strings' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:98:5: sparse: sparse: symbol 'sss_nic_get_link_ksettings' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:120:5: sparse: sparse: symbol 'sss_nic_set_link_ksettings' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:44:5: warning: no previous prototype for function 'sss_nic_get_sset_count' [-Wmissing-prototypes]
44 | int sss_nic_get_sset_count(struct net_device *netdev, int settings)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:44:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
44 | int sss_nic_get_sset_count(struct net_device *netdev, int settings)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:62:6: warning: no previous prototype for function 'sss_nic_get_ethtool_stats' [-Wmissing-prototypes]
62 | void sss_nic_get_ethtool_stats(struct net_device *netdev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:62:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
62 | void sss_nic_get_ethtool_stats(struct net_device *netdev,
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:78:6: warning: no previous prototype for function 'sss_nic_get_strings' [-Wmissing-prototypes]
78 | void sss_nic_get_strings(struct net_device *netdev, u32 stringset, u8 *buf)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:78:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
78 | void sss_nic_get_strings(struct net_device *netdev, u32 stringset, u8 *buf)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:98:5: warning: no previous prototype for function 'sss_nic_get_link_ksettings' [-Wmissing-prototypes]
98 | int sss_nic_get_link_ksettings(struct net_device *net_dev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:98:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
98 | int sss_nic_get_link_ksettings(struct net_device *net_dev,
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:120:5: warning: no previous prototype for function 'sss_nic_set_link_ksettings' [-Wmissing-prototypes]
120 | int sss_nic_set_link_ksettings(struct net_device *netdev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:120:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
120 | int sss_nic_set_link_ksettings(struct net_device *netdev,
| ^
| static
5 warnings generated.
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.o: warning: objtool: sss_nic_get_sset_count()+0x4a: can't find switch jump table
--
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:878:6: warning: no previous prototype for function 'sss_nic_port_module_cable_plug' [-Wmissing-prototypes]
878 | void sss_nic_port_module_cable_plug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:878:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
878 | void sss_nic_port_module_cable_plug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:884:6: warning: no previous prototype for function 'sss_nic_port_module_cable_unplug' [-Wmissing-prototypes]
884 | void sss_nic_port_module_cable_unplug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:884:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
884 | void sss_nic_port_module_cable_unplug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:890:6: warning: no previous prototype for function 'sss_nic_port_module_link_err' [-Wmissing-prototypes]
890 | void sss_nic_port_module_link_err(struct sss_nic_dev *nic_dev, void *event_data)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:890:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
890 | void sss_nic_port_module_link_err(struct sss_nic_dev *nic_dev, void *event_data)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:1029:22: warning: no previous prototype for function 'get_nic_uld_info' [-Wmissing-prototypes]
1029 | struct sss_uld_info *get_nic_uld_info(void)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:1029:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1029 | struct sss_uld_info *get_nic_uld_info(void)
| ^
| static
4 warnings generated.
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.o: warning: objtool: sss_nic_event()+0x1bd: can't find switch jump table
--
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:44:5: warning: no previous prototype for function 'sss_nic_get_sset_count' [-Wmissing-prototypes]
44 | int sss_nic_get_sset_count(struct net_device *netdev, int settings)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:44:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
44 | int sss_nic_get_sset_count(struct net_device *netdev, int settings)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:62:6: warning: no previous prototype for function 'sss_nic_get_ethtool_stats' [-Wmissing-prototypes]
62 | void sss_nic_get_ethtool_stats(struct net_device *netdev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:62:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
62 | void sss_nic_get_ethtool_stats(struct net_device *netdev,
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:78:6: warning: no previous prototype for function 'sss_nic_get_strings' [-Wmissing-prototypes]
78 | void sss_nic_get_strings(struct net_device *netdev, u32 stringset, u8 *buf)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:78:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
78 | void sss_nic_get_strings(struct net_device *netdev, u32 stringset, u8 *buf)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:98:5: warning: no previous prototype for function 'sss_nic_get_link_ksettings' [-Wmissing-prototypes]
98 | int sss_nic_get_link_ksettings(struct net_device *net_dev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:98:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
98 | int sss_nic_get_link_ksettings(struct net_device *net_dev,
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:120:5: warning: no previous prototype for function 'sss_nic_set_link_ksettings' [-Wmissing-prototypes]
120 | int sss_nic_set_link_ksettings(struct net_device *netdev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.c:120:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
120 | int sss_nic_set_link_ksettings(struct net_device *netdev,
| ^
| static
5 warnings generated.
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_stats.o: warning: objtool: sss_nic_get_sset_count()+0x4a: can't find switch jump table
sparse warnings: (new ones prefixed by >>)
>> drivers/net/ethernet/3snic/sssnic/hw/sss_pci_probe.c:276:5: sparse: sparse: symbol 'sss_attach_uld_driver' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_probe.c:276:5: warning: no previous prototype for function 'sss_attach_uld_driver' [-Wmissing-prototypes]
276 | int sss_attach_uld_driver(struct sss_pci_adapter *adapter,
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_probe.c:276:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
276 | int sss_attach_uld_driver(struct sss_pci_adapter *adapter,
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_probe.c:548:5: warning: no previous prototype for function 'sss_pci_probe' [-Wmissing-prototypes]
548 | int sss_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_probe.c:548:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
548 | int sss_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
| ^
| static
2 warnings generated.
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_pci_global.c:35:14: sparse: sparse: symbol 'g_uld_mutex' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_global.c:37:6: warning: no previous prototype for function 'sss_init_uld_lock' [-Wmissing-prototypes]
37 | void sss_init_uld_lock(void)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_global.c:37:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
37 | void sss_init_uld_lock(void)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_global.c:42:6: warning: no previous prototype for function 'sss_lock_uld' [-Wmissing-prototypes]
42 | void sss_lock_uld(void)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_global.c:42:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
42 | void sss_lock_uld(void)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_global.c:47:6: warning: no previous prototype for function 'sss_unlock_uld' [-Wmissing-prototypes]
47 | void sss_unlock_uld(void)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_global.c:47:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
47 | void sss_unlock_uld(void)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_global.c:52:14: warning: no previous prototype for function 'sss_get_uld_names' [-Wmissing-prototypes]
52 | const char **sss_get_uld_names(void)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_global.c:52:7: note: declare 'static' if the function is not intended to be used outside of this translation unit
52 | const char **sss_get_uld_names(void)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_global.c:57:22: warning: no previous prototype for function 'sss_get_uld_info' [-Wmissing-prototypes]
57 | struct sss_uld_info *sss_get_uld_info(void)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_global.c:57:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
57 | struct sss_uld_info *sss_get_uld_info(void)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_global.c:62:6: warning: no previous prototype for function 'sss_attach_is_enable' [-Wmissing-prototypes]
62 | bool sss_attach_is_enable(void)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_pci_global.c:62:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
62 | bool sss_attach_is_enable(void)
| ^
| static
6 warnings generated.
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwdev_export.c:38:11: sparse: sparse: symbol 'sss_rx_buf_size_level' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwdev_export.c:137:15: sparse: sparse: dubious: !x & y
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwdev_mgmt_channel.c:286:29: sparse: sparse: symbol 'g_mgmt_event_handler' was not declared. Should it be static?
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq.c:311:54: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned char [usertype] *db_base @@ got unsigned char [noderef] [usertype] __iomem *db_base @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq.c:311:54: sparse: expected unsigned char [usertype] *db_base
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq.c:311:54: sparse: got unsigned char [noderef] [usertype] __iomem *db_base
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq.c:320:31: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char [usertype] * @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq.c:320:31: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq.c:320:31: sparse: got unsigned char [usertype] *
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq.c:533:12: sparse: sparse: context imbalance in 'sss_ctrlq_msg_lock' - different lock contexts for basic block
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq.c:547:13: sparse: sparse: context imbalance in 'sss_ctrlq_msg_unlock' - unexpected unlock
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq_init.c:327:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __iomem **db_base @@ got void [noderef] __iomem * @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq_init.c:327:41: sparse: expected void [noderef] __iomem **db_base
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq_init.c:327:41: sparse: got void [noderef] __iomem *
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq_init.c:277:5: warning: no previous prototype for function 'sss_reinit_ctrlq_ctx' [-Wmissing-prototypes]
277 | int sss_reinit_ctrlq_ctx(struct sss_hwdev *hwdev)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq_init.c:277:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
277 | int sss_reinit_ctrlq_ctx(struct sss_hwdev *hwdev)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq_init.c:367:6: warning: no previous prototype for function 'sss_deinit_ctrlq' [-Wmissing-prototypes]
367 | void sss_deinit_ctrlq(struct sss_hwdev *hwdev)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq_init.c:367:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
367 | void sss_deinit_ctrlq(struct sss_hwdev *hwdev)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq_init.c:501:5: warning: no previous prototype for function 'sss_init_ctrlq_channel' [-Wmissing-prototypes]
501 | int sss_init_ctrlq_channel(struct sss_hwdev *hwdev)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq_init.c:501:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
501 | int sss_init_ctrlq_channel(struct sss_hwdev *hwdev)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq_init.c:538:6: warning: no previous prototype for function 'sss_deinit_ctrlq_channel' [-Wmissing-prototypes]
538 | void sss_deinit_ctrlq_channel(struct sss_hwdev *hwdev)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq_init.c:538:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
538 | void sss_deinit_ctrlq_channel(struct sss_hwdev *hwdev)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq_init.c:547:6: warning: no previous prototype for function 'sss_ctrlq_flush_sync_cmd' [-Wmissing-prototypes]
547 | void sss_ctrlq_flush_sync_cmd(struct sss_hwdev *hwdev)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq_init.c:547:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
547 | void sss_ctrlq_flush_sync_cmd(struct sss_hwdev *hwdev)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq_init.c:573:5: warning: no previous prototype for function 'sss_wait_ctrlq_stop' [-Wmissing-prototypes]
573 | int sss_wait_ctrlq_stop(struct sss_hwdev *hwdev)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ctrlq_init.c:573:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
573 | int sss_wait_ctrlq_stop(struct sss_hwdev *hwdev)
| ^
| static
6 warnings generated.
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx.c:294:30: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx.c:294:30: sparse: expected unsigned int val
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx.c:294:30: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx.c:294:73: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char [usertype] * @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx.c:294:73: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx.c:294:73: sparse: got unsigned char [usertype] *
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx.c:312:30: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx.c:312:30: sparse: expected unsigned int val
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx.c:312:30: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx.c:313:67: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned char [usertype] * @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx.c:313:67: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx.c:313:67: sparse: got unsigned char [usertype] *
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx.c:364:19: sparse: sparse: cast to restricted __be64
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx_init.c:346:24: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [usertype] *data @@ got unsigned char [noderef] [usertype] __iomem * @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx_init.c:346:24: sparse: expected unsigned char [usertype] *data
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx_init.c:346:24: sparse: got unsigned char [noderef] [usertype] __iomem *
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx_init.c: note: in included file (through include/linux/bitops.h, include/linux/kernel.h, include/linux/list.h, ...):
arch/x86/include/asm/bitops.h:111:37: sparse: sparse: cast truncates bits from constant value (ffffff7f becomes 7f)
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx_init.c:252:5: warning: no previous prototype for function 'sss_init_func_mbx_msg' [-Wmissing-prototypes]
252 | int sss_init_func_mbx_msg(void *hwdev, u16 func_num)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx_init.c:252:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
252 | int sss_init_func_mbx_msg(void *hwdev, u16 func_num)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx_init.c:401:5: warning: no previous prototype for function 'sss_hwif_init_mbx' [-Wmissing-prototypes]
401 | int sss_hwif_init_mbx(struct sss_hwdev *hwdev)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx_init.c:401:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
401 | int sss_hwif_init_mbx(struct sss_hwdev *hwdev)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx_init.c:449:6: warning: no previous prototype for function 'sss_hwif_deinit_mbx' [-Wmissing-prototypes]
449 | void sss_hwif_deinit_mbx(struct sss_hwdev *hwdev)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx_init.c:449:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
449 | void sss_hwif_deinit_mbx(struct sss_hwdev *hwdev)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx_init.c:872:6: warning: no previous prototype for function 'sss_recv_mbx_aeq_handler' [-Wmissing-prototypes]
872 | void sss_recv_mbx_aeq_handler(void *handle, u8 *header, u8 size)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_mbx_init.c:872:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
872 | void sss_recv_mbx_aeq_handler(void *handle, u8 *header, u8 size)
| ^
| static
4 warnings generated.
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:213:31: sparse: sparse: cast to restricted __be64
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:275:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] @@ got restricted __be64 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:275:20: sparse: expected unsigned long long [usertype]
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:275:20: sparse: got restricted __be64 [usertype]
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:328:20: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] desc @@ got restricted __be64 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:328:20: sparse: expected unsigned long long [usertype] desc
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:328:20: sparse: got restricted __be64 [usertype]
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:368:20: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:372:25: sparse: sparse: cast to restricted __be64
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:409:23: sparse: sparse: cast to restricted __be64
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:500:9: sparse: sparse: context imbalance in 'sss_adm_msg_lock' - wrong count at exit
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:509:28: sparse: sparse: context imbalance in 'sss_adm_msg_unlock' - unexpected unlock
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:545:5: warning: no previous prototype for function 'sss_adm_msg_write' [-Wmissing-prototypes]
545 | int sss_adm_msg_write(struct sss_adm_msg *adm_msg, u8 node_id,
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:545:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
545 | int sss_adm_msg_write(struct sss_adm_msg *adm_msg, u8 node_id,
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:551:5: warning: no previous prototype for function 'sss_adm_msg_read' [-Wmissing-prototypes]
551 | int sss_adm_msg_read(struct sss_adm_msg *adm_msg, u8 node_id,
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:551:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
551 | int sss_adm_msg_read(struct sss_adm_msg *adm_msg, u8 node_id,
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:597:5: warning: no previous prototype for function 'sss_adm_msg_read_ack' [-Wmissing-prototypes]
597 | int sss_adm_msg_read_ack(void *hwdev, u8 dest, const void *cmd,
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:597:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
597 | int sss_adm_msg_read_ack(void *hwdev, u8 dest, const void *cmd,
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:618:5: warning: no previous prototype for function 'sss_adm_msg_write_nack' [-Wmissing-prototypes]
618 | int sss_adm_msg_write_nack(void *hwdev, u8 dest, const void *cmd, u16 size)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:618:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
618 | int sss_adm_msg_write_nack(void *hwdev, u8 dest, const void *cmd, u16 size)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:682:5: warning: no previous prototype for function 'sss_sync_send_adm_msg' [-Wmissing-prototypes]
682 | int sss_sync_send_adm_msg(void *hwdev, u8 mod, u16 cmd, void *buf_in,
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm.c:682:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
682 | int sss_sync_send_adm_msg(void *hwdev, u8 mod, u16 cmd, void *buf_in,
| ^
| static
5 warnings generated.
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:272:34: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] hw_msg_paddr @@ got restricted __be64 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:272:34: sparse: expected unsigned long long [usertype] hw_msg_paddr
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:272:34: sparse: got restricted __be64 [usertype]
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:288:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] hw_wb_reply_paddr @@ got restricted __be64 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:288:38: sparse: expected unsigned long long [usertype] hw_wb_reply_paddr
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:288:38: sparse: got restricted __be64 [usertype]
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:310:33: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] hw_msg_paddr @@ got restricted __be64 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:310:33: sparse: expected unsigned long long [usertype] hw_msg_paddr
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:310:33: sparse: got restricted __be64 [usertype]
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:328:38: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] hw_wb_reply_paddr @@ got restricted __be64 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:328:38: sparse: expected unsigned long long [usertype] hw_wb_reply_paddr
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:328:38: sparse: got restricted __be64 [usertype]
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:391:50: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] next_elem_paddr @@ got restricted __be64 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:391:50: sparse: expected unsigned long long [usertype] next_elem_paddr
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:391:50: sparse: got restricted __be64 [usertype]
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:400:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] next_elem_paddr @@ got restricted __be64 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:400:31: sparse: expected unsigned long long [usertype] next_elem_paddr
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:400:31: sparse: got restricted __be64 [usertype]
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:463:45: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected unsigned int flag @@ got restricted gfp_t @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:463:45: sparse: expected unsigned int flag
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:463:45: sparse: got restricted gfp_t
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:580:6: sparse: sparse: symbol 'sss_destroy_adm_msg' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:580:6: warning: no previous prototype for function 'sss_destroy_adm_msg' [-Wmissing-prototypes]
580 | void sss_destroy_adm_msg(struct sss_adm_msg *adm_msg)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:580:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
580 | void sss_destroy_adm_msg(struct sss_adm_msg *adm_msg)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:689:5: warning: no previous prototype for function 'sss_hwif_init_adm' [-Wmissing-prototypes]
689 | int sss_hwif_init_adm(struct sss_hwdev *hwdev)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:689:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
689 | int sss_hwif_init_adm(struct sss_hwdev *hwdev)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:738:6: warning: no previous prototype for function 'sss_hwif_deinit_adm' [-Wmissing-prototypes]
738 | void sss_hwif_deinit_adm(struct sss_hwdev *hwdev)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:738:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
738 | void sss_hwif_deinit_adm(struct sss_hwdev *hwdev)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:752:6: warning: no previous prototype for function 'sss_complete_adm_event' [-Wmissing-prototypes]
752 | void sss_complete_adm_event(struct sss_hwdev *hwdev)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_adm_init.c:752:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
752 | void sss_complete_adm_event(struct sss_hwdev *hwdev)
| ^
| static
4 warnings generated.
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_init.c:311:32: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_init.c:309:54: sparse: sparse: incompatible types in conditional expression (different address spaces):
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_init.c:309:54: sparse: void [noderef] __iomem *
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_init.c:309:54: sparse: unsigned char [usertype] *
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_api.c:31:24: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_api.c:34:24: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_api.c:41:24: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_api.c:41:24: sparse: expected unsigned int val
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_api.c:41:24: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_api.c:44:24: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_api.c:44:24: sparse: expected unsigned int val
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_api.c:44:24: sparse: got restricted __be32 [usertype]
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_eq.c:138:67: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected unsigned int flag @@ got restricted gfp_t @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_eq.c:138:67: sparse: expected unsigned int flag
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_eq.c:138:67: sparse: got restricted gfp_t
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_aeq.c:153:18: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] init_val @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_aeq.c:153:18: sparse: expected unsigned int [usertype] init_val
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_aeq.c:153:18: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_aeq.c:238:24: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_aeq.c:408:17: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_aeq.c: note: in included file (through drivers/net/ethernet/3snic/sssnic/hw/include/sss_hwdev.h):
>> drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:99:26: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:99:26: sparse: sparse: cast to restricted __be32
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_common.c:30:14: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted gfp_t [usertype] gfp @@ got unsigned int flag @@
drivers/net/ethernet/3snic/sssnic/hw/sss_common.c:30:14: sparse: expected restricted gfp_t [usertype] gfp
drivers/net/ethernet/3snic/sssnic/hw/sss_common.c:30:14: sparse: got unsigned int flag
drivers/net/ethernet/3snic/sssnic/hw/sss_common.c:42:14: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected restricted gfp_t [usertype] gfp @@ got unsigned int flag @@
drivers/net/ethernet/3snic/sssnic/hw/sss_common.c:42:14: sparse: expected restricted gfp_t [usertype] gfp
drivers/net/ethernet/3snic/sssnic/hw/sss_common.c:42:14: sparse: got unsigned int flag
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_wq.c:48:36: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long long [usertype] @@ got restricted __be64 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/sss_wq.c:48:36: sparse: expected unsigned long long [usertype]
drivers/net/ethernet/3snic/sssnic/hw/sss_wq.c:48:36: sparse: got restricted __be64 [usertype]
>> drivers/net/ethernet/3snic/sssnic/hw/sss_wq.c:72:68: sparse: sparse: incorrect type in argument 4 (different base types) @@ expected unsigned int flag @@ got restricted gfp_t @@
drivers/net/ethernet/3snic/sssnic/hw/sss_wq.c:72:68: sparse: expected unsigned int flag
drivers/net/ethernet/3snic/sssnic/hw/sss_wq.c:72:68: sparse: got restricted gfp_t
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ceq.c:102:18: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] init_val @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ceq.c:102:18: sparse: expected unsigned int [usertype] init_val
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ceq.c:102:18: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ceq.c:95:6: sparse: sparse: symbol 'sss_init_ceqe_desc' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ceq.c:130:13: sparse: sparse: symbol 'sss_ceq_intr_handle' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ceq.c:174:24: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ceq.c:377:17: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ceq.c:95:6: warning: no previous prototype for function 'sss_init_ceqe_desc' [-Wmissing-prototypes]
95 | void sss_init_ceqe_desc(void *data)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ceq.c:95:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
95 | void sss_init_ceqe_desc(void *data)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ceq.c:130:13: warning: no previous prototype for function 'sss_ceq_intr_handle' [-Wmissing-prototypes]
130 | irqreturn_t sss_ceq_intr_handle(int irq, void *data)
| ^
drivers/net/ethernet/3snic/sssnic/hw/sss_hwif_ceq.c:130:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
130 | irqreturn_t sss_ceq_intr_handle(int irq, void *data)
| ^
| static
2 warnings generated.
--
>> drivers/net/ethernet/3snic/sssnic/hw/sss_adapter_mgmt.c:64:1: sparse: sparse: symbol 'g_chip_list' was not declared. Should it be static?
--
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:80:6: sparse: sparse: symbol 'sss_tool_free_in_buf' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:91:6: sparse: sparse: symbol 'sss_tool_free_out_buf' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:104:5: sparse: sparse: symbol 'sss_tool_alloc_in_buf' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:146:5: sparse: sparse: symbol 'sss_tool_alloc_out_buf' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:189:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *out_buf @@
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:189:42: sparse: expected void [noderef] __user *to
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:189:42: sparse: got void *out_buf
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:194:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got void *out_buf @@
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:194:34: sparse: expected void [noderef] __user *to
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:194:34: sparse: got void *out_buf
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:182:5: sparse: sparse: symbol 'sss_tool_copy_to_user' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:211:45: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void *in_buf @@
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:211:45: sparse: expected void const [noderef] __user *from
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:211:45: sparse: got void *in_buf
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:238:36: sparse: sparse: symbol 'g_deal_msg_handle' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:318:40: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void * @@
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:318:40: sparse: expected void const [noderef] __user *from
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:318:40: sparse: got void *
>> drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:380:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] __user *to @@ got struct sss_tool_ffm_record_info *ffm_rd @@
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:380:42: sparse: expected void [noderef] __user *to
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:380:42: sparse: got struct sss_tool_ffm_record_info *ffm_rd
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:416:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void * @@
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:416:37: sparse: expected void const [noderef] __user *from
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:416:37: sparse: got void *
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:80:6: warning: no previous prototype for function 'sss_tool_free_in_buf' [-Wmissing-prototypes]
80 | void sss_tool_free_in_buf(void *hwdev, const struct sss_tool_msg *tool_msg, void *in_buf)
| ^
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:80:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
80 | void sss_tool_free_in_buf(void *hwdev, const struct sss_tool_msg *tool_msg, void *in_buf)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:91:6: warning: no previous prototype for function 'sss_tool_free_out_buf' [-Wmissing-prototypes]
91 | void sss_tool_free_out_buf(void *hwdev, struct sss_tool_msg *tool_msg,
| ^
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:91:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
91 | void sss_tool_free_out_buf(void *hwdev, struct sss_tool_msg *tool_msg,
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:104:5: warning: no previous prototype for function 'sss_tool_alloc_in_buf' [-Wmissing-prototypes]
104 | int sss_tool_alloc_in_buf(void *hwdev, struct sss_tool_msg *tool_msg,
| ^
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:104:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
104 | int sss_tool_alloc_in_buf(void *hwdev, struct sss_tool_msg *tool_msg,
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:146:5: warning: no previous prototype for function 'sss_tool_alloc_out_buf' [-Wmissing-prototypes]
146 | int sss_tool_alloc_out_buf(void *hwdev, struct sss_tool_msg *tool_msg,
| ^
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:146:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
146 | int sss_tool_alloc_out_buf(void *hwdev, struct sss_tool_msg *tool_msg,
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:182:5: warning: no previous prototype for function 'sss_tool_copy_to_user' [-Wmissing-prototypes]
182 | int sss_tool_copy_to_user(struct sss_tool_msg *tool_msg,
| ^
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_main.c:182:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
182 | int sss_tool_copy_to_user(struct sss_tool_msg *tool_msg,
| ^
| static
5 warnings generated.
--
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:498:5: sparse: sparse: symbol 'sss_tool_send_clp_msg' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:604:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [assigned] [usertype] val32 @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:604:28: sparse: expected unsigned int [assigned] [usertype] val32
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:604:28: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:606:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [assigned] [usertype] val32 @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:606:28: sparse: expected unsigned int [assigned] [usertype] val32
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:606:28: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:588:5: sparse: sparse: symbol 'sss_tool_adm_csr_rd32' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:635:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [assigned] [usertype] val32 @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:635:28: sparse: expected unsigned int [assigned] [usertype] val32
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:635:28: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:637:28: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [assigned] [usertype] val32 @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:637:28: sparse: expected unsigned int [assigned] [usertype] val32
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:637:28: sparse: got restricted __be32 [usertype]
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:621:5: sparse: sparse: symbol 'sss_tool_adm_csr_wr32' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:704:35: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] __user *from @@ got void * @@
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:704:35: sparse: expected void const [noderef] __user *from
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:704:35: sparse: got void *
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:498:5: warning: no previous prototype for function 'sss_tool_send_clp_msg' [-Wmissing-prototypes]
498 | int sss_tool_send_clp_msg(struct sss_hwdev *hwdev, u8 mod, u16 cmd, const void *buf_in,
| ^
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:498:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
498 | int sss_tool_send_clp_msg(struct sss_hwdev *hwdev, u8 mod, u16 cmd, const void *buf_in,
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:588:5: warning: no previous prototype for function 'sss_tool_adm_csr_rd32' [-Wmissing-prototypes]
588 | int sss_tool_adm_csr_rd32(struct sss_hwdev *hwdev, u8 dest, u32 addr, u32 *val)
| ^
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:588:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
588 | int sss_tool_adm_csr_rd32(struct sss_hwdev *hwdev, u8 dest, u32 addr, u32 *val)
| ^
| static
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:621:5: warning: no previous prototype for function 'sss_tool_adm_csr_wr32' [-Wmissing-prototypes]
621 | int sss_tool_adm_csr_wr32(struct sss_hwdev *hwdev, u8 dest, u32 addr, u32 val)
| ^
drivers/net/ethernet/3snic/sssnic/hw/./tool/sss_tool_chip.c:621:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
621 | int sss_tool_adm_csr_wr32(struct sss_hwdev *hwdev, u8 dest, u32 addr, u32 val)
| ^
| static
3 warnings generated.
--
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:878:6: sparse: sparse: symbol 'sss_nic_port_module_cable_plug' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:884:6: sparse: sparse: symbol 'sss_nic_port_module_cable_unplug' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:890:6: sparse: sparse: symbol 'sss_nic_port_module_link_err' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:1020:21: sparse: sparse: symbol 'g_nic_uld_info' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:1029:21: sparse: sparse: symbol 'get_nic_uld_info' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:878:6: warning: no previous prototype for function 'sss_nic_port_module_cable_plug' [-Wmissing-prototypes]
878 | void sss_nic_port_module_cable_plug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:878:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
878 | void sss_nic_port_module_cable_plug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:884:6: warning: no previous prototype for function 'sss_nic_port_module_cable_unplug' [-Wmissing-prototypes]
884 | void sss_nic_port_module_cable_unplug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:884:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
884 | void sss_nic_port_module_cable_unplug(struct sss_nic_dev *nic_dev, void *event_data)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:890:6: warning: no previous prototype for function 'sss_nic_port_module_link_err' [-Wmissing-prototypes]
890 | void sss_nic_port_module_link_err(struct sss_nic_dev *nic_dev, void *event_data)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:890:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
890 | void sss_nic_port_module_link_err(struct sss_nic_dev *nic_dev, void *event_data)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:1029:22: warning: no previous prototype for function 'get_nic_uld_info' [-Wmissing-prototypes]
1029 | struct sss_uld_info *get_nic_uld_info(void)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.c:1029:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1029 | struct sss_uld_info *get_nic_uld_info(void)
| ^
| static
4 warnings generated.
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_main.o: warning: objtool: sss_nic_event()+0x1bd: can't find switch jump table
--
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_tx.c:710:9: sparse: sparse: restricted __be16 degrades to integer
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_tx.c: note: in included file:
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned long long [usertype] * @@
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: got unsigned long long [usertype] *
--
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx.c: note: in included file:
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned long long [usertype] * @@
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: got unsigned long long [usertype] *
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned long long [usertype] * @@
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: got unsigned long long [usertype] *
--
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_reset.c: note: in included file:
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned long long [usertype] * @@
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: expected void volatile [noderef] __iomem *addr
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.h:103:37: sparse: got unsigned long long [usertype] *
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_reset.c:179:6: warning: no previous prototype for function 'sss_nic_rq_watchdog_handler' [-Wmissing-prototypes]
179 | void sss_nic_rq_watchdog_handler(struct work_struct *work)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rx_reset.c:179:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
179 | void sss_nic_rq_watchdog_handler(struct work_struct *work)
| ^
| static
1 warning generated.
--
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rss.c:276:41: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rss.c:276:41: sparse: expected unsigned int [usertype]
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rss.c:276:41: sparse: got restricted __be32 [usertype]
--
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:87:17: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:100:17: sparse: sparse: restricted __be32 degrades to integer
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:135:39: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] dport:16 @@ got restricted __be16 [usertype] pdst @@
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:135:39: sparse: expected unsigned int [usertype] dport:16
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:135:39: sparse: got restricted __be16 [usertype] pdst
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:138:39: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] sport:16 @@ got restricted __be16 [usertype] psrc @@
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:138:39: sparse: expected unsigned int [usertype] sport:16
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:138:39: sparse: got restricted __be16 [usertype] psrc
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:271:39: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] dport:16 @@ got restricted __be16 [usertype] pdst @@
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:271:39: sparse: expected unsigned int [usertype] dport:16
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:271:39: sparse: got restricted __be16 [usertype] pdst
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:274:39: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] sport:16 @@ got restricted __be16 [usertype] psrc @@
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:274:39: sparse: expected unsigned int [usertype] sport:16
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:274:39: sparse: got restricted __be16 [usertype] psrc
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:350:6: sparse: sparse: symbol 'sss_nic_flush_tcam_list' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:366:6: sparse: sparse: symbol 'sss_nic_flush_tcam_node_list' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:382:6: sparse: sparse: symbol 'sss_nic_flush_rx_flow_rule' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:350:6: warning: no previous prototype for function 'sss_nic_flush_tcam_list' [-Wmissing-prototypes]
350 | void sss_nic_flush_tcam_list(struct sss_nic_tcam_info *tcam_info)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:350:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
350 | void sss_nic_flush_tcam_list(struct sss_nic_tcam_info *tcam_info)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:366:6: warning: no previous prototype for function 'sss_nic_flush_tcam_node_list' [-Wmissing-prototypes]
366 | void sss_nic_flush_tcam_node_list(struct sss_nic_tcam_info *tcam_info)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:366:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
366 | void sss_nic_flush_tcam_node_list(struct sss_nic_tcam_info *tcam_info)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:382:6: warning: no previous prototype for function 'sss_nic_flush_rx_flow_rule' [-Wmissing-prototypes]
382 | void sss_nic_flush_rx_flow_rule(struct sss_nic_rx_rule *rx_flow_rule)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:382:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
382 | void sss_nic_flush_rx_flow_rule(struct sss_nic_rx_rule *rx_flow_rule)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:397:6: warning: no previous prototype for function 'sss_nic_flush_tcam' [-Wmissing-prototypes]
397 | void sss_nic_flush_tcam(struct sss_nic_dev *nic_dev)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:397:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
397 | void sss_nic_flush_tcam(struct sss_nic_dev *nic_dev)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:797:5: warning: no previous prototype for function 'sss_nic_ethtool_update_flow' [-Wmissing-prototypes]
797 | int sss_nic_ethtool_update_flow(struct sss_nic_dev *nic_dev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:797:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
797 | int sss_nic_ethtool_update_flow(struct sss_nic_dev *nic_dev,
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:842:5: warning: no previous prototype for function 'sss_nic_ethtool_delete_flow' [-Wmissing-prototypes]
842 | int sss_nic_ethtool_delete_flow(struct sss_nic_dev *nic_dev, u32 location)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:842:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
842 | int sss_nic_ethtool_delete_flow(struct sss_nic_dev *nic_dev, u32 location)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:864:5: warning: no previous prototype for function 'sss_nic_ethtool_get_flow' [-Wmissing-prototypes]
864 | int sss_nic_ethtool_get_flow(const struct sss_nic_dev *nic_dev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:864:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
864 | int sss_nic_ethtool_get_flow(const struct sss_nic_dev *nic_dev,
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:887:5: warning: no previous prototype for function 'sss_nic_ethtool_get_all_flows' [-Wmissing-prototypes]
887 | int sss_nic_ethtool_get_all_flows(const struct sss_nic_dev *nic_dev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:887:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
887 | int sss_nic_ethtool_get_all_flows(const struct sss_nic_dev *nic_dev,
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:905:6: warning: no previous prototype for function 'sss_nic_validate_channel_setting_in_ntuple' [-Wmissing-prototypes]
905 | bool sss_nic_validate_channel_setting_in_ntuple(const struct sss_nic_dev *nic_dev, u32 q_num)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ntuple.c:905:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
905 | bool sss_nic_validate_channel_setting_in_ntuple(const struct sss_nic_dev *nic_dev, u32 q_num)
| ^
| static
9 warnings generated.
--
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_api.c:644:5: sparse: sparse: symbol 'sss_nic_finish_loop_test' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_api.c:644:5: warning: no previous prototype for function 'sss_nic_finish_loop_test' [-Wmissing-prototypes]
644 | int sss_nic_finish_loop_test(struct sss_nic_dev *nic_dev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_ethtool_api.c:644:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
644 | int sss_nic_finish_loop_test(struct sss_nic_dev *nic_dev,
| ^
| static
1 warning generated.
--
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops.c:297:5: sparse: sparse: symbol 'sss_nic_ndo_vlan_rx_add_vid' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops.c:318:5: sparse: sparse: symbol 'sss_nic_ndo_vlan_rx_kill_vid' was not declared. Should it be static?
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops.c:506:5: sparse: sparse: symbol 'sss_nic_ndo_set_vf_link_state' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops.c:297:5: warning: no previous prototype for function 'sss_nic_ndo_vlan_rx_add_vid' [-Wmissing-prototypes]
297 | int sss_nic_ndo_vlan_rx_add_vid(struct net_device *netdev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops.c:297:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
297 | int sss_nic_ndo_vlan_rx_add_vid(struct net_device *netdev,
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops.c:318:5: warning: no previous prototype for function 'sss_nic_ndo_vlan_rx_kill_vid' [-Wmissing-prototypes]
318 | int sss_nic_ndo_vlan_rx_kill_vid(struct net_device *netdev,
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops.c:318:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
318 | int sss_nic_ndo_vlan_rx_kill_vid(struct net_device *netdev,
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops.c:506:5: warning: no previous prototype for function 'sss_nic_ndo_set_vf_link_state' [-Wmissing-prototypes]
506 | int sss_nic_ndo_set_vf_link_state(struct net_device *netdev, int vf_id, int link)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops.c:506:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
506 | int sss_nic_ndo_set_vf_link_state(struct net_device *netdev, int vf_id, int link)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops.c:787:6: warning: no previous prototype for function 'sss_nic_set_netdev_ops' [-Wmissing-prototypes]
787 | void sss_nic_set_netdev_ops(struct sss_nic_dev *nic_dev)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops.c:787:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
787 | void sss_nic_set_netdev_ops(struct sss_nic_dev *nic_dev)
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops.c:795:6: warning: no previous prototype for function 'sss_nic_is_netdev_ops_match' [-Wmissing-prototypes]
795 | bool sss_nic_is_netdev_ops_match(const struct net_device *netdev)
| ^
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops.c:795:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
795 | bool sss_nic_is_netdev_ops_match(const struct net_device *netdev)
| ^
| static
5 warnings generated.
--
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_cfg.c: note: in included file (through drivers/net/ethernet/3snic/sssnic/include/sss_hw.h):
>> drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: expected unsigned int [usertype]
drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: got restricted __be32 [usertype]
--
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_vf_cfg.c: note: in included file (through drivers/net/ethernet/3snic/sssnic/include/sss_hw.h):
>> drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: expected unsigned int [usertype]
drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: got restricted __be32 [usertype]
--
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rss_cfg.c:109:31: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rss_cfg.c:109:31: sparse: expected unsigned int [usertype]
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rss_cfg.c:109:31: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rss_cfg.c:160:26: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] ctx @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rss_cfg.c:160:26: sparse: expected unsigned int [usertype] ctx
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_rss_cfg.c:160:26: sparse: got restricted __be32 [usertype]
--
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.c:400:31: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.c:400:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [noderef] [usertype] __iomem *sq_db_addr @@ got unsigned char [usertype] * @@
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.c:400:28: sparse: expected unsigned char [noderef] [usertype] __iomem *sq_db_addr
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.c:400:28: sparse: got unsigned char [usertype] *
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.c:408:31: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.c:408:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned char [noderef] [usertype] __iomem *rq_db_addr @@ got unsigned char [usertype] * @@
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.c:408:28: sparse: expected unsigned char [noderef] [usertype] __iomem *rq_db_addr
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.c:408:28: sparse: got unsigned char [usertype] *
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_io.c: note: in included file (through drivers/net/ethernet/3snic/sssnic/include/sss_hw.h):
>> drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: expected unsigned int [usertype]
drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: expected unsigned int [usertype]
drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: expected unsigned int [usertype]
drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: got restricted __be32 [usertype]
>> drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: expected unsigned int [usertype]
drivers/net/ethernet/3snic/sssnic/include/hw/sss_hw_common.h:77:22: sparse: got restricted __be32 [usertype]
--
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops_api.c:689:33: sparse: sparse: cast to restricted __be32
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops_api.c:692:38: sparse: sparse: cast to restricted __be32
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops_api.c:728:37: sparse: sparse: restricted __be32 degrades to integer
drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops_api.c:729:37: sparse: sparse: restricted __be32 degrades to integer
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops_api.c:741:37: sparse: sparse: cast to restricted __be16
>> drivers/net/ethernet/3snic/sssnic/nic/sss_nic_netdev_ops_api.c:741:37: sparse: sparse: cast to restricted __be16
--
>> drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:71:39: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:88:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned short [usertype] hw_pi @@ got restricted __be16 [usertype] @@
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:88:24: sparse: expected unsigned short [usertype] hw_pi
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:88:24: sparse: got restricted __be16 [usertype]
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:137:5: sparse: sparse: symbol 'sss_tool_get_tx_info' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:163:5: sparse: sparse: symbol 'sss_tool_get_tx_wqe_info' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:182:5: sparse: sparse: symbol 'sss_tool_get_rx_info' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:223:5: sparse: sparse: symbol 'sss_tool_get_rx_wqe_info' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:242:5: sparse: sparse: symbol 'sss_tool_get_rx_cqe_info' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:280:5: sparse: sparse: symbol 'sss_tool_get_q_num' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:304:5: sparse: sparse: symbol 'sss_tool_get_inter_num' was not declared. Should it be static?
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:137:5: warning: no previous prototype for function 'sss_tool_get_tx_info' [-Wmissing-prototypes]
137 | int sss_tool_get_tx_info(struct sss_nic_dev *nic_dev, const void *in_buf,
| ^
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:137:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
137 | int sss_tool_get_tx_info(struct sss_nic_dev *nic_dev, const void *in_buf,
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:163:5: warning: no previous prototype for function 'sss_tool_get_tx_wqe_info' [-Wmissing-prototypes]
163 | int sss_tool_get_tx_wqe_info(struct sss_nic_dev *nic_dev, const void *in_buf,
| ^
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:163:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
163 | int sss_tool_get_tx_wqe_info(struct sss_nic_dev *nic_dev, const void *in_buf,
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:182:5: warning: no previous prototype for function 'sss_tool_get_rx_info' [-Wmissing-prototypes]
182 | int sss_tool_get_rx_info(struct sss_nic_dev *nic_dev, const void *in_buf,
| ^
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:182:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
182 | int sss_tool_get_rx_info(struct sss_nic_dev *nic_dev, const void *in_buf,
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:223:5: warning: no previous prototype for function 'sss_tool_get_rx_wqe_info' [-Wmissing-prototypes]
223 | int sss_tool_get_rx_wqe_info(struct sss_nic_dev *nic_dev, const void *in_buf,
| ^
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:223:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
223 | int sss_tool_get_rx_wqe_info(struct sss_nic_dev *nic_dev, const void *in_buf,
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:242:5: warning: no previous prototype for function 'sss_tool_get_rx_cqe_info' [-Wmissing-prototypes]
242 | int sss_tool_get_rx_cqe_info(struct sss_nic_dev *nic_dev, const void *in_buf,
| ^
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:242:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
242 | int sss_tool_get_rx_cqe_info(struct sss_nic_dev *nic_dev, const void *in_buf,
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:280:5: warning: no previous prototype for function 'sss_tool_get_q_num' [-Wmissing-prototypes]
280 | int sss_tool_get_q_num(struct sss_nic_dev *nic_dev, const void *in_buf, u32 in_len,
| ^
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:280:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
280 | int sss_tool_get_q_num(struct sss_nic_dev *nic_dev, const void *in_buf, u32 in_len,
| ^
| static
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:304:5: warning: no previous prototype for function 'sss_tool_get_inter_num' [-Wmissing-prototypes]
304 | int sss_tool_get_inter_num(struct sss_nic_dev *nic_dev, const void *in_buf,
| ^
drivers/net/ethernet/3snic/sssnic/nic/./tool/sss_tool_nic_qp_info.c:304:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
304 | int sss_tool_get_inter_num(struct sss_nic_dev *nic_dev, const void *in_buf,
| ^
| static
7 warnings generated.
vim +/sss_attach_uld_driver +276 drivers/net/ethernet/3snic/sssnic/hw/sss_pci_probe.c
275
> 276 int sss_attach_uld_driver(struct sss_pci_adapter *adapter,
277 enum sss_service_type type, const struct sss_uld_info *uld_info)
278 {
279 int ret = 0;
280 void *uld = NULL;
281 const char **name = sss_get_uld_names();
282 struct pci_dev *pdev = adapter->pcidev;
283
284 mutex_lock(&adapter->uld_attach_mutex);
285
286 if (adapter->uld_dev[type]) {
287 sdk_err(&pdev->dev, "Fail to attach pci dev, driver %s\n", name[type]);
288 mutex_unlock(&adapter->uld_attach_mutex);
289 return 0;
290 }
291
292 ret = uld_info->probe(&adapter->hal_dev, &uld, adapter->uld_dev_name[type]);
293 if (ret != 0) {
294 sdk_err(&pdev->dev, "Fail to probe for driver %s\n", name[type]);
295 mutex_unlock(&adapter->uld_attach_mutex);
296 return ret;
297 }
298
299 adapter->uld_dev[type] = uld;
300 set_bit(type, &adapter->uld_attach_state);
301 mutex_unlock(&adapter->uld_attach_mutex);
302
303 sdk_info(&pdev->dev, "Success to attach %s driver\n", name[type]);
304
305 return 0;
306 }
307
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10 24783/30000] drivers/ub/urma/uburma/uburma_dev_ops.c:32:6: warning: no previous prototype for 'uburma_release_file'
by kernel test robot 16 Mar '24
by kernel test robot 16 Mar '24
16 Mar '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 32bb7b0a7c87769858fbb9d60574b830383c28f7
commit: cd637a6dded9c0dce5f8d79898bb25be2edb927a [24783/30000] ub: uburma support open/release file ops
config: arm64-randconfig-003-20240312 (https://download.01.org/0day-ci/archive/20240316/202403160056.fe8TqdpG-lkp@…)
compiler: aarch64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240316/202403160056.fe8TqdpG-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403160056.fe8TqdpG-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/ub/urma/uburma/uburma_dev_ops.c:32:6: warning: no previous prototype for 'uburma_release_file' [-Wmissing-prototypes]
32 | void uburma_release_file(struct kref *ref)
| ^~~~~~~~~~~~~~~~~~~
>> drivers/ub/urma/uburma/uburma_dev_ops.c:49:5: warning: no previous prototype for 'uburma_open' [-Wmissing-prototypes]
49 | int uburma_open(struct inode *inode, struct file *filp)
| ^~~~~~~~~~~
drivers/ub/urma/uburma/uburma_dev_ops.c: In function 'uburma_open':
>> drivers/ub/urma/uburma/uburma_dev_ops.c:66:50: warning: the comparison will always evaluate as 'false' for the address of 'dev_name' will never be NULL [-Waddress]
66 | if (ubc_dev == NULL || ubc_dev->dev_name == NULL) {
| ^~
In file included from drivers/ub/urma/uburma/uburma_dev_ops.c:25:
include/urma/ubcore_types.h:1589:14: note: 'dev_name' declared here
1589 | char dev_name[UBCORE_MAX_DEV_NAME];
| ^~~~~~~~
drivers/ub/urma/uburma/uburma_dev_ops.c: At top level:
>> drivers/ub/urma/uburma/uburma_dev_ops.c:102:5: warning: no previous prototype for 'uburma_close' [-Wmissing-prototypes]
102 | int uburma_close(struct inode *inode, struct file *filp)
| ^~~~~~~~~~~~
vim +/uburma_release_file +32 drivers/ub/urma/uburma/uburma_dev_ops.c
31
> 32 void uburma_release_file(struct kref *ref)
33 {
34 struct uburma_file *file = container_of(ref, struct uburma_file, ref);
35 int srcu_idx;
36
37 srcu_idx = srcu_read_lock(&file->ubu_dev->ubc_dev_srcu);
38 srcu_dereference(file->ubu_dev->ubc_dev, &file->ubu_dev->ubc_dev_srcu);
39
40 srcu_read_unlock(&file->ubu_dev->ubc_dev_srcu, srcu_idx);
41
42 if (atomic_dec_and_test(&file->ubu_dev->refcnt))
43 complete(&file->ubu_dev->comp);
44
45 kobject_put(&file->ubu_dev->kobj);
46 kfree(file);
47 }
48
> 49 int uburma_open(struct inode *inode, struct file *filp)
50 {
51 struct uburma_device *ubu_dev;
52 struct ubcore_device *ubc_dev;
53 struct uburma_file *file;
54 int srcu_idx;
55 int ret;
56
57 ubu_dev = container_of(inode->i_cdev, struct uburma_device, cdev);
58 if (!atomic_inc_not_zero(&ubu_dev->refcnt)) {
59 uburma_log_err("device was not ready.\n");
60 return -ENXIO;
61 }
62
63 srcu_idx = srcu_read_lock(&ubu_dev->ubc_dev_srcu);
64 mutex_lock(&ubu_dev->lists_mutex);
65 ubc_dev = srcu_dereference(ubu_dev->ubc_dev, &ubu_dev->ubc_dev_srcu);
> 66 if (ubc_dev == NULL || ubc_dev->dev_name == NULL) {
67 uburma_log_err("can not find ubcore device.\n");
68 ret = EIO;
69 goto err;
70 }
71
72 file = kzalloc(sizeof(struct uburma_file), GFP_KERNEL);
73 if (!file) {
74 ret = -ENOMEM;
75 uburma_log_err("can not alloc memory.\n");
76 goto err;
77 }
78
79 file->ubu_dev = ubu_dev;
80 file->ucontext = NULL;
81 kref_init(&file->ref);
82 mutex_init(&file->mutex);
83 filp->private_data = file;
84
85 list_add_tail(&file->list, &ubu_dev->uburma_file_list);
86 kobject_get(&ubu_dev->kobj); // Increase reference count for file.
87
88 mutex_unlock(&ubu_dev->lists_mutex);
89 srcu_read_unlock(&ubu_dev->ubc_dev_srcu, srcu_idx);
90
91 uburma_log_info("device: %s open succeed.\n", ubc_dev->dev_name);
92 return nonseekable_open(inode, filp);
93
94 err:
95 mutex_unlock(&ubu_dev->lists_mutex);
96 srcu_read_unlock(&ubu_dev->ubc_dev_srcu, srcu_idx);
97 if (atomic_dec_and_test(&ubu_dev->refcnt))
98 complete(&ubu_dev->comp);
99 return ret;
100 }
101
> 102 int uburma_close(struct inode *inode, struct file *filp)
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10 29991/30000] drivers/net/ethernet/yusur/k2/ys_k2_tx.c:137:18: warning: variable 'clean_tail_ptr' set but not used
by kernel test robot 15 Mar '24
by kernel test robot 15 Mar '24
15 Mar '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: 32bb7b0a7c87769858fbb9d60574b830383c28f7
commit: c92533ad657c0a5d1a7a6355ef2c357cbb91d5c0 [29991/30000] drivers: initial support for KPU FLEXFLOW-2100P driver from Yusur Technology
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20240315/202403152311.T6JFVh2t-lkp@…)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240315/202403152311.T6JFVh2t-lkp@…)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp(a)intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403152311.T6JFVh2t-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/net/ethernet/yusur/k2/ys_k2_tx.c:137:18: warning: variable 'clean_tail_ptr' set but not used [-Wunused-but-set-variable]
137 | u32 desc_index, clean_tail_ptr;
| ^
1 warning generated.
--
>> drivers/net/ethernet/yusur/k2/../platform/ys_intr.c:113:40: warning: overlapping comparisons always evaluate to false [-Wtautological-overlap-compare]
113 | if (sub->irq_type < YS_IRQ_TYPE_QUEUE &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
114 | sub->irq_type > YS_IRQ_TYPE_HW_PRIVATE) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
vim +/clean_tail_ptr +137 drivers/net/ethernet/yusur/k2/ys_k2_tx.c
130
131 netdev_tx_t ysk2_start_xmit(struct sk_buff *skb, struct net_device *ndev)
132 {
133 struct ys_ndev_priv *ndev_priv = netdev_priv(ndev);
134 struct skb_shared_info *shinfo = skb_shinfo(skb);
135 struct ysk2_port *k2port = ndev_priv->adp_priv;
136 struct ysk2_desc_ring *tx_ring;
> 137 u32 desc_index, clean_tail_ptr;
138 struct ysk2_tx_info *tx_info;
139 struct ysk2_desc *tx_desc;
140 bool stop_queue;
141 u16 txq_index;
142
143 if (unlikely(!(ndev->flags & IFF_UP)))
144 goto tx_drop;
145
146 txq_index = skb_get_queue_mapping(skb);
147 tx_ring = k2port->qps[txq_index].tx_ring;
148
149 clean_tail_ptr = READ_ONCE(tx_ring->ring.clean_tail_ptr);
150
151 desc_index = tx_ring->ring.head_ptr & tx_ring->ring.size_mask;
152
153 tx_desc = (struct ysk2_desc *)(tx_ring->ring.buf +
154 desc_index * tx_ring->ring.stride);
155
156 tx_info = &tx_ring->tx_info[desc_index];
157
158 /* too many frags or very short data portion; linearize */
159 if (shinfo->nr_frags > tx_ring->tx_max_sg_frags ||
160 (skb->data_len && skb->data_len < 32)) {
161 if (skb_linearize(skb))
162 goto tx_drop_count;
163 }
164
165 /* Refresh the cache through streaming mapping */
166 if (ysk2_map_skb(&tx_ring->ring, tx_info, tx_desc, skb))
167 goto tx_drop_count;
168
169 /* count packet */
170 tx_ring->packets++;
171 tx_ring->bytes += skb->len;
172
173 /* enqueue */
174 tx_ring->ring.head_ptr++;
175
176 skb_tx_timestamp(skb);
177
178 /* if the tx_ring is full now, stop the tx queue */
179 stop_queue = ysk2_is_ring_full(&tx_ring->ring);
180 if (unlikely(stop_queue)) {
181 ys_net_debug("TX ring %d full\n", txq_index);
182 netif_tx_stop_queue(tx_ring->tx_queue);
183 }
184
185 /* enqueue on NIC */
186 if (unlikely(!netdev_xmit_more() || stop_queue))
187 ysk2_write_head_ptr(&tx_ring->ring);
188
189 /* check if queue restarted */
190 if (unlikely(stop_queue)) {
191 clean_tail_ptr = READ_ONCE(tx_ring->ring.clean_tail_ptr);
192
193 if (unlikely(!ysk2_is_ring_full(&tx_ring->ring)))
194 netif_tx_wake_queue(tx_ring->tx_queue);
195 }
196
197 return NETDEV_TX_OK;
198
199 tx_drop_count:
200 tx_ring->dropped_packets++;
201 tx_drop:
202 dev_kfree_skb_any(skb);
203 return NETDEV_TX_OK;
204 }
205
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10] BUILD SUCCESS WITH WARNING 32bb7b0a7c87769858fbb9d60574b830383c28f7
by kernel test robot 15 Mar '24
by kernel test robot 15 Mar '24
15 Mar '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10
branch HEAD: 32bb7b0a7c87769858fbb9d60574b830383c28f7 !3297 [OLK-5.10] Add drivers support for Mucse Network Adapter(N10/N400)
Warning reports:
https://lore.kernel.org/oe-kbuild-all/202403151200.4Ra2tgj2-lkp@intel.com
Warning: (recently discovered and may have been fixed)
drivers/ub/urma/ubcore/ubcore_umem.c:227:21: warning: no previous prototype for 'ubcore_umem_get' [-Wmissing-prototypes]
drivers/ub/urma/ubcore/ubcore_umem.c:245:6: warning: no previous prototype for 'ubcore_umem_release' [-Wmissing-prototypes]
Warning ids grouped by kconfigs:
gcc_recent_errors
`-- arm64-randconfig-003-20240312
|-- drivers-ub-urma-ubcore-ubcore_umem.c:warning:no-previous-prototype-for-ubcore_umem_get
`-- drivers-ub-urma-ubcore-ubcore_umem.c:warning:no-previous-prototype-for-ubcore_umem_release
clang_recent_errors
|-- x86_64-allyesconfig
| |-- drivers-ub-urma-ubcore-ubcore_device.c:warning:no-previous-prototype-for-function-ubcore_find_tpf_device_legacy
| |-- drivers-ub-urma-ubcore-ubcore_tp.c:warning:no-previous-prototype-for-function-ubcore_modify_tp_state
| |-- drivers-ub-urma-uburma-uburma_main.c:warning:no-previous-prototype-for-function-uburma_dev_accessible_by_ns
| |-- drivers-ub-urma-uburma-uburma_main.c:warning:no-previous-prototype-for-function-uburma_set_dev_ns
| `-- drivers-ub-urma-uburma-uburma_main.c:warning:no-previous-prototype-for-function-uburma_set_ns_mode
`-- x86_64-randconfig-011-20240315
`-- kernel-rcu-tree.o:warning:objtool:__call_rcu_nocb_wake:unreachable-instruction
elapsed time: 722m
configs tested: 28
configs skipped: 145
tested configs:
arm64 allmodconfig clang
arm64 allnoconfig gcc
arm64 defconfig gcc
arm64 randconfig-001-20240315 gcc
arm64 randconfig-002-20240315 gcc
arm64 randconfig-003-20240315 gcc
arm64 randconfig-004-20240315 gcc
x86_64 allnoconfig clang
x86_64 allyesconfig clang
x86_64 buildonly-randconfig-001-20240315 gcc
x86_64 buildonly-randconfig-002-20240315 gcc
x86_64 buildonly-randconfig-003-20240315 gcc
x86_64 buildonly-randconfig-004-20240315 gcc
x86_64 buildonly-randconfig-005-20240315 clang
x86_64 buildonly-randconfig-006-20240315 clang
x86_64 defconfig gcc
x86_64 randconfig-001-20240315 gcc
x86_64 randconfig-002-20240315 clang
x86_64 randconfig-003-20240315 gcc
x86_64 randconfig-004-20240315 clang
x86_64 randconfig-005-20240315 gcc
x86_64 randconfig-006-20240315 gcc
x86_64 randconfig-011-20240315 clang
x86_64 randconfig-012-20240315 gcc
x86_64 randconfig-013-20240315 gcc
x86_64 randconfig-014-20240315 gcc
x86_64 randconfig-015-20240315 clang
x86_64 rhel-8.3-rust clang
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-6.6] BUILD REGRESSION 22a313585b0ee196eb843e8b7182402b92d12ce6
by kernel test robot 15 Mar '24
by kernel test robot 15 Mar '24
15 Mar '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: 22a313585b0ee196eb843e8b7182402b92d12ce6 !5180 RDMA/hns: Support hns RoCE Bonding
Error/Warning ids grouped by kconfigs:
gcc_recent_errors
|-- arm64-defconfig
| |-- aarch64-linux-ld:arch-arm64-include-asm-kvm_mmu.h:(.hyp.text):undefined-reference-to-__kvm_nvhe_kvm_ncsnp_support
| |-- aarch64-linux-ld:arch-arm64-kvm-hyp-nvhe-..-pgtable.c:(.hyp.text):undefined-reference-to-__kvm_nvhe_kvm_ncsnp_support
| |-- arch-arm64-include-asm-kvm_mmu.h:(.hyp.text):dangerous-relocation:unsupported-relocation
| |-- arch-arm64-include-asm-kvm_mmu.h:(.hyp.text):undefined-reference-to-__kvm_nvhe_kvm_ncsnp_support
| |-- arch-arm64-kvm-hyp-nvhe-..-pgtable.c:(.hyp.text):dangerous-relocation:unsupported-relocation
| |-- arch-arm64-kvm-hyp-nvhe-..-pgtable.c:(.hyp.text):undefined-reference-to-__kvm_nvhe_kvm_ncsnp_support
| `-- drivers-irqchip-irq-mbigen.c:warning:expecting-prototype-for-Due-to-the-existence-of-hyper().-Prototype-was-for-GICR_LENGTH()-instead
|-- arm64-randconfig-001-20240315
| `-- drivers-i2c-busses-i2c-hisi.c:warning:expecting-prototype-for-i2c_dw_acpi_pin_mux_change().-Prototype-was-for-i2c_hisi_pin_mux_change()-instead
`-- loongarch-allmodconfig
|-- drivers-i2c-busses-i2c-hisi.c:warning:expecting-prototype-for-i2c_dw_acpi_pin_mux_change().-Prototype-was-for-i2c_hisi_pin_mux_change()-instead
|-- drivers-infiniband-hw-hns-hns_roce_hw_v2.c:warning:no-previous-prototype-for-hns_roce_hw_v2_get_dscp
|-- drivers-net-ethernet-mucse-rnp-rnp_ethtool.c:warning:expecting-prototype-for-rnp_set_rxfh().-Prototype-was-for-rnp_set_rxnfc()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_ethtool.c:warning:expecting-prototype-for-rnp_tet_rxfh().-Prototype-was-for-rnp_get_rxfh()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_main.c:warning:directive-output-may-be-truncated-writing-byte-into-a-region-of-size-between-and
|-- drivers-net-ethernet-mucse-rnp-rnp_main.c:warning:expecting-prototype-for-rnp_write_eitr().-Prototype-was-for-rnp_write_eitr_rx()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:expecting-prototype-for-rnp_mbx_link_event_eanble().-Prototype-was-for-rnp_mbx_link_event_enable()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:expecting-prototype-for-rnp_mbx_stat_mark().-Prototype-was-for-rnp_link_stat_mark()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:no-previous-prototype-for-rnp_mbx_lldp_all_ports_enable
|-- drivers-net-ethernet-mucse-rnp-rnp_n10.c:warning:expecting-prototype-for-rnp_fc_mode_n10().-Prototype-was-for-rnp_mac_fc_mode_n10()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_n10.c:warning:expecting-prototype-for-rnp_init_hw_n10().-Prototype-was-for-rnp_init_hw_ops_n10()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_n10.c:warning:expecting-prototype-for-rnp_write_uc_addr_list().-Prototype-was-for-rnp_write_uc_addr_list_n10()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_n10.c:warning:expecting-prototype-for-rnpm_device_supports_autoneg_fc().-Prototype-was-for-rnp_device_supports_autoneg_fc()-instead
|-- loongson3-acpi-cpufreq.c:(.text):undefined-reference-to-acpi_processor_register_performance
|-- loongson3-acpi-cpufreq.c:(.text):undefined-reference-to-acpi_processor_unregister_performance
`-- security-integrity-ima-ima_appraise.c:warning:no-previous-prototype-for-ima_get_hash_algo
clang_recent_errors
|-- arm64-allmodconfig
| |-- drivers-i2c-busses-i2c-hisi.c:warning:expecting-prototype-for-i2c_dw_acpi_pin_mux_change().-Prototype-was-for-i2c_hisi_pin_mux_change()-instead
| |-- drivers-iommu-arm-arm-smmu-v3-arm-smmu-v3.c:warning:variable-pre_addr-is-uninitialized-when-used-here
| |-- drivers-irqchip-irq-mbigen.c:warning:expecting-prototype-for-Due-to-the-existence-of-hyper().-Prototype-was-for-GICR_LENGTH()-instead
| |-- drivers-net-ethernet-mucse-rnp-rnp_ethtool.c:warning:expecting-prototype-for-rnp_set_rxfh().-Prototype-was-for-rnp_set_rxnfc()-instead
| |-- drivers-net-ethernet-mucse-rnp-rnp_ethtool.c:warning:expecting-prototype-for-rnp_tet_rxfh().-Prototype-was-for-rnp_get_rxfh()-instead
| |-- drivers-net-ethernet-mucse-rnp-rnp_main.c:warning:expecting-prototype-for-rnp_write_eitr().-Prototype-was-for-rnp_write_eitr_rx()-instead
| |-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:expecting-prototype-for-rnp_mbx_link_event_eanble().-Prototype-was-for-rnp_mbx_link_event_enable()-instead
| |-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:expecting-prototype-for-rnp_mbx_stat_mark().-Prototype-was-for-rnp_link_stat_mark()-instead
| |-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:no-previous-prototype-for-function-rnp_mbx_lldp_all_ports_enable
| |-- drivers-net-ethernet-mucse-rnp-rnp_n10.c:warning:expecting-prototype-for-rnp_fc_mode_n10().-Prototype-was-for-rnp_mac_fc_mode_n10()-instead
| |-- drivers-net-ethernet-mucse-rnp-rnp_n10.c:warning:expecting-prototype-for-rnp_init_hw_n10().-Prototype-was-for-rnp_init_hw_ops_n10()-instead
| |-- drivers-net-ethernet-mucse-rnp-rnp_n10.c:warning:expecting-prototype-for-rnp_write_uc_addr_list().-Prototype-was-for-rnp_write_uc_addr_list_n10()-instead
| |-- drivers-net-ethernet-mucse-rnp-rnp_n10.c:warning:expecting-prototype-for-rnpm_device_supports_autoneg_fc().-Prototype-was-for-rnp_device_supports_autoneg_fc()-instead
| |-- mm-mem_reliable.c:warning:arithmetic-between-different-enumeration-types-(-enum-node_stat_item-and-enum-lru_list-)
| |-- security-integrity-ima-ima_appraise.c:warning:no-previous-prototype-for-function-ima_get_hash_algo
| `-- security-integrity-ima-ima_fs.c:warning:variable-ret-is-used-uninitialized-whenever-if-condition-is-true
`-- x86_64-allyesconfig
|-- drivers-crypto-montage-tsse-tsse_dev_mgr.c:warning:no-previous-prototype-for-function-tsse_stop_dev
|-- drivers-crypto-montage-tsse-tsse_dev_mgr.c:warning:variable-ptr-is-used-uninitialized-whenever-for-loop-exits-because-its-condition-is-false
|-- drivers-crypto-montage-tsse-tsse_fw_service.c:warning:no-previous-prototype-for-function-fw_free
|-- drivers-crypto-montage-tsse-tsse_fw_service.c:warning:no-previous-prototype-for-function-fw_send_msg
|-- drivers-crypto-montage-tsse-tsse_ipc.c:warning:no-previous-prototype-for-function-get_msginf
|-- drivers-crypto-montage-tsse-tsse_ipc.c:warning:no-previous-prototype-for-function-ipc_hw_init
|-- drivers-crypto-montage-tsse-tsse_ipc.c:warning:no-previous-prototype-for-function-ipc_init_msg
|-- drivers-crypto-montage-tsse-tsse_ipc.c:warning:no-previous-prototype-for-function-ipc_recieve_msg
|-- drivers-crypto-montage-tsse-tsse_ipc.c:warning:no-previous-prototype-for-function-ipc_send_msg
|-- drivers-crypto-montage-tsse-tsse_ipc.c:warning:no-previous-prototype-for-function-msg_rout
|-- drivers-crypto-montage-tsse-tsse_service.c:warning:no-previous-prototype-for-function-service_rout
|-- drivers-crypto-montage-tsse-tsse_service.c:warning:variable-ret-set-but-not-used
|-- drivers-i2c-busses-i2c-hisi.c:warning:expecting-prototype-for-i2c_dw_acpi_pin_mux_change().-Prototype-was-for-i2c_hisi_pin_mux_change()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_ethtool.c:warning:expecting-prototype-for-rnp_set_rxfh().-Prototype-was-for-rnp_set_rxnfc()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_ethtool.c:warning:expecting-prototype-for-rnp_tet_rxfh().-Prototype-was-for-rnp_get_rxfh()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_main.c:warning:expecting-prototype-for-rnp_write_eitr().-Prototype-was-for-rnp_write_eitr_rx()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:expecting-prototype-for-rnp_mbx_link_event_eanble().-Prototype-was-for-rnp_mbx_link_event_enable()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:expecting-prototype-for-rnp_mbx_stat_mark().-Prototype-was-for-rnp_link_stat_mark()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_mbx_fw.c:warning:no-previous-prototype-for-function-rnp_mbx_lldp_all_ports_enable
|-- drivers-net-ethernet-mucse-rnp-rnp_n10.c:warning:expecting-prototype-for-rnp_fc_mode_n10().-Prototype-was-for-rnp_mac_fc_mode_n10()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_n10.c:warning:expecting-prototype-for-rnp_init_hw_n10().-Prototype-was-for-rnp_init_hw_ops_n10()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_n10.c:warning:expecting-prototype-for-rnp_write_uc_addr_list().-Prototype-was-for-rnp_write_uc_addr_list_n10()-instead
|-- drivers-net-ethernet-mucse-rnp-rnp_n10.c:warning:expecting-prototype-for-rnpm_device_supports_autoneg_fc().-Prototype-was-for-rnp_device_supports_autoneg_fc()-instead
|-- security-integrity-ima-ima_appraise.c:warning:no-previous-prototype-for-function-ima_get_hash_algo
`-- security-integrity-ima-ima_fs.c:warning:variable-ret-is-used-uninitialized-whenever-if-condition-is-true
elapsed time: 734m
configs tested: 40
configs skipped: 140
tested configs:
arm64 allmodconfig clang
arm64 allnoconfig gcc
arm64 defconfig gcc
arm64 randconfig-001-20240315 gcc
arm64 randconfig-002-20240315 gcc
arm64 randconfig-003-20240315 gcc
arm64 randconfig-004-20240315 gcc
loongarch allmodconfig gcc
loongarch allnoconfig gcc
loongarch defconfig gcc
loongarch randconfig-001-20240315 gcc
loongarch randconfig-002-20240315 gcc
x86_64 allnoconfig clang
x86_64 allyesconfig clang
x86_64 buildonly-randconfig-001-20240315 gcc
x86_64 buildonly-randconfig-002-20240315 gcc
x86_64 buildonly-randconfig-003-20240315 gcc
x86_64 buildonly-randconfig-004-20240315 gcc
x86_64 buildonly-randconfig-005-20240315 clang
x86_64 buildonly-randconfig-006-20240315 clang
x86_64 defconfig gcc
x86_64 randconfig-001-20240315 gcc
x86_64 randconfig-002-20240315 clang
x86_64 randconfig-003-20240315 gcc
x86_64 randconfig-004-20240315 clang
x86_64 randconfig-005-20240315 gcc
x86_64 randconfig-006-20240315 gcc
x86_64 randconfig-011-20240315 clang
x86_64 randconfig-012-20240315 gcc
x86_64 randconfig-013-20240315 gcc
x86_64 randconfig-014-20240315 gcc
x86_64 randconfig-015-20240315 clang
x86_64 randconfig-016-20240315 clang
x86_64 randconfig-071-20240315 clang
x86_64 randconfig-072-20240315 clang
x86_64 randconfig-073-20240315 gcc
x86_64 randconfig-074-20240315 gcc
x86_64 randconfig-075-20240315 clang
x86_64 randconfig-076-20240315 clang
x86_64 rhel-8.3-rust clang
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
Ming Lei (2):
scsi: core: Move scsi_host_busy() out of host lock for waking up EH
handler
scsi: core: Move scsi_host_busy() out of host lock if it is for
per-command
drivers/scsi/scsi_priv.h | 2 +-
drivers/scsi/scsi_error.c | 9 +++++----
drivers/scsi/scsi_lib.c | 4 +++-
3 files changed, 9 insertions(+), 6 deletions(-)
--
2.39.2
2
3
Ming Lei (2):
scsi: core: Move scsi_host_busy() out of host lock for waking up EH
handler
scsi: core: Move scsi_host_busy() out of host lock if it is for
per-command
drivers/scsi/scsi_priv.h | 2 +-
drivers/scsi/scsi_error.c | 9 +++++----
drivers/scsi/scsi_lib.c | 4 +++-
3 files changed, 9 insertions(+), 6 deletions(-)
--
2.39.2
2
7
Ming Lei (2):
scsi: core: Move scsi_host_busy() out of host lock for waking up EH
handler
scsi: core: Move scsi_host_busy() out of host lock if it is for
per-command
drivers/scsi/scsi_priv.h | 2 +-
drivers/scsi/scsi_error.c | 9 +++++----
drivers/scsi/scsi_lib.c | 4 +++-
3 files changed, 9 insertions(+), 6 deletions(-)
--
2.39.2
1
0

15 Mar '24
From: Tetsuo Handa <penguin-kernel(a)I-love.SAKURA.ne.jp>
stable inclusion
from stable-v5.10.212
commit a23ac1788e2c828c097119e9a3178f0b7e503fee
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I95LPF
CVE: CVE-2024-26622
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 2f03fc340cac9ea1dc63cbf8c93dd2eb0f227815 upstream.
Since tomoyo_write_control() updates head->write_buf when write()
of long lines is requested, we need to fetch head->write_buf after
head->io_sem is held. Otherwise, concurrent write() requests can
cause use-after-free-write and double-free problems.
Reported-by: Sam Sun <samsun1006219(a)gmail.com>
Closes: https://lkml.kernel.org/r/CAEkJfYNDspuGxYx5kym8Lvp--D36CMDUErg4rxfWFJuPbbji…
Fixes: bd03a3e4c9a9 ("TOMOYO: Add policy namespace support.")
Cc: <stable(a)vger.kernel.org> # Linux 3.1+
Signed-off-by: Tetsuo Handa <penguin-kernel(a)I-love.SAKURA.ne.jp>
Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Conflicts:
security/tomoyo/common.c
Signed-off-by: Felix Fu <fuzhen5(a)huawei.com>
---
security/tomoyo/common.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/security/tomoyo/common.c b/security/tomoyo/common.c
index e6970a69c20c..cf3f90ed7838 100644
--- a/security/tomoyo/common.c
+++ b/security/tomoyo/common.c
@@ -2586,7 +2586,7 @@ ssize_t tomoyo_write_control(struct tomoyo_io_buffer *head,
{
int error = buffer_len;
size_t avail_len = buffer_len;
- char *cp0 = head->write_buf;
+ char *cp0;
int idx;
if (!head->write)
return -ENOSYS;
@@ -2594,6 +2594,7 @@ ssize_t tomoyo_write_control(struct tomoyo_io_buffer *head,
return -EFAULT;
if (mutex_lock_interruptible(&head->io_sem))
return -EINTR;
+ cp0 = head->write_buf;
head->read_user_buf_avail = 0;
idx = tomoyo_read_lock();
/* Read a line and dispatch it to the policy handler. */
--
2.34.1
2
1