Kernel
Threads by month
- ----- 2025 -----
- June
- May
- April
- March
- 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
- 46 participants
- 18687 discussions
From: Ma Wupeng <mawupeng1(a)huawei.com>
Enhanced maintenance and test capability for pbha.
Enable ARM64_PBHA by default.
Changelog since v1:
- let {pte,pmd}_pbha return false if pbha is not enabled
Ma Wupeng (7):
proc: introduce proc_hide_ents to hide proc files
arm64: mm: Cleanup in pbha_bit0_pte_range
mm: cpufeature: Make update_pbha_perf_only_bit static
arm64: mm: Do not show info during startup if pbha is not enabled
arm64: mm: Hide pbha_bit0 in procfs if pbha is not enabled
arm64: mm: pagemap: Export pbha bit0 info
config: Enable ARM64_PBHA by default
Documentation/admin-guide/mm/pagemap.rst | 4 +++-
arch/arm64/configs/openeuler_defconfig | 2 +-
arch/arm64/kernel/cpufeature.c | 2 +-
drivers/soc/hisilicon/pbha.c | 11 +++++------
fs/proc/base.c | 25 ++++++++++++++++++++++--
fs/proc/task_mmu.c | 15 ++++++++++++++
include/linux/pbha.h | 24 +++++++++++++++++++++++
7 files changed, 72 insertions(+), 11 deletions(-)
--
2.25.1
2
8

[PATCH openEuler-1.0-LTS] hwrng: core - Fix page fault dead lock on mmap-ed hwrng
by Yi Yang 20 Mar '24
by Yi Yang 20 Mar '24
20 Mar '24
From: Herbert Xu <herbert(a)gondor.apana.org.au>
stable inclusion
from stable-v4.19.307
commit eafd83b92f6c044007a3591cbd476bcf90455990
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I99JR3
CVE: CVE-2023-52615
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 78aafb3884f6bc6636efcc1760c891c8500b9922 upstream.
There is a dead-lock in the hwrng device read path. This triggers
when the user reads from /dev/hwrng into memory also mmap-ed from
/dev/hwrng. The resulting page fault triggers a recursive read
which then dead-locks.
Fix this by using a stack buffer when calling copy_to_user.
Reported-by: Edward Adam Davis <eadavis(a)qq.com>
Reported-by: syzbot+c52ab18308964d248092(a)syzkaller.appspotmail.com
Fixes: 9996508b3353 ("hwrng: core - Replace u32 in driver API with byte array")
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Herbert Xu <herbert(a)gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Yi Yang <yiyang13(a)huawei.com>
---
drivers/char/hw_random/core.c | 34 +++++++++++++++++++++-------------
1 file changed, 21 insertions(+), 13 deletions(-)
diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c
index 0ef7cb0448e8..e33b71659215 100644
--- a/drivers/char/hw_random/core.c
+++ b/drivers/char/hw_random/core.c
@@ -23,10 +23,13 @@
#include <linux/random.h>
#include <linux/sched.h>
#include <linux/slab.h>
+#include <linux/string.h>
#include <linux/uaccess.h>
#define RNG_MODULE_NAME "hw_random"
+#define RNG_BUFFER_SIZE (SMP_CACHE_BYTES < 32 ? 32 : SMP_CACHE_BYTES)
+
static struct hwrng *current_rng;
/* the current rng has been explicitly chosen by user via sysfs */
static int cur_rng_set_by_user;
@@ -58,7 +61,7 @@ static inline int rng_get_data(struct hwrng *rng, u8 *buffer, size_t size,
static size_t rng_buffer_size(void)
{
- return SMP_CACHE_BYTES < 32 ? 32 : SMP_CACHE_BYTES;
+ return RNG_BUFFER_SIZE;
}
static void add_early_randomness(struct hwrng *rng)
@@ -201,6 +204,7 @@ static inline int rng_get_data(struct hwrng *rng, u8 *buffer, size_t size,
static ssize_t rng_dev_read(struct file *filp, char __user *buf,
size_t size, loff_t *offp)
{
+ u8 buffer[RNG_BUFFER_SIZE];
ssize_t ret = 0;
int err = 0;
int bytes_read, len;
@@ -228,34 +232,37 @@ static ssize_t rng_dev_read(struct file *filp, char __user *buf,
if (bytes_read < 0) {
err = bytes_read;
goto out_unlock_reading;
+ } else if (bytes_read == 0 &&
+ (filp->f_flags & O_NONBLOCK)) {
+ err = -EAGAIN;
+ goto out_unlock_reading;
}
+
data_avail = bytes_read;
}
- if (!data_avail) {
- if (filp->f_flags & O_NONBLOCK) {
- err = -EAGAIN;
- goto out_unlock_reading;
- }
- } else {
- len = data_avail;
+ len = data_avail;
+ if (len) {
if (len > size)
len = size;
data_avail -= len;
- if (copy_to_user(buf + ret, rng_buffer + data_avail,
- len)) {
+ memcpy(buffer, rng_buffer + data_avail, len);
+ }
+ mutex_unlock(&reading_mutex);
+ put_rng(rng);
+
+ if (len) {
+ if (copy_to_user(buf + ret, buffer, len)) {
err = -EFAULT;
- goto out_unlock_reading;
+ goto out;
}
size -= len;
ret += len;
}
- mutex_unlock(&reading_mutex);
- put_rng(rng);
if (need_resched())
schedule_timeout_interruptible(1);
@@ -266,6 +273,7 @@ static ssize_t rng_dev_read(struct file *filp, char __user *buf,
}
}
out:
+ memzero_explicit(buffer, sizeof(buffer));
return ret ? : err;
out_unlock_reading:
--
2.25.1
2
1

[openeuler:OLK-6.6] BUILD REGRESSION 119aafedbb74fab084751ff82e016ce59ba3a203
by kernel test robot 20 Mar '24
by kernel test robot 20 Mar '24
20 Mar '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6
branch HEAD: 119aafedbb74fab084751ff82e016ce59ba3a203 !5340 CVE-2023-52593
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-20240319
| `-- 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
|-- arm64-randconfig-004-20240319
| `-- 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
|-- loongarch-randconfig-001-20240319
| `-- 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
|-- x86_64-buildonly-randconfig-001-20240320
| `-- (.text):undefined-reference-to-lockdep_is_cpus_held
`-- x86_64-buildonly-randconfig-005-20240320
`-- 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
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-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
|-- arm64-randconfig-002-20240319
| |-- 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-irqchip-irq-mbigen.c:warning:expecting-prototype-for-Due-to-the-existence-of-hyper().-Prototype-was-for-GICR_LENGTH()-instead
|-- arm64-randconfig-003-20240319
| `-- 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
|-- 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
|-- x86_64-buildonly-randconfig-002-20240320
| `-- 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
|-- x86_64-buildonly-randconfig-003-20240320
| `-- 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
|-- x86_64-buildonly-randconfig-004-20240320
| `-- 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
`-- x86_64-buildonly-randconfig-006-20240320
`-- 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
elapsed time: 724m
configs tested: 40
configs skipped: 142
tested configs:
arm64 allmodconfig clang
arm64 allnoconfig gcc
arm64 defconfig gcc
arm64 randconfig-001-20240319 gcc
arm64 randconfig-002-20240319 clang
arm64 randconfig-003-20240319 clang
arm64 randconfig-004-20240319 gcc
loongarch allmodconfig gcc
loongarch allnoconfig gcc
loongarch defconfig gcc
loongarch randconfig-001-20240319 gcc
loongarch randconfig-002-20240319 gcc
x86_64 allnoconfig clang
x86_64 allyesconfig clang
x86_64 buildonly-randconfig-001-20240320 gcc
x86_64 buildonly-randconfig-002-20240320 clang
x86_64 buildonly-randconfig-003-20240320 clang
x86_64 buildonly-randconfig-004-20240320 clang
x86_64 buildonly-randconfig-005-20240320 gcc
x86_64 buildonly-randconfig-006-20240320 clang
x86_64 defconfig gcc
x86_64 randconfig-001-20240320 clang
x86_64 randconfig-002-20240320 clang
x86_64 randconfig-003-20240320 gcc
x86_64 randconfig-004-20240320 clang
x86_64 randconfig-005-20240320 clang
x86_64 randconfig-006-20240320 clang
x86_64 randconfig-011-20240320 gcc
x86_64 randconfig-012-20240320 gcc
x86_64 randconfig-013-20240320 gcc
x86_64 randconfig-014-20240320 gcc
x86_64 randconfig-015-20240320 clang
x86_64 randconfig-016-20240320 gcc
x86_64 randconfig-071-20240320 clang
x86_64 randconfig-072-20240320 gcc
x86_64 randconfig-073-20240320 clang
x86_64 randconfig-074-20240320 gcc
x86_64 randconfig-075-20240320 gcc
x86_64 randconfig-076-20240320 clang
x86_64 rhel-8.3-rust clang
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[PATCH openEuler-1.0-LTS-o] hwrng: core - Fix page fault dead lock on mmap-ed hwrng
by Yi Yang 20 Mar '24
by Yi Yang 20 Mar '24
20 Mar '24
From: Herbert Xu <herbert(a)gondor.apana.org.au>
stable inclusion
from stable-v4.19.307
commit eafd83b92f6c044007a3591cbd476bcf90455990
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I99JR3
CVE: CVE-2023-52615
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 78aafb3884f6bc6636efcc1760c891c8500b9922 upstream.
There is a dead-lock in the hwrng device read path. This triggers
when the user reads from /dev/hwrng into memory also mmap-ed from
/dev/hwrng. The resulting page fault triggers a recursive read
which then dead-locks.
Fix this by using a stack buffer when calling copy_to_user.
Reported-by: Edward Adam Davis <eadavis(a)qq.com>
Reported-by: syzbot+c52ab18308964d248092(a)syzkaller.appspotmail.com
Fixes: 9996508b3353 ("hwrng: core - Replace u32 in driver API with byte array")
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Herbert Xu <herbert(a)gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Yi Yang <yiyang13(a)huawei.com>
---
drivers/char/hw_random/core.c | 34 +++++++++++++++++++++-------------
1 file changed, 21 insertions(+), 13 deletions(-)
diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c
index 0ef7cb0448e8..e33b71659215 100644
--- a/drivers/char/hw_random/core.c
+++ b/drivers/char/hw_random/core.c
@@ -23,10 +23,13 @@
#include <linux/random.h>
#include <linux/sched.h>
#include <linux/slab.h>
+#include <linux/string.h>
#include <linux/uaccess.h>
#define RNG_MODULE_NAME "hw_random"
+#define RNG_BUFFER_SIZE (SMP_CACHE_BYTES < 32 ? 32 : SMP_CACHE_BYTES)
+
static struct hwrng *current_rng;
/* the current rng has been explicitly chosen by user via sysfs */
static int cur_rng_set_by_user;
@@ -58,7 +61,7 @@ static inline int rng_get_data(struct hwrng *rng, u8 *buffer, size_t size,
static size_t rng_buffer_size(void)
{
- return SMP_CACHE_BYTES < 32 ? 32 : SMP_CACHE_BYTES;
+ return RNG_BUFFER_SIZE;
}
static void add_early_randomness(struct hwrng *rng)
@@ -201,6 +204,7 @@ static inline int rng_get_data(struct hwrng *rng, u8 *buffer, size_t size,
static ssize_t rng_dev_read(struct file *filp, char __user *buf,
size_t size, loff_t *offp)
{
+ u8 buffer[RNG_BUFFER_SIZE];
ssize_t ret = 0;
int err = 0;
int bytes_read, len;
@@ -228,34 +232,37 @@ static ssize_t rng_dev_read(struct file *filp, char __user *buf,
if (bytes_read < 0) {
err = bytes_read;
goto out_unlock_reading;
+ } else if (bytes_read == 0 &&
+ (filp->f_flags & O_NONBLOCK)) {
+ err = -EAGAIN;
+ goto out_unlock_reading;
}
+
data_avail = bytes_read;
}
- if (!data_avail) {
- if (filp->f_flags & O_NONBLOCK) {
- err = -EAGAIN;
- goto out_unlock_reading;
- }
- } else {
- len = data_avail;
+ len = data_avail;
+ if (len) {
if (len > size)
len = size;
data_avail -= len;
- if (copy_to_user(buf + ret, rng_buffer + data_avail,
- len)) {
+ memcpy(buffer, rng_buffer + data_avail, len);
+ }
+ mutex_unlock(&reading_mutex);
+ put_rng(rng);
+
+ if (len) {
+ if (copy_to_user(buf + ret, buffer, len)) {
err = -EFAULT;
- goto out_unlock_reading;
+ goto out;
}
size -= len;
ret += len;
}
- mutex_unlock(&reading_mutex);
- put_rng(rng);
if (need_resched())
schedule_timeout_interruptible(1);
@@ -266,6 +273,7 @@ static ssize_t rng_dev_read(struct file *filp, char __user *buf,
}
}
out:
+ memzero_explicit(buffer, sizeof(buffer));
return ret ? : err;
out_unlock_reading:
--
2.25.1
1
0
From: Ma Wupeng <mawupeng1(a)huawei.com>
Enhanced maintenance and test capability for pbha.
Enable ARM64_PBHA by default.
Ma Wupeng (7):
proc: introduce proc_hide_ents to hide proc files
arm64: mm: Cleanup in pbha_bit0_pte_range
mm: cpufeature: Make update_pbha_perf_only_bit static
arm64: mm: Do not show info during startup if pbha is not enabled
arm64: mm: Hide pbha_bit0 in procfs if pbha is not enabled
arm64: mm: pagemap: Export pbha bit0 info
config: Enable ARM64_PBHA by default
Documentation/admin-guide/mm/pagemap.rst | 4 +++-
arch/arm64/configs/openeuler_defconfig | 2 +-
arch/arm64/kernel/cpufeature.c | 2 +-
drivers/soc/hisilicon/pbha.c | 11 +++++------
fs/proc/base.c | 25 ++++++++++++++++++++++--
fs/proc/task_mmu.c | 15 ++++++++++++++
include/linux/pbha.h | 18 +++++++++++++++++
7 files changed, 66 insertions(+), 11 deletions(-)
--
2.25.1
2
8
From: Herbert Xu <herbert(a)gondor.apana.org.au>
stable inclusion
from stable-v4.19.307
commit eafd83b92f6c044007a3591cbd476bcf90455990
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I99JR3
CVE: CVE-2023-52615
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
commit 78aafb3884f6bc6636efcc1760c891c8500b9922 upstream.
There is a dead-lock in the hwrng device read path. This triggers
when the user reads from /dev/hwrng into memory also mmap-ed from
/dev/hwrng. The resulting page fault triggers a recursive read
which then dead-locks.
Fix this by using a stack buffer when calling copy_to_user.
Reported-by: Edward Adam Davis <eadavis(a)qq.com>
Reported-by: syzbot+c52ab18308964d248092(a)syzkaller.appspotmail.com
Fixes: 9996508b3353 ("hwrng: core - Replace u32 in driver API with byte array")
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Herbert Xu <herbert(a)gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Yi Yang <yiyang13(a)huawei.com>
---
drivers/char/hw_random/core.c | 34 +++++++++++++++++++++-------------
1 file changed, 21 insertions(+), 13 deletions(-)
diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c
index 0ef7cb0448e8..e33b71659215 100644
--- a/drivers/char/hw_random/core.c
+++ b/drivers/char/hw_random/core.c
@@ -23,10 +23,13 @@
#include <linux/random.h>
#include <linux/sched.h>
#include <linux/slab.h>
+#include <linux/string.h>
#include <linux/uaccess.h>
#define RNG_MODULE_NAME "hw_random"
+#define RNG_BUFFER_SIZE (SMP_CACHE_BYTES < 32 ? 32 : SMP_CACHE_BYTES)
+
static struct hwrng *current_rng;
/* the current rng has been explicitly chosen by user via sysfs */
static int cur_rng_set_by_user;
@@ -58,7 +61,7 @@ static inline int rng_get_data(struct hwrng *rng, u8 *buffer, size_t size,
static size_t rng_buffer_size(void)
{
- return SMP_CACHE_BYTES < 32 ? 32 : SMP_CACHE_BYTES;
+ return RNG_BUFFER_SIZE;
}
static void add_early_randomness(struct hwrng *rng)
@@ -201,6 +204,7 @@ static inline int rng_get_data(struct hwrng *rng, u8 *buffer, size_t size,
static ssize_t rng_dev_read(struct file *filp, char __user *buf,
size_t size, loff_t *offp)
{
+ u8 buffer[RNG_BUFFER_SIZE];
ssize_t ret = 0;
int err = 0;
int bytes_read, len;
@@ -228,34 +232,37 @@ static ssize_t rng_dev_read(struct file *filp, char __user *buf,
if (bytes_read < 0) {
err = bytes_read;
goto out_unlock_reading;
+ } else if (bytes_read == 0 &&
+ (filp->f_flags & O_NONBLOCK)) {
+ err = -EAGAIN;
+ goto out_unlock_reading;
}
+
data_avail = bytes_read;
}
- if (!data_avail) {
- if (filp->f_flags & O_NONBLOCK) {
- err = -EAGAIN;
- goto out_unlock_reading;
- }
- } else {
- len = data_avail;
+ len = data_avail;
+ if (len) {
if (len > size)
len = size;
data_avail -= len;
- if (copy_to_user(buf + ret, rng_buffer + data_avail,
- len)) {
+ memcpy(buffer, rng_buffer + data_avail, len);
+ }
+ mutex_unlock(&reading_mutex);
+ put_rng(rng);
+
+ if (len) {
+ if (copy_to_user(buf + ret, buffer, len)) {
err = -EFAULT;
- goto out_unlock_reading;
+ goto out;
}
size -= len;
ret += len;
}
- mutex_unlock(&reading_mutex);
- put_rng(rng);
if (need_resched())
schedule_timeout_interruptible(1);
@@ -266,6 +273,7 @@ static ssize_t rng_dev_read(struct file *filp, char __user *buf,
}
}
out:
+ memzero_explicit(buffer, sizeof(buffer));
return ret ? : err;
out_unlock_reading:
--
2.25.1
1
0

[openeuler:OLK-5.10 28734/30000] drivers/infiniband/hw/xsc/mem.c:21:5: warning: no previous prototype for 'xsc_find_chunk_cont_0'
by kernel test robot 20 Mar '24
by kernel test robot 20 Mar '24
20 Mar '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: efcbd7d2c09d823eef22dff4bce44d8712ca50c4
commit: 23b8024ef459f8b615c223df6175ea17c6b50c48 [28734/30000] drivers: update yunsilicon drivers to version 1.1.0.375
config: x86_64-openeuler_defconfig-OLK-5.10-func (https://download.01.org/0day-ci/archive/20240320/202403200656.0AcS5LRj-lkp@…)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240320/202403200656.0AcS5LRj-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/202403200656.0AcS5LRj-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/infiniband/hw/xsc/mem.c:21:5: warning: no previous prototype for 'xsc_find_chunk_cont_0' [-Wmissing-prototypes]
21 | int xsc_find_chunk_cont_0(struct xsc_pa_chunk *chunk,
| ^~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/hw/xsc/mem.c: In function 'xsc_find_chunk_cont_0':
>> drivers/infiniband/hw/xsc/mem.c:25:9: warning: 'static' is not at beginning of declaration [-Wold-style-declaration]
25 | const static int max_count = sizeof(int) << 3;
| ^~~~~
drivers/infiniband/hw/xsc/mem.c: At top level:
drivers/infiniband/hw/xsc/mem.c:193:6: warning: no previous prototype for '__xsc_ib_cont_pages' [-Wmissing-prototypes]
193 | void __xsc_ib_cont_pages(struct ib_umem *umem, u64 addr,
| ^~~~~~~~~~~~~~~~~~~
drivers/infiniband/hw/xsc/mem.c:259:6: warning: no previous prototype for '__xsc_ib_populate_pas' [-Wmissing-prototypes]
259 | void __xsc_ib_populate_pas(struct xsc_ib_dev *dev, struct ib_umem *umem,
| ^~~~~~~~~~~~~~~~~~~~~
--
drivers/net/ethernet/yunsilicon/xsc/net/main.c:166:5: warning: no previous prototype for 'xsc_rx_alloc_page_cache' [-Wmissing-prototypes]
166 | int xsc_rx_alloc_page_cache(struct xsc_rq *rq, int node, u8 log_init_sz)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:179:6: warning: no previous prototype for 'xsc_rx_free_page_cache' [-Wmissing-prototypes]
179 | void xsc_rx_free_page_cache(struct xsc_rq *rq)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:197:6: warning: no previous prototype for 'xsc_eth_cq_error_event' [-Wmissing-prototypes]
197 | void xsc_eth_cq_error_event(struct xsc_core_cq *xcq, enum xsc_event event)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:211:6: warning: no previous prototype for 'xsc_eth_completion_event' [-Wmissing-prototypes]
211 | void xsc_eth_completion_event(struct xsc_core_cq *xcq)
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:260:5: warning: no previous prototype for 'xsc_eth_create_cq' [-Wmissing-prototypes]
260 | int xsc_eth_create_cq(struct xsc_core_device *xdev, struct xsc_core_cq *xcq,
| ^~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:295:5: warning: no previous prototype for 'xsc_eth_destroy_cq' [-Wmissing-prototypes]
295 | int xsc_eth_destroy_cq(struct xsc_core_device *xdev, struct xsc_cq *cq)
| ^~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:333:6: warning: no previous prototype for 'xsc_eth_free_cq' [-Wmissing-prototypes]
333 | void xsc_eth_free_cq(struct xsc_cq *cq)
| ^~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:338:5: warning: no previous prototype for 'xsc_eth_create_rss_qp_rqs' [-Wmissing-prototypes]
338 | int xsc_eth_create_rss_qp_rqs(struct xsc_core_device *xdev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:359:6: warning: no previous prototype for 'xsc_eth_qp_event' [-Wmissing-prototypes]
359 | void xsc_eth_qp_event(struct xsc_core_qp *qp, int type)
| ^~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:389:5: warning: no previous prototype for 'xsc_eth_create_qp_rq' [-Wmissing-prototypes]
389 | int xsc_eth_create_qp_rq(struct xsc_core_device *xdev, struct xsc_rq *prq,
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:416:5: warning: no previous prototype for 'xsc_eth_destroy_qp_rq' [-Wmissing-prototypes]
416 | int xsc_eth_destroy_qp_rq(struct xsc_core_device *xdev, struct xsc_rq *prq)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:469:5: warning: no previous prototype for 'xsc_eth_create_qp_sq' [-Wmissing-prototypes]
469 | int xsc_eth_create_qp_sq(struct xsc_core_device *xdev, struct xsc_sq *psq,
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:488:5: warning: no previous prototype for 'xsc_eth_modify_qp_sq' [-Wmissing-prototypes]
488 | int xsc_eth_modify_qp_sq(struct xsc_core_device *xdev, struct xsc_modify_raw_qp_mbox_in *in)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:506:5: warning: no previous prototype for 'xsc_eth_destroy_qp_sq' [-Wmissing-prototypes]
506 | int xsc_eth_destroy_qp_sq(struct xsc_core_device *xdev, struct xsc_sq *psq)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:750:5: warning: no previous prototype for 'xsc_eth_set_hw_mtu' [-Wmissing-prototypes]
750 | int xsc_eth_set_hw_mtu(struct xsc_core_device *dev, u16 mtu, u16 rx_buf_sz)
| ^~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:775:5: warning: no previous prototype for 'xsc_eth_get_mac' [-Wmissing-prototypes]
775 | int xsc_eth_get_mac(struct xsc_core_device *dev, char *mac)
| ^~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:806:5: warning: no previous prototype for 'xsc_eth_modify_qps_channel' [-Wmissing-prototypes]
806 | int xsc_eth_modify_qps_channel(struct xsc_adapter *adapter, struct xsc_channel *c)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:828:5: warning: no previous prototype for 'xsc_eth_modify_qps' [-Wmissing-prototypes]
828 | int xsc_eth_modify_qps(struct xsc_adapter *adapter,
| ^~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/yunsilicon/xsc/net/main.c:845:5: warning: no previous prototype for 'xsc_rx_get_linear_frag_sz' [-Wmissing-prototypes]
845 | u32 xsc_rx_get_linear_frag_sz(u32 mtu)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/yunsilicon/xsc/net/main.c:852:6: warning: no previous prototype for 'xsc_rx_is_linear_skb' [-Wmissing-prototypes]
852 | bool xsc_rx_is_linear_skb(u32 mtu)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1316:5: warning: no previous prototype for 'xsc_eth_open_channel' [-Wmissing-prototypes]
1316 | int xsc_eth_open_channel(struct xsc_adapter *adapter,
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1527:5: warning: no previous prototype for 'xsc_eth_open_channels' [-Wmissing-prototypes]
1527 | int xsc_eth_open_channels(struct xsc_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1639:6: warning: no previous prototype for 'xsc_eth_activate_channel' [-Wmissing-prototypes]
1639 | void xsc_eth_activate_channel(struct xsc_channel *c)
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1645:6: warning: no previous prototype for 'xsc_eth_deactivate_channel' [-Wmissing-prototypes]
1645 | void xsc_eth_deactivate_channel(struct xsc_channel *c)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1691:6: warning: no previous prototype for 'xsc_eth_activate_priv_channels' [-Wmissing-prototypes]
1691 | void xsc_eth_activate_priv_channels(struct xsc_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1706:6: warning: no previous prototype for 'xsc_eth_deactivate_priv_channels' [-Wmissing-prototypes]
1706 | void xsc_eth_deactivate_priv_channels(struct xsc_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/yunsilicon/xsc/net/main.c:1849:5: warning: no previous prototype for 'xsc_eth_change_link_status' [-Wmissing-prototypes]
1849 | int xsc_eth_change_link_status(struct xsc_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1906:6: warning: no previous prototype for 'xsc_eth_event_handler' [-Wmissing-prototypes]
1906 | void xsc_eth_event_handler(void *arg)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1914:5: warning: no previous prototype for 'xsc_eth_enable_nic_hca' [-Wmissing-prototypes]
1914 | int xsc_eth_enable_nic_hca(struct xsc_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1976:5: warning: no previous prototype for 'xsc_eth_disable_nic_hca' [-Wmissing-prototypes]
1976 | int xsc_eth_disable_nic_hca(struct xsc_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2009:6: warning: no previous prototype for 'xsc_eth_rss_params_change' [-Wmissing-prototypes]
2009 | void xsc_eth_rss_params_change(struct xsc_adapter *adapter, u32 change, void *modify)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2319:6: warning: no previous prototype for 'xsc_build_default_indir_rqt' [-Wmissing-prototypes]
2319 | void xsc_build_default_indir_rqt(u32 *indirection_rqt, int len,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2417:5: warning: no previous prototype for 'xsc_eth_nic_mtu_changed' [-Wmissing-prototypes]
2417 | int xsc_eth_nic_mtu_changed(struct xsc_adapter *priv)
| ^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2480:5: warning: no previous prototype for 'xsc_set_vf_mac' [-Wmissing-prototypes]
2480 | int xsc_set_vf_mac(struct net_device *netdev, int vf, u8 *mac)
| ^~~~~~~~~~~~~~
>> drivers/net/ethernet/yunsilicon/xsc/net/main.c:2497:5: warning: no previous prototype for 'xsc_get_vf_config' [-Wmissing-prototypes]
2497 | int xsc_get_vf_config(struct net_device *dev,
| ^~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2513:5: warning: no previous prototype for 'set_feature_rxcsum' [-Wmissing-prototypes]
2513 | int set_feature_rxcsum(struct net_device *netdev, bool enable)
| ^~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2565:5: warning: no previous prototype for 'xsc_eth_set_features' [-Wmissing-prototypes]
2565 | int xsc_eth_set_features(struct net_device *netdev, netdev_features_t features)
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/net/ethernet/yunsilicon/xsc/net/main.c:2582:5: warning: no previous prototype for 'xsc_select_queue' [-Wmissing-prototypes]
2582 | u16 xsc_select_queue(struct net_device *dev, struct sk_buff *skb,
| ^~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2771:24: warning: no previous prototype for 'xsc_tirc_get_default_config' [-Wmissing-prototypes]
2771 | struct xsc_tirc_config xsc_tirc_get_default_config(enum xsc_traffic_types tt)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2776:6: warning: no previous prototype for 'xsc_build_rss_params' [-Wmissing-prototypes]
2776 | void xsc_build_rss_params(struct xsc_rss_params *rss_params, u16 num_channels)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2794:6: warning: no previous prototype for 'xsc_eth_build_nic_params' [-Wmissing-prototypes]
2794 | void xsc_eth_build_nic_params(struct xsc_adapter *adapter, u32 ch_num, u32 tc_num)
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2816:6: warning: no previous prototype for 'xsc_eth_build_nic_netdev' [-Wmissing-prototypes]
2816 | void xsc_eth_build_nic_netdev(struct xsc_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2887:5: warning: no previous prototype for 'xsc_eth_create_xdev_resources' [-Wmissing-prototypes]
2887 | int xsc_eth_create_xdev_resources(struct xsc_core_device *xdev)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2908:5: warning: no previous prototype for 'xsc_eth_init_nic_rx' [-Wmissing-prototypes]
2908 | int xsc_eth_init_nic_rx(struct xsc_adapter *adapter)
| ^~~~~~~~~~~~~~~~~~~
--
drivers/net/ethernet/yunsilicon/xsc/net/xsc_dcbnl.c: In function 'xsc_dcbnl_setbuffer':
drivers/net/ethernet/yunsilicon/xsc/net/xsc_dcbnl.c:968:13: warning: variable 'prio2buffer' set but not used [-Wunused-but-set-variable]
968 | u8 *prio2buffer = NULL;
| ^~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/xsc_dcbnl.c:967:14: warning: variable 'buffer_size' set but not used [-Wunused-but-set-variable]
967 | u32 *buffer_size = NULL;
| ^~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/xsc_dcbnl.c: In function 'xsc_dcbnl_ieee_setpfc':
>> drivers/net/ethernet/yunsilicon/xsc/net/xsc_dcbnl.c:350:29: warning: 'curr_pfc_en' is used uninitialized [-Wuninitialized]
350 | curr_pfc_en |= cee_cfg->pfc_setting[i] << i;
| ^~
drivers/net/ethernet/yunsilicon/xsc/net/xsc_dcbnl.c:327:12: note: 'curr_pfc_en' was declared here
327 | u8 curr_pfc_en;
| ^~~~~~~~~~~
--
>> drivers/net/ethernet/yunsilicon/xsc/pci/main.c:136:4: warning: no previous prototype for 'xsc_devid_to_pcie_no' [-Wmissing-prototypes]
136 | u8 xsc_devid_to_pcie_no(int dev_id)
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/pci/main.c:288:5: warning: no previous prototype for 'xsc_priv_init' [-Wmissing-prototypes]
288 | int xsc_priv_init(struct xsc_core_device *dev)
| ^~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/pci/main.c:302:5: warning: no previous prototype for 'xsc_dev_res_init' [-Wmissing-prototypes]
302 | int xsc_dev_res_init(struct xsc_core_device *dev)
| ^~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/pci/main.c:321:6: warning: no previous prototype for 'xsc_dev_res_cleanup' [-Wmissing-prototypes]
321 | void xsc_dev_res_cleanup(struct xsc_core_device *dev)
| ^~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/pci/main.c:327:6: warning: no previous prototype for 'xsc_init_reg_addr' [-Wmissing-prototypes]
327 | void xsc_init_reg_addr(struct xsc_core_device *dev)
| ^~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/pci/main.c:519:5: warning: no previous prototype for 'xsc_reset_function_resource' [-Wmissing-prototypes]
519 | int xsc_reset_function_resource(struct xsc_core_device *dev)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/pci/main.c:719:5: warning: no previous prototype for 'xsc_load_one' [-Wmissing-prototypes]
719 | int xsc_load_one(struct xsc_core_device *dev, bool boot)
| ^~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/pci/main.c:801:5: warning: no previous prototype for 'xsc_unload_one' [-Wmissing-prototypes]
801 | int xsc_unload_one(struct xsc_core_device *dev, bool cleanup)
| ^~~~~~~~~~~~~~
--
>> drivers/net/ethernet/yunsilicon/xsc/pci/xsc_pci_ctrl.c:255:5: warning: no previous prototype for 'noop_pre' [-Wmissing-prototypes]
255 | int noop_pre(struct kprobe *p, struct pt_regs *regs) { return 0; }
| ^~~~~~~~
>> drivers/net/ethernet/yunsilicon/xsc/pci/xsc_pci_ctrl.c:264:5: warning: no previous prototype for 'find_kallsyms_lookup_name' [-Wmissing-prototypes]
264 | int find_kallsyms_lookup_name(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/yunsilicon/xsc/pci/xsc_pci_ctrl.c:310:5: warning: no previous prototype for 'xsc_pci_ctrl_exec_ioctl' [-Wmissing-prototypes]
310 | int xsc_pci_ctrl_exec_ioctl(struct xsc_core_device *xdev, void *in, int in_size, void *out,
| ^~~~~~~~~~~~~~~~~~~~~~~
vim +/xsc_find_chunk_cont_0 +21 drivers/infiniband/hw/xsc/mem.c
20
> 21 int xsc_find_chunk_cont_0(struct xsc_pa_chunk *chunk,
22 int is_first,
23 int is_last)
24 {
> 25 const static int max_count = sizeof(int) << 3;
26 dma_addr_t pa, end_pa;
27 u64 va, end_va;
28 size_t length;
29 int start_count, end_count;
30 int va_start_count, va_end_count;
31
32 pa = chunk->pa;
33 va = chunk->va;
34 length = chunk->length;
35 end_pa = pa + length;
36 end_va = va + length;
37 start_count = max_count;
38 end_count = max_count;
39
40 if (!is_first) {
41 start_count = xsc_count_trailing_zeros((unsigned long)pa);
42 va_start_count = xsc_count_trailing_zeros(va);
43 start_count = min_t(int, start_count, va_start_count);
44 }
45
46 if (!is_last) {
47 end_count = xsc_count_trailing_zeros((unsigned long)end_pa);
48 va_end_count = xsc_count_trailing_zeros(end_va);
49 end_count = min_t(int, end_count, va_end_count);
50 }
51
52 return start_count > end_count ? end_count : start_count;
53 }
54
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:openEuler-1.0-LTS] BUILD SUCCESS 353422df931f2987d3888e844ceea10d6e4d14d6
by kernel test robot 20 Mar '24
by kernel test robot 20 Mar '24
20 Mar '24
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: 353422df931f2987d3888e844ceea10d6e4d14d6 !5309 drm/msm/dpu: Add mutex lock in control vblank irq
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
`-- arm64-randconfig-001-20240319
|-- drivers-dma-pl330.c:warning:dst-may-be-used-uninitialized
`-- drivers-dma-pl330.c:warning:src-may-be-used-uninitialized
clang_recent_errors
`-- x86_64-buildonly-randconfig-002-20240319
`-- drivers-gpu-drm-amd-amdgpu-..-display-dc-dce110-dce110_opp_csc_v.o:warning:objtool:missing-symbol-for-section-.text
elapsed time: 734m
configs tested: 35
configs skipped: 147
The following configs have been built successfully.
More configs may be tested in the coming days.
tested configs:
arm64 allmodconfig gcc
arm64 allnoconfig gcc
arm64 defconfig gcc
arm64 randconfig-001-20240319 gcc
arm64 randconfig-002-20240319 gcc
arm64 randconfig-003-20240319 gcc
arm64 randconfig-004-20240319 gcc
x86_64 allnoconfig clang
x86_64 allyesconfig clang
x86_64 buildonly-randconfig-001-20240319 clang
x86_64 buildonly-randconfig-002-20240319 clang
x86_64 buildonly-randconfig-003-20240319 clang
x86_64 buildonly-randconfig-004-20240319 clang
x86_64 buildonly-randconfig-005-20240319 clang
x86_64 buildonly-randconfig-006-20240319 clang
x86_64 defconfig gcc
x86_64 randconfig-001-20240319 clang
x86_64 randconfig-002-20240319 clang
x86_64 randconfig-003-20240319 clang
x86_64 randconfig-004-20240319 gcc
x86_64 randconfig-005-20240319 gcc
x86_64 randconfig-006-20240319 gcc
x86_64 randconfig-011-20240319 clang
x86_64 randconfig-012-20240319 clang
x86_64 randconfig-013-20240319 gcc
x86_64 randconfig-014-20240319 gcc
x86_64 randconfig-015-20240319 clang
x86_64 randconfig-016-20240319 clang
x86_64 randconfig-071-20240319 gcc
x86_64 randconfig-072-20240319 clang
x86_64 randconfig-073-20240319 gcc
x86_64 randconfig-074-20240319 clang
x86_64 randconfig-075-20240319 clang
x86_64 randconfig-076-20240319 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-5.10] BUILD REGRESSION efcbd7d2c09d823eef22dff4bce44d8712ca50c4
by kernel test robot 19 Mar '24
by kernel test robot 19 Mar '24
19 Mar '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10
branch HEAD: efcbd7d2c09d823eef22dff4bce44d8712ca50c4 !4632 [OLK-5.10] drivers: update yunsilicon drivers to version 1.1.0.375
Error/Warning: (recently discovered and may have been fixed)
mm/share_pool.c:4227:64: error: 'HUGETLB_ALLOC_BUDDY' undeclared (first use in this function)
Error/Warning ids grouped by kconfigs:
gcc_recent_errors
`-- arm64-randconfig-003-20240312
`-- mm-share_pool.c:error:HUGETLB_ALLOC_BUDDY-undeclared-(first-use-in-this-function)
clang_recent_errors
`-- x86_64-allyesconfig
|-- drivers-infiniband-hw-xsc-mem.c:warning:no-previous-prototype-for-function-xsc_find_chunk_cont_0
|-- drivers-infiniband-hw-xsc-mr.c:warning:variable-using_peer_mem-set-but-not-used
|-- drivers-net-ethernet-mucse-rnpm-rnpm_common.c:warning:Excess-function-parameter-eecd-description-in-rnpm_lower_eeprom_clk
|-- drivers-net-ethernet-mucse-rnpm-rnpm_common.c:warning:Excess-function-parameter-hash_value-description-in-rnpm_set_mta
|-- drivers-net-ethernet-mucse-rnpm-rnpm_common.c:warning:Excess-function-parameter-hw-description-in-rnpm_mta_vector
|-- drivers-net-ethernet-mucse-rnpm-rnpm_common.c:warning:Excess-function-parameter-pf-description-in-rnpm_set_vlan_anti_spoofing
|-- drivers-net-ethernet-mucse-rnpm-rnpm_common.c:warning:Function-parameter-or-member-count-not-described-in-rnpm_shift_in_eeprom_bits
|-- drivers-net-ethernet-mucse-rnpm-rnpm_common.c:warning:Function-parameter-or-member-eec-not-described-in-rnpm_lower_eeprom_clk
|-- drivers-net-ethernet-mucse-rnpm-rnpm_common.c:warning:Function-parameter-or-member-mc_addr-not-described-in-rnpm_set_mta
|-- drivers-net-ethernet-mucse-rnpm-rnpm_common.c:warning:Function-parameter-or-member-mode-not-described-in-rnpm_mta_vector
|-- drivers-net-ethernet-mucse-rnpm-rnpm_common.c:warning:Function-parameter-or-member-vf-not-described-in-rnpm_set_vlan_anti_spoofing
|-- drivers-net-ethernet-mucse-rnpm-rnpm_debugfs.c:warning:Excess-function-parameter-pf-description-in-rnpm_dbg_adapter_exit
|-- drivers-net-ethernet-mucse-rnpm-rnpm_debugfs.c:warning:Function-parameter-or-member-adapter-not-described-in-rnpm_dbg_adapter_exit
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Excess-function-parameter-dev-description-in-rnpm_get_priv_flags
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Excess-function-parameter-dev-description-in-rnpm_set_priv_flags
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Excess-function-parameter-ec-description-in-rnpm_get_coalesce
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Excess-function-parameter-ee-description-in-rnpm_get_module_eeprom
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Excess-function-parameter-flags-description-in-rnpm_set_priv_flags
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Excess-function-parameter-kec-description-in-rnpm_get_coalesce
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Excess-function-parameter-kec-description-in-rnpm_set_coalesce
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Excess-function-parameter-netdev-description-in-rnpm_get_module_eeprom
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Excess-function-parameter-netdev-description-in-rnpm_get_module_info
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Excess-function-parameter-netdev-description-in-rnpm_get_rxnfc
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Excess-function-parameter-pf-description-in-rnpm_get_rss_hash_opts
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Function-parameter-or-member-adapter-not-described-in-rnpm_get_rss_hash_opts
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Function-parameter-or-member-coal-not-described-in-rnpm_get_coalesce
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Function-parameter-or-member-dev-not-described-in-rnpm_get_module_eeprom
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Function-parameter-or-member-dev-not-described-in-rnpm_get_module_info
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Function-parameter-or-member-dev-not-described-in-rnpm_get_rxnfc
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Function-parameter-or-member-eeprom-not-described-in-rnpm_get_module_eeprom
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Function-parameter-or-member-kernel_coal-not-described-in-rnpm_get_coalesce
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Function-parameter-or-member-kernel_coal-not-described-in-rnpm_set_coalesce
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Function-parameter-or-member-netdev-not-described-in-rnpm_get_priv_flags
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Function-parameter-or-member-netdev-not-described-in-rnpm_set_priv_flags
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:Function-parameter-or-member-priv_flags-not-described-in-rnpm_set_priv_flags
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:variable-autoneg_changed-set-but-not-used
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:variable-dma_ch-set-but-not-used
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ethtool.c:warning:variable-duplex_changed-set-but-not-used
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:Excess-function-parameter-inner_vlan_tag-description-in-rnpm_tx_ctxtdesc
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:Excess-function-parameter-l4_hdr_len-description-in-rnpm_tx_ctxtdesc
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:Excess-function-parameter-mss_seg_len-description-in-rnpm_tx_ctxtdesc
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:Excess-function-parameter-rxr_count-description-in-rnpm_alloc_q_vector
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:Excess-function-parameter-rxr_idx-description-in-rnpm_alloc_q_vector
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:Excess-function-parameter-tunnel_hdr_len-description-in-rnpm_tx_ctxtdesc
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:Excess-function-parameter-txr_count-description-in-rnpm_alloc_q_vector
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:Excess-function-parameter-txr_idx-description-in-rnpm_alloc_q_vector
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:Excess-function-parameter-v_count-description-in-rnpm_alloc_q_vector
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:Function-parameter-or-member-eth_queue_idx-not-described-in-rnpm_alloc_q_vector
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:Function-parameter-or-member-inner_vlan_tunnel_len-not-described-in-rnpm_tx_ctxtdesc
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:Function-parameter-or-member-mss_len_vf_num-not-described-in-rnpm_tx_ctxtdesc
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:Function-parameter-or-member-r_count-not-described-in-rnpm_alloc_q_vector
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:Function-parameter-or-member-r_idx-not-described-in-rnpm_alloc_q_vector
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:Function-parameter-or-member-step-not-described-in-rnpm_alloc_q_vector
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:no-previous-prototype-for-function-rnpm_setup_layer2_remapping
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:no-previous-prototype-for-function-rnpm_setup_tuple5_remapping
|-- drivers-net-ethernet-mucse-rnpm-rnpm_lib.c:warning:no-previous-prototype-for-function-rnpm_setup_tuple5_remapping_tcam
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Excess-function-parameter-data-description-in-rnpm_pf_service_timer
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Excess-function-parameter-data-description-in-rnpm_service_timer
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Excess-function-parameter-ent-description-in-rnpm_probe
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Excess-function-parameter-hw-description-in-rnpm_wol_supported
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Excess-function-parameter-link_speed-description-in-rnpm_watchdog_update_link
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Excess-function-parameter-maxrate-description-in-rnpm_tx_maxrate_own
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Excess-function-parameter-msix_vector-description-in-rnpm_set_ring_vector
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Excess-function-parameter-netdev-description-in-rnpm_setup_tc
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Excess-function-parameter-netdev-description-in-rnpm_tx_maxrate_own
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Excess-function-parameter-pb-description-in-rnpm_lpbthresh
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Excess-function-parameter-queue-description-in-rnpm_set_ring_vector
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Excess-function-parameter-skb-description-in-rnpm_is_non_eop
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Excess-function-parameter-subdev_id-description-in-rnpm_wol_supported
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Function-parameter-or-member-adapter-not-described-in-rnpm_rx_ring_reinit
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Function-parameter-or-member-adapter-not-described-in-rnpm_setup_rx_resources
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Function-parameter-or-member-adapter-not-described-in-rnpm_setup_tx_resources
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Function-parameter-or-member-adapter-not-described-in-rnpm_tx_maxrate_own
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Function-parameter-or-member-adapter-not-described-in-rnpm_wol_supported
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Function-parameter-or-member-dev-not-described-in-rnpm_setup_tc
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Function-parameter-or-member-id-not-described-in-rnpm_probe
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Function-parameter-or-member-is_rxframe-not-described-in-rnpm_write_eitr
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Function-parameter-or-member-napi_budget-not-described-in-rnpm_clean_tx_irq
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Function-parameter-or-member-rnpm_msix_vector-not-described-in-rnpm_set_ring_vector
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Function-parameter-or-member-rnpm_queue-not-described-in-rnpm_set_ring_vector
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Function-parameter-or-member-subdevice_id-not-described-in-rnpm_wol_supported
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Function-parameter-or-member-t-not-described-in-rnpm_pf_service_timer
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Function-parameter-or-member-t-not-described-in-rnpm_service_timer
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:Function-parameter-or-member-txqueue-not-described-in-rnpm_tx_timeout
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-clean_all_port_resetting
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-control_mac_rx
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-rnpm_assign_netdev_ops
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-rnpm_can_rpu_start
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-rnpm_check_mc_addr
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-rnpm_clear_udp_tunnel_port
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-rnpm_fix_queue_number
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-rnpm_pf_service_event_schedule
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-rnpm_pf_service_task
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-rnpm_pf_service_timer
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-rnpm_rx_ring_reinit
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-rnpm_service_timer
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-rnpm_vlan_stags_flag
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-rnpm_write_eitr
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-rnpm_xmit_nop_frame_ring
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-rnpm_xmit_nop_frame_ring_temp
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-update_pf_vlan
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:no-previous-prototype-for-function-wait_all_port_resetting
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:variable-hw-set-but-not-used
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:variable-packets-is-used-uninitialized-whenever-if-condition-is-false
|-- drivers-net-ethernet-mucse-rnpm-rnpm_main.c:warning:variable-xdp_xmit-set-but-not-used
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx.c:warning:Excess-function-parameter-vf_number-description-in-rnpm_check_for_ack_pf
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx.c:warning:Excess-function-parameter-vf_number-description-in-rnpm_check_for_msg_pf
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx.c:warning:Excess-function-parameter-vf_number-description-in-rnpm_read_mbx_pf
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx.c:warning:Function-parameter-or-member-mbx_id-not-described-in-rnpm_check_for_ack_pf
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx.c:warning:Function-parameter-or-member-mbx_id-not-described-in-rnpm_check_for_msg_pf
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx.c:warning:Function-parameter-or-member-mbx_id-not-described-in-rnpm_read_mbx_pf
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx_fw.c:warning:no-previous-prototype-for-function-mbx_cookie_zalloc
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx_fw.c:warning:no-previous-prototype-for-function-rnpm_fw_get_capablity
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx_fw.c:warning:no-previous-prototype-for-function-rnpm_fw_reg_read
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx_fw.c:warning:no-previous-prototype-for-function-rnpm_fw_send_cmd_wait
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx_fw.c:warning:no-previous-prototype-for-function-rnpm_get_port_stats2
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx_fw.c:warning:no-previous-prototype-for-function-rnpm_link_stat_mark_disable
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx_fw.c:warning:no-previous-prototype-for-function-rnpm_mbx_fw_post_req
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx_fw.c:warning:no-previous-prototype-for-function-rnpm_mbx_lldp_all_ports_enable
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx_fw.c:warning:no-previous-prototype-for-function-rnpm_mbx_pluginout_evt_en
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx_fw.c:warning:no-previous-prototype-for-function-rnpm_mbx_write_posted_locked
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx_fw.c:warning:variable-err-is-uninitialized-when-used-here
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx_fw.c:warning:variable-err-set-but-not-used
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx_fw.c:warning:variable-hw-set-but-not-used
|-- drivers-net-ethernet-mucse-rnpm-rnpm_mbx_fw.c:warning:variable-value-set-but-not-used
|-- drivers-net-ethernet-mucse-rnpm-rnpm_n10.c:warning:Excess-function-parameter-atr_input-description-in-rnpm_atr_compute_perfect_hash_n10
|-- drivers-net-ethernet-mucse-rnpm-rnpm_n10.c:warning:Excess-function-parameter-stream-description-in-rnpm_atr_compute_sig_hash_n10
|-- drivers-net-ethernet-mucse-rnpm-rnpm_n10.c:warning:Function-parameter-or-member-common-not-described-in-rnpm_atr_compute_sig_hash_n10
|-- drivers-net-ethernet-mucse-rnpm-rnpm_n10.c:warning:Function-parameter-or-member-input-not-described-in-rnpm_atr_compute_perfect_hash_n10
|-- drivers-net-ethernet-mucse-rnpm-rnpm_n10.c:warning:Function-parameter-or-member-input-not-described-in-rnpm_atr_compute_sig_hash_n10
|-- drivers-net-ethernet-mucse-rnpm-rnpm_n10.c:warning:no-previous-prototype-for-function-rnpm_reset_pipeline_n10
|-- drivers-net-ethernet-mucse-rnpm-rnpm_n10.c:warning:variable-status-set-but-not-used
|-- drivers-net-ethernet-mucse-rnpm-rnpm_phy.c:warning:Excess-function-parameter-eeprom_data-description-in-rnpm_read_i2c_sff8472_generic
|-- drivers-net-ethernet-mucse-rnpm-rnpm_phy.c:warning:Excess-function-parameter-hw-description-in-rnpm_get_i2c_data
|-- drivers-net-ethernet-mucse-rnpm-rnpm_phy.c:warning:Excess-function-parameter-hw-description-in-rnpm_get_phy_type_from_id
|-- drivers-net-ethernet-mucse-rnpm-rnpm_phy.c:warning:Function-parameter-or-member-autoneg_wait_to_complete-not-described-in-rnpm_setup_phy_link_speed_generic
|-- drivers-net-ethernet-mucse-rnpm-rnpm_phy.c:warning:Function-parameter-or-member-dev_addr-not-described-in-rnpm_read_i2c_byte_generic
|-- drivers-net-ethernet-mucse-rnpm-rnpm_phy.c:warning:Function-parameter-or-member-dev_addr-not-described-in-rnpm_write_i2c_byte_generic
|-- drivers-net-ethernet-mucse-rnpm-rnpm_phy.c:warning:Function-parameter-or-member-device_type-not-described-in-rnpm_read_phy_reg_generic
|-- drivers-net-ethernet-mucse-rnpm-rnpm_phy.c:warning:Function-parameter-or-member-link_up-not-described-in-rnpm_check_phy_link_tnx
|-- drivers-net-ethernet-mucse-rnpm-rnpm_phy.c:warning:Function-parameter-or-member-phy_id-not-described-in-rnpm_get_phy_type_from_id
|-- drivers-net-ethernet-mucse-rnpm-rnpm_phy.c:warning:Function-parameter-or-member-sff8472_data-not-described-in-rnpm_read_i2c_sff8472_generic
|-- drivers-net-ethernet-mucse-rnpm-rnpm_phy.c:warning:Function-parameter-or-member-speed-not-described-in-rnpm_check_phy_link_tnx
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ptp.c:warning:no-previous-prototype-for-function-rnpm_ptp_setup_ptp
|-- drivers-net-ethernet-mucse-rnpm-rnpm_ptp.c:warning:variable-target-set-but-not-used
|-- drivers-net-ethernet-mucse-rnpm-rnpm_sysfs.c:warning:no-previous-prototype-for-function-rnpm_mbx_get_pn_sn
|-- drivers-net-ethernet-yunsilicon-xsc-common-xsc_core.h:warning:bitwise-or-with-non-zero-value-always-evaluates-to-true
|-- drivers-net-ethernet-yunsilicon-xsc-net-main.c:warning:no-previous-prototype-for-function-xsc_eth_change_link_status
|-- drivers-net-ethernet-yunsilicon-xsc-net-main.c:warning:no-previous-prototype-for-function-xsc_get_vf_config
|-- drivers-net-ethernet-yunsilicon-xsc-net-main.c:warning:no-previous-prototype-for-function-xsc_rx_get_linear_frag_sz
|-- drivers-net-ethernet-yunsilicon-xsc-net-main.c:warning:no-previous-prototype-for-function-xsc_rx_is_linear_skb
|-- drivers-net-ethernet-yunsilicon-xsc-net-main.c:warning:no-previous-prototype-for-function-xsc_select_queue
|-- drivers-net-ethernet-yunsilicon-xsc-net-main.c:warning:variable-txq_ix-is-uninitialized-when-used-here
|-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_dcbnl.c:warning:variable-buffer_size-set-but-not-used
|-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_dcbnl.c:warning:variable-curr_pfc_en-is-uninitialized-when-used-here
|-- drivers-net-ethernet-yunsilicon-xsc-net-xsc_dcbnl.c:warning:variable-prio2buffer-set-but-not-used
|-- drivers-net-ethernet-yunsilicon-xsc-pci-main.c:warning:no-previous-prototype-for-function-xsc_devid_to_pcie_no
|-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_pci_ctrl.c:warning:no-previous-prototype-for-function-find_kallsyms_lookup_name
|-- drivers-net-ethernet-yunsilicon-xsc-pci-xsc_pci_ctrl.c:warning:no-previous-prototype-for-function-noop_pre
|-- drivers-net-ethernet-yusur-k2-..-platform-ys_intr.c:warning:overlapping-comparisons-always-evaluate-to-false
|-- drivers-net-ethernet-yusur-k2-ys_k2_tx.c:warning:variable-clean_tail_ptr-set-but-not-used
|-- 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
elapsed time: 734m
configs tested: 31
configs skipped: 148
tested configs:
arm64 allmodconfig clang
arm64 allnoconfig gcc
arm64 defconfig gcc
arm64 randconfig-001-20240319 gcc
arm64 randconfig-002-20240319 clang
arm64 randconfig-003-20240319 clang
arm64 randconfig-004-20240319 gcc
x86_64 allnoconfig clang
x86_64 allyesconfig clang
x86_64 buildonly-randconfig-001-20240319 clang
x86_64 buildonly-randconfig-002-20240319 clang
x86_64 buildonly-randconfig-003-20240319 clang
x86_64 buildonly-randconfig-004-20240319 clang
x86_64 buildonly-randconfig-005-20240319 clang
x86_64 buildonly-randconfig-006-20240319 clang
x86_64 defconfig gcc
x86_64 randconfig-001-20240319 clang
x86_64 randconfig-002-20240319 clang
x86_64 randconfig-003-20240319 clang
x86_64 randconfig-004-20240319 gcc
x86_64 randconfig-005-20240319 gcc
x86_64 randconfig-006-20240319 gcc
x86_64 randconfig-011-20240319 clang
x86_64 randconfig-012-20240319 clang
x86_64 randconfig-013-20240319 gcc
x86_64 randconfig-014-20240319 gcc
x86_64 randconfig-015-20240319 clang
x86_64 randconfig-016-20240319 clang
x86_64 randconfig-071-20240319 gcc
x86_64 randconfig-072-20240319 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-5.10 28734/30000] drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h:1752:32: warning: bitwise or with non-zero value always evaluates to true
by kernel test robot 19 Mar '24
by kernel test robot 19 Mar '24
19 Mar '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10
head: efcbd7d2c09d823eef22dff4bce44d8712ca50c4
commit: 23b8024ef459f8b615c223df6175ea17c6b50c48 [28734/30000] drivers: update yunsilicon drivers to version 1.1.0.375
config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20240319/202403192226.xeD34VaP-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/20240319/202403192226.xeD34VaP-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/202403192226.xeD34VaP-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/infiniband/hw/xsc/main.c:15:
>> drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h:1752:32: warning: bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]
1752 | if (dev->caps.hw_feature_flag | XSC_HW_RDMA_SUPPORT)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/hw/xsc/main.c:41:6: warning: no previous prototype for function 'xsc_get_sys_image_guid' [-Wmissing-prototypes]
41 | void xsc_get_sys_image_guid(u8 *dev_addr, u8 *guid)
| ^
drivers/infiniband/hw/xsc/main.c:41:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
41 | void xsc_get_sys_image_guid(u8 *dev_addr, u8 *guid)
| ^
| static
drivers/infiniband/hw/xsc/main.c:68:6: warning: variable 'max_sq_sg' set but not used [-Wunused-but-set-variable]
68 | int max_sq_sg;
| ^
drivers/infiniband/hw/xsc/main.c:307:5: warning: no previous prototype for function 'xsc_ib_add_gid' [-Wmissing-prototypes]
307 | int xsc_ib_add_gid(const struct ib_gid_attr *attr, void **context)
| ^
drivers/infiniband/hw/xsc/main.c:307:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
307 | int xsc_ib_add_gid(const struct ib_gid_attr *attr, void **context)
| ^
| static
drivers/infiniband/hw/xsc/main.c:573:6: warning: no previous prototype for function 'xsc_get_guid' [-Wmissing-prototypes]
573 | void xsc_get_guid(u8 *dev_addr, u8 *guid)
| ^
drivers/infiniband/hw/xsc/main.c:573:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
573 | void xsc_get_guid(u8 *dev_addr, u8 *guid)
| ^
| static
drivers/infiniband/hw/xsc/main.c:602:6: warning: no previous prototype for function 'xsc_core_event' [-Wmissing-prototypes]
602 | void xsc_core_event(struct xsc_core_device *xdev, enum xsc_dev_event event,
| ^
drivers/infiniband/hw/xsc/main.c:602:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
602 | void xsc_core_event(struct xsc_core_device *xdev, enum xsc_dev_event event,
| ^
| static
drivers/infiniband/hw/xsc/main.c:773:30: warning: implicit conversion from enumeration type 'enum xsc_rdma_driver_id' to different enumeration type 'enum rdma_driver_id' [-Wenum-conversion]
773 | dev->ib_dev.ops.driver_id = RDMA_DRIVER_XSC5;
| ~ ^~~~~~~~~~~~~~~~
7 warnings generated.
--
In file included from drivers/infiniband/hw/xsc/xsc_rdma_ctrl.c:11:
>> drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h:1752:32: warning: bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]
1752 | if (dev->caps.hw_feature_flag | XSC_HW_RDMA_SUPPORT)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/hw/xsc/xsc_rdma_ctrl.c:408:5: warning: no previous prototype for function '_rdma_ctrl_exec_ioctl' [-Wmissing-prototypes]
408 | int _rdma_ctrl_exec_ioctl(struct xsc_core_device *xdev, void *in, int in_size, void *out,
| ^
drivers/infiniband/hw/xsc/xsc_rdma_ctrl.c:408:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
408 | int _rdma_ctrl_exec_ioctl(struct xsc_core_device *xdev, void *in, int in_size, void *out,
| ^
| static
drivers/infiniband/hw/xsc/xsc_rdma_ctrl.c:672:6: warning: no previous prototype for function 'xsc_rdma_ctrl_fini' [-Wmissing-prototypes]
672 | void xsc_rdma_ctrl_fini(void)
| ^
drivers/infiniband/hw/xsc/xsc_rdma_ctrl.c:672:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
672 | void xsc_rdma_ctrl_fini(void)
| ^
| static
drivers/infiniband/hw/xsc/xsc_rdma_ctrl.c:677:5: warning: no previous prototype for function 'xsc_rdma_ctrl_init' [-Wmissing-prototypes]
677 | int xsc_rdma_ctrl_init(void)
| ^
drivers/infiniband/hw/xsc/xsc_rdma_ctrl.c:677:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
677 | int xsc_rdma_ctrl_init(void)
| ^
| static
4 warnings generated.
--
In file included from drivers/infiniband/hw/xsc/cq.c:9:
In file included from drivers/infiniband/hw/xsc/xsc_ib.h:15:
>> drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h:1752:32: warning: bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]
1752 | if (dev->caps.hw_feature_flag | XSC_HW_RDMA_SUPPORT)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/hw/xsc/cq.c:361:5: warning: no previous prototype for function 'xsc_cqe_is_empty' [-Wmissing-prototypes]
361 | int xsc_cqe_is_empty(struct xsc_ib_cq *cq)
| ^
drivers/infiniband/hw/xsc/cq.c:361:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
361 | int xsc_cqe_is_empty(struct xsc_ib_cq *cq)
| ^
| static
2 warnings generated.
--
In file included from drivers/infiniband/hw/xsc/qp.c:9:
In file included from drivers/infiniband/hw/xsc/xsc_ib.h:15:
>> drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h:1752:32: warning: bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]
1752 | if (dev->caps.hw_feature_flag | XSC_HW_RDMA_SUPPORT)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/hw/xsc/qp.c:264:26: warning: variable 'context' set but not used [-Wunused-but-set-variable]
264 | struct xsc_ib_ucontext *context;
| ^
drivers/infiniband/hw/xsc/qp.c:346:26: warning: variable 'context' set but not used [-Wunused-but-set-variable]
346 | struct xsc_ib_ucontext *context;
| ^
drivers/infiniband/hw/xsc/qp.c:1208:5: warning: no previous prototype for function 'xsc_icrc_hdr' [-Wmissing-prototypes]
1208 | u32 xsc_icrc_hdr(struct xsc_ib_dev *dev, void *pkt, u32 size, u32 *icrc)
| ^
drivers/infiniband/hw/xsc/qp.c:1208:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1208 | u32 xsc_icrc_hdr(struct xsc_ib_dev *dev, void *pkt, u32 size, u32 *icrc)
| ^
| static
drivers/infiniband/hw/xsc/qp.c:1298:5: warning: no previous prototype for function 'build_qp1_send_v2' [-Wmissing-prototypes]
1298 | int build_qp1_send_v2(struct xsc_ib_dev *dev,
| ^
drivers/infiniband/hw/xsc/qp.c:1298:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1298 | int build_qp1_send_v2(struct xsc_ib_dev *dev,
| ^
| static
drivers/infiniband/hw/xsc/qp.c:1786:33: warning: unused function 'to_ib_mig_state' [-Wunused-function]
1786 | static inline enum ib_mig_state to_ib_mig_state(int xsc_mig_state)
| ^~~~~~~~~~~~~~~
6 warnings generated.
--
In file included from drivers/infiniband/hw/xsc/mem.c:9:
In file included from drivers/infiniband/hw/xsc/xsc_ib.h:15:
>> drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h:1752:32: warning: bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]
1752 | if (dev->caps.hw_feature_flag | XSC_HW_RDMA_SUPPORT)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
>> drivers/infiniband/hw/xsc/mem.c:21:5: warning: no previous prototype for function 'xsc_find_chunk_cont_0' [-Wmissing-prototypes]
21 | int xsc_find_chunk_cont_0(struct xsc_pa_chunk *chunk,
| ^
drivers/infiniband/hw/xsc/mem.c:21:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
21 | int xsc_find_chunk_cont_0(struct xsc_pa_chunk *chunk,
| ^
| static
drivers/infiniband/hw/xsc/mem.c:193:6: warning: no previous prototype for function '__xsc_ib_cont_pages' [-Wmissing-prototypes]
193 | void __xsc_ib_cont_pages(struct ib_umem *umem, u64 addr,
| ^
drivers/infiniband/hw/xsc/mem.c:193:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
193 | void __xsc_ib_cont_pages(struct ib_umem *umem, u64 addr,
| ^
| static
drivers/infiniband/hw/xsc/mem.c:259:6: warning: no previous prototype for function '__xsc_ib_populate_pas' [-Wmissing-prototypes]
259 | void __xsc_ib_populate_pas(struct xsc_ib_dev *dev, struct ib_umem *umem,
| ^
drivers/infiniband/hw/xsc/mem.c:259:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
259 | void __xsc_ib_populate_pas(struct xsc_ib_dev *dev, struct ib_umem *umem,
| ^
| static
4 warnings generated.
--
In file included from drivers/infiniband/hw/xsc/mr.c:15:
In file included from drivers/infiniband/hw/xsc/xsc_ib.h:15:
>> drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h:1752:32: warning: bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]
1752 | if (dev->caps.hw_feature_flag | XSC_HW_RDMA_SUPPORT)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/hw/xsc/mr.c:75:6: warning: no previous prototype for function 'xsc_fill_pas' [-Wmissing-prototypes]
75 | void xsc_fill_pas(int npages, u64 *pas, __be64 *req_pas)
| ^
drivers/infiniband/hw/xsc/mr.c:75:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
75 | void xsc_fill_pas(int npages, u64 *pas, __be64 *req_pas)
| ^
| static
>> drivers/infiniband/hw/xsc/mr.c:160:6: warning: variable 'using_peer_mem' set but not used [-Wunused-but-set-variable]
160 | int using_peer_mem = 0;
| ^
3 warnings generated.
--
In file included from drivers/infiniband/hw/xsc/ah.c:12:
In file included from drivers/infiniband/hw/xsc/xsc_ib.h:15:
>> drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h:1752:32: warning: bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]
1752 | if (dev->caps.hw_feature_flag | XSC_HW_RDMA_SUPPORT)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
1 warning generated.
--
In file included from drivers/infiniband/hw/xsc/devx.c:11:
In file included from drivers/net/ethernet/yunsilicon/xsc/common/driver.h:18:
>> drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h:1752:32: warning: bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]
1752 | if (dev->caps.hw_feature_flag | XSC_HW_RDMA_SUPPORT)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/hw/xsc/devx.c:75:1: warning: unused variable 'xsc_ib_object_XSC_IB_OBJECT_DEVX' [-Wunused-const-variable]
75 | DECLARE_UVERBS_GLOBAL_METHODS(XSC_IB_OBJECT_DEVX,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76 | &UVERBS_METHOD(XSC_IB_METHOD_DEVX_OTHER));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/rdma/uverbs_named_ioctl.h:67:40: note: expanded from macro 'DECLARE_UVERBS_GLOBAL_METHODS'
67 | static const struct uverbs_object_def UVERBS_OBJECT(_object_id) = { \
| ^~~~~~~~~~~~~~~~~~~~~~~~~
include/rdma/uverbs_named_ioctl.h:19:27: note: expanded from macro 'UVERBS_OBJECT'
19 | #define UVERBS_OBJECT(id) _UVERBS_NAME(UVERBS_MODULE_NAME, _object_##id)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/rdma/uverbs_named_ioctl.h:16:28: note: expanded from macro '_UVERBS_NAME'
16 | #define _UVERBS_NAME(x, y) _UVERBS_PASTE(x, y)
| ^~~~~~~~~~~~~~~~~~~
include/rdma/uverbs_named_ioctl.h:15:29: note: expanded from macro '_UVERBS_PASTE'
15 | #define _UVERBS_PASTE(x, y) x ## y
| ^~~~~~
<scratch space>:118:1: note: expanded from here
118 | xsc_ib_object_XSC_IB_OBJECT_DEVX
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 warnings generated.
--
In file included from drivers/infiniband/hw/xsc/private_dev.c:11:
>> drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h:1752:32: warning: bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]
1752 | if (dev->caps.hw_feature_flag | XSC_HW_RDMA_SUPPORT)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
drivers/infiniband/hw/xsc/private_dev.c:429:5: warning: no previous prototype for function 'xsc_priv_dev_exec_ioctl' [-Wmissing-prototypes]
429 | int xsc_priv_dev_exec_ioctl(struct xsc_core_device *xdev, void *in, int in_size, void *out,
| ^
drivers/infiniband/hw/xsc/private_dev.c:429:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
429 | int xsc_priv_dev_exec_ioctl(struct xsc_core_device *xdev, void *in, int in_size, void *out,
| ^
| static
2 warnings generated.
--
In file included from drivers/net/ethernet/yunsilicon/xsc/net/main.c:21:
>> drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h:1752:32: warning: bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]
1752 | if (dev->caps.hw_feature_flag | XSC_HW_RDMA_SUPPORT)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from drivers/net/ethernet/yunsilicon/xsc/net/main.c:29:
In file included from drivers/net/ethernet/yunsilicon/xsc/net/xsc_eth_txrx.h:11:
drivers/net/ethernet/yunsilicon/xsc/net/xsc_eth_debug.h:68:7: warning: variable 'pos' set but not used [-Wunused-but-set-variable]
68 | int pos;
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:166:5: warning: no previous prototype for function 'xsc_rx_alloc_page_cache' [-Wmissing-prototypes]
166 | int xsc_rx_alloc_page_cache(struct xsc_rq *rq, int node, u8 log_init_sz)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:166:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
166 | int xsc_rx_alloc_page_cache(struct xsc_rq *rq, int node, u8 log_init_sz)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:179:6: warning: no previous prototype for function 'xsc_rx_free_page_cache' [-Wmissing-prototypes]
179 | void xsc_rx_free_page_cache(struct xsc_rq *rq)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:179:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
179 | void xsc_rx_free_page_cache(struct xsc_rq *rq)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:197:6: warning: no previous prototype for function 'xsc_eth_cq_error_event' [-Wmissing-prototypes]
197 | void xsc_eth_cq_error_event(struct xsc_core_cq *xcq, enum xsc_event event)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:197:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
197 | void xsc_eth_cq_error_event(struct xsc_core_cq *xcq, enum xsc_event event)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:211:6: warning: no previous prototype for function 'xsc_eth_completion_event' [-Wmissing-prototypes]
211 | void xsc_eth_completion_event(struct xsc_core_cq *xcq)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:211:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
211 | void xsc_eth_completion_event(struct xsc_core_cq *xcq)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:260:5: warning: no previous prototype for function 'xsc_eth_create_cq' [-Wmissing-prototypes]
260 | int xsc_eth_create_cq(struct xsc_core_device *xdev, struct xsc_core_cq *xcq,
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:260:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
260 | int xsc_eth_create_cq(struct xsc_core_device *xdev, struct xsc_core_cq *xcq,
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:295:5: warning: no previous prototype for function 'xsc_eth_destroy_cq' [-Wmissing-prototypes]
295 | int xsc_eth_destroy_cq(struct xsc_core_device *xdev, struct xsc_cq *cq)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:295:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
295 | int xsc_eth_destroy_cq(struct xsc_core_device *xdev, struct xsc_cq *cq)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:333:6: warning: no previous prototype for function 'xsc_eth_free_cq' [-Wmissing-prototypes]
333 | void xsc_eth_free_cq(struct xsc_cq *cq)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:333:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
333 | void xsc_eth_free_cq(struct xsc_cq *cq)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:338:5: warning: no previous prototype for function 'xsc_eth_create_rss_qp_rqs' [-Wmissing-prototypes]
338 | int xsc_eth_create_rss_qp_rqs(struct xsc_core_device *xdev,
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:338:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
338 | int xsc_eth_create_rss_qp_rqs(struct xsc_core_device *xdev,
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:359:6: warning: no previous prototype for function 'xsc_eth_qp_event' [-Wmissing-prototypes]
359 | void xsc_eth_qp_event(struct xsc_core_qp *qp, int type)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:359:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
359 | void xsc_eth_qp_event(struct xsc_core_qp *qp, int type)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:389:5: warning: no previous prototype for function 'xsc_eth_create_qp_rq' [-Wmissing-prototypes]
389 | int xsc_eth_create_qp_rq(struct xsc_core_device *xdev, struct xsc_rq *prq,
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:389:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
389 | int xsc_eth_create_qp_rq(struct xsc_core_device *xdev, struct xsc_rq *prq,
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:416:5: warning: no previous prototype for function 'xsc_eth_destroy_qp_rq' [-Wmissing-prototypes]
416 | int xsc_eth_destroy_qp_rq(struct xsc_core_device *xdev, struct xsc_rq *prq)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:416:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
416 | int xsc_eth_destroy_qp_rq(struct xsc_core_device *xdev, struct xsc_rq *prq)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:469:5: warning: no previous prototype for function 'xsc_eth_create_qp_sq' [-Wmissing-prototypes]
469 | int xsc_eth_create_qp_sq(struct xsc_core_device *xdev, struct xsc_sq *psq,
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:469:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
469 | int xsc_eth_create_qp_sq(struct xsc_core_device *xdev, struct xsc_sq *psq,
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:488:5: warning: no previous prototype for function 'xsc_eth_modify_qp_sq' [-Wmissing-prototypes]
488 | int xsc_eth_modify_qp_sq(struct xsc_core_device *xdev, struct xsc_modify_raw_qp_mbox_in *in)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:488:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
488 | int xsc_eth_modify_qp_sq(struct xsc_core_device *xdev, struct xsc_modify_raw_qp_mbox_in *in)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:506:5: warning: no previous prototype for function 'xsc_eth_destroy_qp_sq' [-Wmissing-prototypes]
506 | int xsc_eth_destroy_qp_sq(struct xsc_core_device *xdev, struct xsc_sq *psq)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:506:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
506 | int xsc_eth_destroy_qp_sq(struct xsc_core_device *xdev, struct xsc_sq *psq)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:750:5: warning: no previous prototype for function 'xsc_eth_set_hw_mtu' [-Wmissing-prototypes]
750 | int xsc_eth_set_hw_mtu(struct xsc_core_device *dev, u16 mtu, u16 rx_buf_sz)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:750:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
750 | int xsc_eth_set_hw_mtu(struct xsc_core_device *dev, u16 mtu, u16 rx_buf_sz)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:775:5: warning: no previous prototype for function 'xsc_eth_get_mac' [-Wmissing-prototypes]
775 | int xsc_eth_get_mac(struct xsc_core_device *dev, char *mac)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:775:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
775 | int xsc_eth_get_mac(struct xsc_core_device *dev, char *mac)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:806:5: warning: no previous prototype for function 'xsc_eth_modify_qps_channel' [-Wmissing-prototypes]
806 | int xsc_eth_modify_qps_channel(struct xsc_adapter *adapter, struct xsc_channel *c)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:806:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
806 | int xsc_eth_modify_qps_channel(struct xsc_adapter *adapter, struct xsc_channel *c)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:828:5: warning: no previous prototype for function 'xsc_eth_modify_qps' [-Wmissing-prototypes]
828 | int xsc_eth_modify_qps(struct xsc_adapter *adapter,
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:828:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
828 | int xsc_eth_modify_qps(struct xsc_adapter *adapter,
| ^
| static
>> drivers/net/ethernet/yunsilicon/xsc/net/main.c:845:5: warning: no previous prototype for function 'xsc_rx_get_linear_frag_sz' [-Wmissing-prototypes]
845 | u32 xsc_rx_get_linear_frag_sz(u32 mtu)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:845:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
845 | u32 xsc_rx_get_linear_frag_sz(u32 mtu)
| ^
| static
>> drivers/net/ethernet/yunsilicon/xsc/net/main.c:852:6: warning: no previous prototype for function 'xsc_rx_is_linear_skb' [-Wmissing-prototypes]
852 | bool xsc_rx_is_linear_skb(u32 mtu)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:852:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
852 | bool xsc_rx_is_linear_skb(u32 mtu)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1316:5: warning: no previous prototype for function 'xsc_eth_open_channel' [-Wmissing-prototypes]
1316 | int xsc_eth_open_channel(struct xsc_adapter *adapter,
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1316:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1316 | int xsc_eth_open_channel(struct xsc_adapter *adapter,
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1527:5: warning: no previous prototype for function 'xsc_eth_open_channels' [-Wmissing-prototypes]
1527 | int xsc_eth_open_channels(struct xsc_adapter *adapter)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1527:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1527 | int xsc_eth_open_channels(struct xsc_adapter *adapter)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1639:6: warning: no previous prototype for function 'xsc_eth_activate_channel' [-Wmissing-prototypes]
1639 | void xsc_eth_activate_channel(struct xsc_channel *c)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1639:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1639 | void xsc_eth_activate_channel(struct xsc_channel *c)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1645:6: warning: no previous prototype for function 'xsc_eth_deactivate_channel' [-Wmissing-prototypes]
1645 | void xsc_eth_deactivate_channel(struct xsc_channel *c)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1645:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1645 | void xsc_eth_deactivate_channel(struct xsc_channel *c)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1691:6: warning: no previous prototype for function 'xsc_eth_activate_priv_channels' [-Wmissing-prototypes]
1691 | void xsc_eth_activate_priv_channels(struct xsc_adapter *adapter)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1691:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1691 | void xsc_eth_activate_priv_channels(struct xsc_adapter *adapter)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1706:6: warning: no previous prototype for function 'xsc_eth_deactivate_priv_channels' [-Wmissing-prototypes]
1706 | void xsc_eth_deactivate_priv_channels(struct xsc_adapter *adapter)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1706:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1706 | void xsc_eth_deactivate_priv_channels(struct xsc_adapter *adapter)
| ^
| static
>> drivers/net/ethernet/yunsilicon/xsc/net/main.c:1849:5: warning: no previous prototype for function 'xsc_eth_change_link_status' [-Wmissing-prototypes]
1849 | int xsc_eth_change_link_status(struct xsc_adapter *adapter)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1849:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1849 | int xsc_eth_change_link_status(struct xsc_adapter *adapter)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1906:6: warning: no previous prototype for function 'xsc_eth_event_handler' [-Wmissing-prototypes]
1906 | void xsc_eth_event_handler(void *arg)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1906:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1906 | void xsc_eth_event_handler(void *arg)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1914:5: warning: no previous prototype for function 'xsc_eth_enable_nic_hca' [-Wmissing-prototypes]
1914 | int xsc_eth_enable_nic_hca(struct xsc_adapter *adapter)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1914:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1914 | int xsc_eth_enable_nic_hca(struct xsc_adapter *adapter)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1976:5: warning: no previous prototype for function 'xsc_eth_disable_nic_hca' [-Wmissing-prototypes]
1976 | int xsc_eth_disable_nic_hca(struct xsc_adapter *adapter)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:1976:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1976 | int xsc_eth_disable_nic_hca(struct xsc_adapter *adapter)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2009:6: warning: no previous prototype for function 'xsc_eth_rss_params_change' [-Wmissing-prototypes]
2009 | void xsc_eth_rss_params_change(struct xsc_adapter *adapter, u32 change, void *modify)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2009:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2009 | void xsc_eth_rss_params_change(struct xsc_adapter *adapter, u32 change, void *modify)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2319:6: warning: no previous prototype for function 'xsc_build_default_indir_rqt' [-Wmissing-prototypes]
2319 | void xsc_build_default_indir_rqt(u32 *indirection_rqt, int len,
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2319:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2319 | void xsc_build_default_indir_rqt(u32 *indirection_rqt, int len,
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2417:5: warning: no previous prototype for function 'xsc_eth_nic_mtu_changed' [-Wmissing-prototypes]
2417 | int xsc_eth_nic_mtu_changed(struct xsc_adapter *priv)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2417:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2417 | int xsc_eth_nic_mtu_changed(struct xsc_adapter *priv)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2480:5: warning: no previous prototype for function 'xsc_set_vf_mac' [-Wmissing-prototypes]
2480 | int xsc_set_vf_mac(struct net_device *netdev, int vf, u8 *mac)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2480:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2480 | int xsc_set_vf_mac(struct net_device *netdev, int vf, u8 *mac)
| ^
| static
>> drivers/net/ethernet/yunsilicon/xsc/net/main.c:2497:5: warning: no previous prototype for function 'xsc_get_vf_config' [-Wmissing-prototypes]
2497 | int xsc_get_vf_config(struct net_device *dev,
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2497:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2497 | int xsc_get_vf_config(struct net_device *dev,
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2513:5: warning: no previous prototype for function 'set_feature_rxcsum' [-Wmissing-prototypes]
2513 | int set_feature_rxcsum(struct net_device *netdev, bool enable)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2513:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2513 | int set_feature_rxcsum(struct net_device *netdev, bool enable)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2565:5: warning: no previous prototype for function 'xsc_eth_set_features' [-Wmissing-prototypes]
2565 | int xsc_eth_set_features(struct net_device *netdev, netdev_features_t features)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2565:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2565 | int xsc_eth_set_features(struct net_device *netdev, netdev_features_t features)
| ^
| static
>> drivers/net/ethernet/yunsilicon/xsc/net/main.c:2582:5: warning: no previous prototype for function 'xsc_select_queue' [-Wmissing-prototypes]
2582 | u16 xsc_select_queue(struct net_device *dev, struct sk_buff *skb,
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2582:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2582 | u16 xsc_select_queue(struct net_device *dev, struct sk_buff *skb,
| ^
| static
>> drivers/net/ethernet/yunsilicon/xsc/net/main.c:2591:10: warning: variable 'txq_ix' is uninitialized when used here [-Wuninitialized]
2591 | return txq_ix;
| ^~~~~~
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2585:12: note: initialize the variable 'txq_ix' to silence this warning
2585 | int txq_ix, up = 0;
| ^
| = 0
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2771:24: warning: no previous prototype for function 'xsc_tirc_get_default_config' [-Wmissing-prototypes]
2771 | struct xsc_tirc_config xsc_tirc_get_default_config(enum xsc_traffic_types tt)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2771:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2771 | struct xsc_tirc_config xsc_tirc_get_default_config(enum xsc_traffic_types tt)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2776:6: warning: no previous prototype for function 'xsc_build_rss_params' [-Wmissing-prototypes]
2776 | void xsc_build_rss_params(struct xsc_rss_params *rss_params, u16 num_channels)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2776:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2776 | void xsc_build_rss_params(struct xsc_rss_params *rss_params, u16 num_channels)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2794:6: warning: no previous prototype for function 'xsc_eth_build_nic_params' [-Wmissing-prototypes]
2794 | void xsc_eth_build_nic_params(struct xsc_adapter *adapter, u32 ch_num, u32 tc_num)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2794:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2794 | void xsc_eth_build_nic_params(struct xsc_adapter *adapter, u32 ch_num, u32 tc_num)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2816:6: warning: no previous prototype for function 'xsc_eth_build_nic_netdev' [-Wmissing-prototypes]
2816 | void xsc_eth_build_nic_netdev(struct xsc_adapter *adapter)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2816:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2816 | void xsc_eth_build_nic_netdev(struct xsc_adapter *adapter)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2887:5: warning: no previous prototype for function 'xsc_eth_create_xdev_resources' [-Wmissing-prototypes]
2887 | int xsc_eth_create_xdev_resources(struct xsc_core_device *xdev)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2887:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2887 | int xsc_eth_create_xdev_resources(struct xsc_core_device *xdev)
| ^
| static
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2908:5: warning: no previous prototype for function 'xsc_eth_init_nic_rx' [-Wmissing-prototypes]
2908 | int xsc_eth_init_nic_rx(struct xsc_adapter *adapter)
| ^
drivers/net/ethernet/yunsilicon/xsc/net/main.c:2908:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
2908 | int xsc_eth_init_nic_rx(struct xsc_adapter *adapter)
| ^
| static
47 warnings generated.
..
vim +1752 drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h
1745
1746 static inline bool
1747 is_support_rdma(struct xsc_core_device *dev)
1748 {
1749 if (!dev)
1750 return false;
1751
> 1752 if (dev->caps.hw_feature_flag | XSC_HW_RDMA_SUPPORT)
1753 return true;
1754
1755 return false;
1756 }
1757
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0