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
- 44 participants
- 18676 discussions

[openeuler:openEuler-1.0-LTS] BUILD SUCCESS 5d7f26cfc376496f4e43967c78f7c5976d25c337
by kernel test robot 27 Apr '24
by kernel test robot 27 Apr '24
27 Apr '24
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
branch HEAD: 5d7f26cfc376496f4e43967c78f7c5976d25c337 !6642 v3 x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails
Warning ids grouped by kconfigs:
gcc_recent_errors
|-- arm64-randconfig-002-20240426
| `-- drivers-perf-arm_smmuv3_pmu.c:warning:no-previous-prototype-for-smmu_pmu_event_show
|-- x86_64-buildonly-randconfig-006-20240426
| |-- fs-proc-array.c:warning:gtime-may-be-used-uninitialized-in-this-function
| |-- fs-proc-array.c:warning:maj_flt-may-be-used-uninitialized-in-this-function
| `-- fs-proc-array.c:warning:min_flt-may-be-used-uninitialized-in-this-function
|-- x86_64-defconfig
| |-- include-linux-list.h:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
| |-- include-linux-plist.h:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
| `-- mm-swapfile.c:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
|-- x86_64-randconfig-014-20240426
| |-- include-linux-compiler.h:warning:array-subscript-index-is-outside-array-bounds-of-u32-aka-unsigned-int
| `-- include-linux-compiler.h:warning:array-subscript-unknown-is-outside-array-bounds-of-const-u32-aka-const-unsigned-int
|-- x86_64-randconfig-015-20240426
| |-- include-linux-compiler.h:warning:array-subscript-index-is-outside-array-bounds-of-u32-aka-unsigned-int
| |-- include-linux-compiler.h:warning:array-subscript-unknown-is-outside-array-bounds-of-const-u32-aka-const-unsigned-int
| |-- include-linux-list.h:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
| |-- include-linux-plist.h:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
| `-- mm-swapfile.c:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
|-- x86_64-randconfig-075-20240426
| |-- include-linux-compiler.h:warning:array-subscript-index-is-outside-array-bounds-of-u32-aka-unsigned-int
| |-- include-linux-compiler.h:warning:array-subscript-unknown-is-outside-array-bounds-of-const-u32-aka-const-unsigned-int
| |-- include-linux-list.h:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
| |-- include-linux-plist.h:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
| `-- mm-swapfile.c:warning:array-subscript-pfo_ret__-is-outside-array-bounds-of-struct-plist_node
|-- x86_64-randconfig-076-20240426
| |-- include-linux-compiler.h:warning:array-subscript-index-is-outside-array-bounds-of-u32-aka-unsigned-int
| `-- include-linux-compiler.h:warning:array-subscript-unknown-is-outside-array-bounds-of-const-u32-aka-const-unsigned-int
|-- x86_64-randconfig-122-20240427
| |-- drivers-pci-controller-hisi-pcie-customer-hisi_pcie_cae.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-to-got-void
| |-- drivers-pci-rom.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-void-noderef-asn-got-void
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-long-long-noderef-usertype-asn-off_in-got-long-long-usertype-assigned-poff_in
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-long-long-noderef-usertype-asn-off_out-got-long-long-usertype-assigned-poff_out
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-struct-file-assigned-file-got-struct-file-noderef-asn
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-void-noderef-asn-got-struct-io_buffer-assigned-kbuf
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-got-int-noderef-pmu_disable_count
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-got-struct-perf_cpu_context-noderef-pmu_cpu_context
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-asn-got-int
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-asn-got-struct-perf_cpu_context
| `-- net-ipv4-arp.c:sparse:sparse:incompatible-types-in-comparison-expression-(different-type-sizes):
`-- x86_64-randconfig-123-20240427
|-- drivers-pci-controller-hisi-pcie-customer-hisi_pcie_cae.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-to-got-void
|-- drivers-pci-rom.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-void-noderef-asn-got-void
|-- fs-io_uring.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-long-long-noderef-usertype-asn-off_in-got-long-long-usertype-assigned-poff_in
|-- fs-io_uring.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-long-long-noderef-usertype-asn-off_out-got-long-long-usertype-assigned-poff_out
|-- fs-io_uring.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-struct-file-assigned-file-got-struct-file-noderef-asn
|-- fs-io_uring.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-void-noderef-asn-got-struct-io_buffer-assigned-kbuf
|-- include-linux-compiler.h:warning:array-subscript-index-is-outside-array-bounds-of-u32-aka-unsigned-int
|-- include-linux-compiler.h:warning:array-subscript-unknown-is-outside-array-bounds-of-const-u32-aka-const-unsigned-int
|-- kernel-events-core.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-got-int-noderef-pmu_disable_count
|-- kernel-events-core.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-got-struct-perf_cpu_context-noderef-pmu_cpu_context
|-- kernel-events-core.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-asn-got-int
|-- kernel-events-core.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-asn-got-struct-perf_cpu_context
`-- net-ipv4-arp.c:sparse:sparse:incompatible-types-in-comparison-expression-(different-type-sizes):
clang_recent_errors
|-- x86_64-allyesconfig
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-buildonly-randconfig-003-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-buildonly-randconfig-004-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-004-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-005-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-006-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-011-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-016-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-071-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-072-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-073-20240426
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-121-20240427
| |-- drivers-pci-controller-hisi-pcie-customer-hisi_pcie_cae.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-to-got-void
| |-- drivers-pci-rom.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-void-noderef-asn-got-void
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-long-long-noderef-usertype-asn-off_in-got-long-long-usertype-assigned-poff_in
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-long-long-noderef-usertype-asn-off_out-got-long-long-usertype-assigned-poff_out
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-assignment-(different-address-spaces)-expected-struct-file-assigned-file-got-struct-file-noderef-asn
| |-- fs-io_uring.c:sparse:sparse:incorrect-type-in-return-expression-(different-address-spaces)-expected-void-noderef-asn-got-struct-io_buffer-assigned-kbuf
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-got-int-noderef-pmu_disable_count
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-noderef-asn-got-struct-perf_cpu_context-noderef-pmu_cpu_context
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-asn-got-int
| |-- kernel-events-core.c:sparse:sparse:incorrect-type-in-initializer-(different-address-spaces)-expected-void-const-noderef-asn-got-struct-perf_cpu_context
| |-- net-ipv4-arp.c:sparse:sparse:incompatible-types-in-comparison-expression-(different-type-sizes):
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
|-- x86_64-randconfig-161-20240427
| `-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
`-- x86_64-rhel-8.3-rust
`-- net-ipv4-arp.c:warning:comparison-of-distinct-pointer-types-(-typeof-(dev-addr_len)-(aka-unsigned-char-)-and-typeof-(sizeof-(r-arp_ha.sa_data))-(aka-unsigned-long-))
elapsed time: 739m
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-20240426 gcc
arm64 randconfig-002-20240426 gcc
arm64 randconfig-003-20240426 gcc
arm64 randconfig-004-20240426 gcc
x86_64 allnoconfig clang
x86_64 allyesconfig clang
x86_64 buildonly-randconfig-001-20240426 clang
x86_64 buildonly-randconfig-002-20240426 gcc
x86_64 buildonly-randconfig-003-20240426 clang
x86_64 buildonly-randconfig-004-20240426 clang
x86_64 buildonly-randconfig-005-20240426 gcc
x86_64 buildonly-randconfig-006-20240426 gcc
x86_64 defconfig gcc
x86_64 randconfig-001-20240426 gcc
x86_64 randconfig-002-20240426 gcc
x86_64 randconfig-003-20240426 gcc
x86_64 randconfig-004-20240426 clang
x86_64 randconfig-005-20240426 clang
x86_64 randconfig-006-20240426 clang
x86_64 randconfig-011-20240426 clang
x86_64 randconfig-012-20240426 gcc
x86_64 randconfig-013-20240426 gcc
x86_64 randconfig-014-20240426 gcc
x86_64 randconfig-015-20240426 gcc
x86_64 randconfig-016-20240426 clang
x86_64 randconfig-071-20240426 clang
x86_64 randconfig-072-20240426 clang
x86_64 randconfig-073-20240426 clang
x86_64 randconfig-074-20240426 gcc
x86_64 randconfig-075-20240426 gcc
x86_64 randconfig-076-20240426 gcc
x86_64 rhel-8.3-rust clang
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0

[openeuler:OLK-5.10] BUILD SUCCESS a37954d8555018369c90d18616f65c3d9830a9aa
by kernel test robot 27 Apr '24
by kernel test robot 27 Apr '24
27 Apr '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10
branch HEAD: a37954d8555018369c90d18616f65c3d9830a9aa !6620 packet: annotate data-races around ignore_outgoing
Warning ids grouped by kconfigs:
clang_recent_errors
|-- arm64-allyesconfig
| |-- Documentation-devicetree-bindings-arm-cpu.yaml:properties:capacity-dmips-mhz:ref-should-not-be-valid-under-const:ref
| |-- Documentation-devicetree-bindings-arm-cpu.yaml:title:ARM-CPUs-bindings-should-not-be-valid-under-pattern:(-Bb-inding-Ss-chema)
| |-- Documentation-devicetree-bindings-arm-cpus.yaml:examples:cpus-arm-pbha-performance-only-bits-arm-pbha-no-aliases-bits-ncpu-device_type-cpu-compatible-arm-cortex-a57-...-n-is-not-of-type-array
| |-- Documentation-devicetree-bindings-arm-cpus.yaml:maintainers-is-a-required-property
| |-- description:Display-controller-reference-clock-source-is-not-of-type-object-boolean
| |-- description:Display-controller-reference-clock-source-is-too-short
| |-- description:Offset-and-length-of-the-memory-mapped-registers-is-too-short
| |-- items-is-not-one-of-type-description-dependencies-dependentRequired-dependentSchemas-properties-patternProperties-additionalProperties-unevaluatedProperties-deprecated-required-not-allOf-anyOf-oneOf-r
| `-- minItems-is-not-one-of-type-description-dependencies-dependentRequired-dependentSchemas-properties-patternProperties-additionalProperties-unevaluatedProperties-deprecated-required-not-allOf-anyOf-oneO
`-- x86_64-allnoconfig
`-- drivers-net-ethernet-mucse-rnpm-rnpm_common.h:linux-version.h-not-needed.
elapsed time: 730m
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 clang
arm64 allnoconfig gcc
arm64 defconfig gcc
arm64 randconfig-001-20240426 gcc
arm64 randconfig-002-20240426 gcc
arm64 randconfig-003-20240426 clang
arm64 randconfig-004-20240426 gcc
x86_64 allnoconfig clang
x86_64 allyesconfig clang
x86_64 buildonly-randconfig-001-20240426 clang
x86_64 buildonly-randconfig-002-20240426 gcc
x86_64 buildonly-randconfig-003-20240426 clang
x86_64 buildonly-randconfig-004-20240426 clang
x86_64 buildonly-randconfig-005-20240426 gcc
x86_64 buildonly-randconfig-006-20240426 gcc
x86_64 defconfig gcc
x86_64 randconfig-001-20240426 gcc
x86_64 randconfig-002-20240426 gcc
x86_64 randconfig-003-20240426 gcc
x86_64 randconfig-004-20240426 clang
x86_64 randconfig-005-20240426 clang
x86_64 randconfig-006-20240426 clang
x86_64 randconfig-011-20240426 clang
x86_64 randconfig-012-20240426 gcc
x86_64 randconfig-013-20240426 gcc
x86_64 randconfig-014-20240426 gcc
x86_64 randconfig-015-20240426 gcc
x86_64 randconfig-016-20240426 clang
x86_64 randconfig-071-20240426 clang
x86_64 randconfig-072-20240426 clang
x86_64 randconfig-073-20240426 clang
x86_64 randconfig-074-20240426 gcc
x86_64 randconfig-075-20240426 gcc
x86_64 randconfig-076-20240426 gcc
x86_64 rhel-8.3-rust clang
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
1
0
From: Jialin Zhang <zhangjialin11(a)huawei.com>
hulk inclusion
category: performance
bugzilla: https://gitee.com/openeuler/kernel/issues/I9JZXF
CVE: NA
--------------------------------
This option optimizes the scheduler for common desktop workloads by
automatically creating and populating task groups. This separation
of workloads isolates aggressive CPU burners (like build jobs) from
desktop applications. Task group autogeneration is currently based
upon task session.
We do not need this for mostly server workloads, so just disable by
default. If you need this feature really, just enable it by sysctl:
sysctl -w kernel.sched_autogroup_enabled=1
Signed-off-by: Jialin Zhang <zhangjialin11(a)huawei.com>
Reviewed-by: Xie XiuQi <xiexiuqi(a)huawei.com>
Signed-off-by: Zheng Zengkai <zhengzengkai(a)huawei.com>
Signed-off-by: Zhang Qiao <zhangqiao22(a)huawei.com>
---
kernel/sched/autogroup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/sched/autogroup.c b/kernel/sched/autogroup.c
index 991fc9002535..e2c2d4e5735f 100644
--- a/kernel/sched/autogroup.c
+++ b/kernel/sched/autogroup.c
@@ -4,7 +4,7 @@
* Auto-group scheduling implementation:
*/
-unsigned int __read_mostly sysctl_sched_autogroup_enabled = 1;
+unsigned int __read_mostly sysctl_sched_autogroup_enabled;
static struct autogroup autogroup_default;
static atomic_t autogroup_seq_nr;
--
2.18.0.huawei.25
2
1

26 Apr '24
From: Eric Dumazet <edumazet(a)google.com>
stable inclusion
from stable-v5.10.213
commit c7137900691f5692fe3de54566ea7b30bb35d66c
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9HK9B
CVE: CVE-2024-26857
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 1ca1ba465e55b9460e4e75dec9fff31e708fec74 ]
syzbot triggered a bug in geneve_rx() [1]
Issue is similar to the one I fixed in commit 8d975c15c0cd
("ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv()")
We have to save skb->network_header in a temporary variable
in order to be able to recompute the network_header pointer
after a pskb_inet_may_pull() call.
pskb_inet_may_pull() makes sure the needed headers are in skb->head.
[1]
BUG: KMSAN: uninit-value in IP_ECN_decapsulate include/net/inet_ecn.h:302 [inline]
BUG: KMSAN: uninit-value in geneve_rx drivers/net/geneve.c:279 [inline]
BUG: KMSAN: uninit-value in geneve_udp_encap_recv+0x36f9/0x3c10 drivers/net/geneve.c:391
IP_ECN_decapsulate include/net/inet_ecn.h:302 [inline]
geneve_rx drivers/net/geneve.c:279 [inline]
geneve_udp_encap_recv+0x36f9/0x3c10 drivers/net/geneve.c:391
udp_queue_rcv_one_skb+0x1d39/0x1f20 net/ipv4/udp.c:2108
udp_queue_rcv_skb+0x6ae/0x6e0 net/ipv4/udp.c:2186
udp_unicast_rcv_skb+0x184/0x4b0 net/ipv4/udp.c:2346
__udp4_lib_rcv+0x1c6b/0x3010 net/ipv4/udp.c:2422
udp_rcv+0x7d/0xa0 net/ipv4/udp.c:2604
ip_protocol_deliver_rcu+0x264/0x1300 net/ipv4/ip_input.c:205
ip_local_deliver_finish+0x2b8/0x440 net/ipv4/ip_input.c:233
NF_HOOK include/linux/netfilter.h:314 [inline]
ip_local_deliver+0x21f/0x490 net/ipv4/ip_input.c:254
dst_input include/net/dst.h:461 [inline]
ip_rcv_finish net/ipv4/ip_input.c:449 [inline]
NF_HOOK include/linux/netfilter.h:314 [inline]
ip_rcv+0x46f/0x760 net/ipv4/ip_input.c:569
__netif_receive_skb_one_core net/core/dev.c:5534 [inline]
__netif_receive_skb+0x1a6/0x5a0 net/core/dev.c:5648
process_backlog+0x480/0x8b0 net/core/dev.c:5976
__napi_poll+0xe3/0x980 net/core/dev.c:6576
napi_poll net/core/dev.c:6645 [inline]
net_rx_action+0x8b8/0x1870 net/core/dev.c:6778
__do_softirq+0x1b7/0x7c5 kernel/softirq.c:553
do_softirq+0x9a/0xf0 kernel/softirq.c:454
__local_bh_enable_ip+0x9b/0xa0 kernel/softirq.c:381
local_bh_enable include/linux/bottom_half.h:33 [inline]
rcu_read_unlock_bh include/linux/rcupdate.h:820 [inline]
__dev_queue_xmit+0x2768/0x51c0 net/core/dev.c:4378
dev_queue_xmit include/linux/netdevice.h:3171 [inline]
packet_xmit+0x9c/0x6b0 net/packet/af_packet.c:276
packet_snd net/packet/af_packet.c:3081 [inline]
packet_sendmsg+0x8aef/0x9f10 net/packet/af_packet.c:3113
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg net/socket.c:745 [inline]
__sys_sendto+0x735/0xa10 net/socket.c:2191
__do_sys_sendto net/socket.c:2203 [inline]
__se_sys_sendto net/socket.c:2199 [inline]
__x64_sys_sendto+0x125/0x1c0 net/socket.c:2199
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x63/0x6b
Uninit was created at:
slab_post_alloc_hook mm/slub.c:3819 [inline]
slab_alloc_node mm/slub.c:3860 [inline]
kmem_cache_alloc_node+0x5cb/0xbc0 mm/slub.c:3903
kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:560
__alloc_skb+0x352/0x790 net/core/skbuff.c:651
alloc_skb include/linux/skbuff.h:1296 [inline]
alloc_skb_with_frags+0xc8/0xbd0 net/core/skbuff.c:6394
sock_alloc_send_pskb+0xa80/0xbf0 net/core/sock.c:2783
packet_alloc_skb net/packet/af_packet.c:2930 [inline]
packet_snd net/packet/af_packet.c:3024 [inline]
packet_sendmsg+0x70c2/0x9f10 net/packet/af_packet.c:3113
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg net/socket.c:745 [inline]
__sys_sendto+0x735/0xa10 net/socket.c:2191
__do_sys_sendto net/socket.c:2203 [inline]
__se_sys_sendto net/socket.c:2199 [inline]
__x64_sys_sendto+0x125/0x1c0 net/socket.c:2199
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x63/0x6b
Fixes: 2d07dc79fe04 ("geneve: add initial netdev driver for GENEVE tunnels")
Reported-and-tested-by: syzbot+6a1423ff3f97159aae64(a)syzkaller.appspotmail.com
Signed-off-by: Eric Dumazet <edumazet(a)google.com>
Reviewed-by: Jiri Pirko <jiri(a)nvidia.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Ziyang Xuan <william.xuanziyang(a)huawei.com>
---
drivers/net/geneve.c | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c
index 081939cb420b..2bb9820c6664 100644
--- a/drivers/net/geneve.c
+++ b/drivers/net/geneve.c
@@ -218,7 +218,7 @@ static void geneve_rx(struct geneve_dev *geneve, struct geneve_sock *gs,
struct genevehdr *gnvh = geneve_hdr(skb);
struct metadata_dst *tun_dst = NULL;
unsigned int len;
- int err = 0;
+ int nh, err = 0;
void *oiph;
if (ip_tunnel_collect_metadata() || gs->collect_md) {
@@ -262,9 +262,23 @@ static void geneve_rx(struct geneve_dev *geneve, struct geneve_sock *gs,
goto drop;
}
- oiph = skb_network_header(skb);
+ /* Save offset of outer header relative to skb->head,
+ * because we are going to reset the network header to the inner header
+ * and might change skb->head.
+ */
+ nh = skb_network_header(skb) - skb->head;
+
skb_reset_network_header(skb);
+ if (!pskb_inet_may_pull(skb)) {
+ DEV_STATS_INC(geneve->dev, rx_length_errors);
+ DEV_STATS_INC(geneve->dev, rx_errors);
+ goto drop;
+ }
+
+ /* Get the outer header. */
+ oiph = skb->head + nh;
+
if (geneve_get_sk_family(gs) == AF_INET)
err = IP_ECN_decapsulate(oiph, skb);
#if IS_ENABLED(CONFIG_IPV6)
--
2.25.1
2
1

26 Apr '24
From: Eric Dumazet <edumazet(a)google.com>
stable inclusion
from stable-v5.10.213
commit 79ce2e54cc0ae366f45516c00bf1b19aa43e9abe
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9HK9R
CVE: CVE-2024-26852
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id…
--------------------------------
[ Upstream commit 685f7d531264599b3f167f1e94bbd22f120e5fab ]
syzbot found another use-after-free in ip6_route_mpath_notify() [1]
Commit f7225172f25a ("net/ipv6: prevent use after free in
ip6_route_mpath_notify") was not able to fix the root cause.
We need to defer the fib6_info_release() calls after
ip6_route_mpath_notify(), in the cleanup phase.
[1]
BUG: KASAN: slab-use-after-free in rt6_fill_node+0x1460/0x1ac0
Read of size 4 at addr ffff88809a07fc64 by task syz-executor.2/23037
CPU: 0 PID: 23037 Comm: syz-executor.2 Not tainted 6.8.0-rc4-syzkaller-01035-gea7f3cfaa588 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x1e7/0x2e0 lib/dump_stack.c:106
print_address_description mm/kasan/report.c:377 [inline]
print_report+0x167/0x540 mm/kasan/report.c:488
kasan_report+0x142/0x180 mm/kasan/report.c:601
rt6_fill_node+0x1460/0x1ac0
inet6_rt_notify+0x13b/0x290 net/ipv6/route.c:6184
ip6_route_mpath_notify net/ipv6/route.c:5198 [inline]
ip6_route_multipath_add net/ipv6/route.c:5404 [inline]
inet6_rtm_newroute+0x1d0f/0x2300 net/ipv6/route.c:5517
rtnetlink_rcv_msg+0x885/0x1040 net/core/rtnetlink.c:6597
netlink_rcv_skb+0x1e3/0x430 net/netlink/af_netlink.c:2543
netlink_unicast_kernel net/netlink/af_netlink.c:1341 [inline]
netlink_unicast+0x7ea/0x980 net/netlink/af_netlink.c:1367
netlink_sendmsg+0xa3b/0xd70 net/netlink/af_netlink.c:1908
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg+0x221/0x270 net/socket.c:745
____sys_sendmsg+0x525/0x7d0 net/socket.c:2584
___sys_sendmsg net/socket.c:2638 [inline]
__sys_sendmsg+0x2b0/0x3a0 net/socket.c:2667
do_syscall_64+0xf9/0x240
entry_SYSCALL_64_after_hwframe+0x6f/0x77
RIP: 0033:0x7f73dd87dda9
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f73de6550c8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007f73dd9ac050 RCX: 00007f73dd87dda9
RDX: 0000000000000000 RSI: 0000000020000140 RDI: 0000000000000005
RBP: 00007f73dd8ca47a R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000006e R14: 00007f73dd9ac050 R15: 00007ffdbdeb7858
</TASK>
Allocated by task 23037:
kasan_save_stack mm/kasan/common.c:47 [inline]
kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
poison_kmalloc_redzone mm/kasan/common.c:372 [inline]
__kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:389
kasan_kmalloc include/linux/kasan.h:211 [inline]
__do_kmalloc_node mm/slub.c:3981 [inline]
__kmalloc+0x22e/0x490 mm/slub.c:3994
kmalloc include/linux/slab.h:594 [inline]
kzalloc include/linux/slab.h:711 [inline]
fib6_info_alloc+0x2e/0xf0 net/ipv6/ip6_fib.c:155
ip6_route_info_create+0x445/0x12b0 net/ipv6/route.c:3758
ip6_route_multipath_add net/ipv6/route.c:5298 [inline]
inet6_rtm_newroute+0x744/0x2300 net/ipv6/route.c:5517
rtnetlink_rcv_msg+0x885/0x1040 net/core/rtnetlink.c:6597
netlink_rcv_skb+0x1e3/0x430 net/netlink/af_netlink.c:2543
netlink_unicast_kernel net/netlink/af_netlink.c:1341 [inline]
netlink_unicast+0x7ea/0x980 net/netlink/af_netlink.c:1367
netlink_sendmsg+0xa3b/0xd70 net/netlink/af_netlink.c:1908
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg+0x221/0x270 net/socket.c:745
____sys_sendmsg+0x525/0x7d0 net/socket.c:2584
___sys_sendmsg net/socket.c:2638 [inline]
__sys_sendmsg+0x2b0/0x3a0 net/socket.c:2667
do_syscall_64+0xf9/0x240
entry_SYSCALL_64_after_hwframe+0x6f/0x77
Freed by task 16:
kasan_save_stack mm/kasan/common.c:47 [inline]
kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
kasan_save_free_info+0x4e/0x60 mm/kasan/generic.c:640
poison_slab_object+0xa6/0xe0 mm/kasan/common.c:241
__kasan_slab_free+0x34/0x70 mm/kasan/common.c:257
kasan_slab_free include/linux/kasan.h:184 [inline]
slab_free_hook mm/slub.c:2121 [inline]
slab_free mm/slub.c:4299 [inline]
kfree+0x14a/0x380 mm/slub.c:4409
rcu_do_batch kernel/rcu/tree.c:2190 [inline]
rcu_core+0xd76/0x1810 kernel/rcu/tree.c:2465
__do_softirq+0x2bb/0x942 kernel/softirq.c:553
Last potentially related work creation:
kasan_save_stack+0x3f/0x60 mm/kasan/common.c:47
__kasan_record_aux_stack+0xae/0x100 mm/kasan/generic.c:586
__call_rcu_common kernel/rcu/tree.c:2715 [inline]
call_rcu+0x167/0xa80 kernel/rcu/tree.c:2829
fib6_info_release include/net/ip6_fib.h:341 [inline]
ip6_route_multipath_add net/ipv6/route.c:5344 [inline]
inet6_rtm_newroute+0x114d/0x2300 net/ipv6/route.c:5517
rtnetlink_rcv_msg+0x885/0x1040 net/core/rtnetlink.c:6597
netlink_rcv_skb+0x1e3/0x430 net/netlink/af_netlink.c:2543
netlink_unicast_kernel net/netlink/af_netlink.c:1341 [inline]
netlink_unicast+0x7ea/0x980 net/netlink/af_netlink.c:1367
netlink_sendmsg+0xa3b/0xd70 net/netlink/af_netlink.c:1908
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg+0x221/0x270 net/socket.c:745
____sys_sendmsg+0x525/0x7d0 net/socket.c:2584
___sys_sendmsg net/socket.c:2638 [inline]
__sys_sendmsg+0x2b0/0x3a0 net/socket.c:2667
do_syscall_64+0xf9/0x240
entry_SYSCALL_64_after_hwframe+0x6f/0x77
The buggy address belongs to the object at ffff88809a07fc00
which belongs to the cache kmalloc-512 of size 512
The buggy address is located 100 bytes inside of
freed 512-byte region [ffff88809a07fc00, ffff88809a07fe00)
The buggy address belongs to the physical page:
page:ffffea0002681f00 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x9a07c
head:ffffea0002681f00 order:2 entire_mapcount:0 nr_pages_mapped:0 pincount:0
flags: 0xfff00000000840(slab|head|node=0|zone=1|lastcpupid=0x7ff)
page_type: 0xffffffff()
raw: 00fff00000000840 ffff888014c41c80 dead000000000122 0000000000000000
raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 2, migratetype Unmovable, gfp_mask 0x1d20c0(__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC|__GFP_HARDWALL), pid 23028, tgid 23027 (syz-executor.4), ts 2340253595219, free_ts 2339107097036
set_page_owner include/linux/page_owner.h:31 [inline]
post_alloc_hook+0x1ea/0x210 mm/page_alloc.c:1533
prep_new_page mm/page_alloc.c:1540 [inline]
get_page_from_freelist+0x33ea/0x3580 mm/page_alloc.c:3311
__alloc_pages+0x255/0x680 mm/page_alloc.c:4567
__alloc_pages_node include/linux/gfp.h:238 [inline]
alloc_pages_node include/linux/gfp.h:261 [inline]
alloc_slab_page+0x5f/0x160 mm/slub.c:2190
allocate_slab mm/slub.c:2354 [inline]
new_slab+0x84/0x2f0 mm/slub.c:2407
___slab_alloc+0xd17/0x13e0 mm/slub.c:3540
__slab_alloc mm/slub.c:3625 [inline]
__slab_alloc_node mm/slub.c:3678 [inline]
slab_alloc_node mm/slub.c:3850 [inline]
__do_kmalloc_node mm/slub.c:3980 [inline]
__kmalloc+0x2e0/0x490 mm/slub.c:3994
kmalloc include/linux/slab.h:594 [inline]
kzalloc include/linux/slab.h:711 [inline]
new_dir fs/proc/proc_sysctl.c:956 [inline]
get_subdir fs/proc/proc_sysctl.c:1000 [inline]
sysctl_mkdir_p fs/proc/proc_sysctl.c:1295 [inline]
__register_sysctl_table+0xb30/0x1440 fs/proc/proc_sysctl.c:1376
neigh_sysctl_register+0x416/0x500 net/core/neighbour.c:3859
devinet_sysctl_register+0xaf/0x1f0 net/ipv4/devinet.c:2644
inetdev_init+0x296/0x4d0 net/ipv4/devinet.c:286
inetdev_event+0x338/0x15c0 net/ipv4/devinet.c:1555
notifier_call_chain+0x18f/0x3b0 kernel/notifier.c:93
call_netdevice_notifiers_extack net/core/dev.c:1987 [inline]
call_netdevice_notifiers net/core/dev.c:2001 [inline]
register_netdevice+0x15b2/0x1a20 net/core/dev.c:10340
br_dev_newlink+0x27/0x100 net/bridge/br_netlink.c:1563
rtnl_newlink_create net/core/rtnetlink.c:3497 [inline]
__rtnl_newlink net/core/rtnetlink.c:3717 [inline]
rtnl_newlink+0x158f/0x20a0 net/core/rtnetlink.c:3730
page last free pid 11583 tgid 11583 stack trace:
reset_page_owner include/linux/page_owner.h:24 [inline]
free_pages_prepare mm/page_alloc.c:1140 [inline]
free_unref_page_prepare+0x968/0xa90 mm/page_alloc.c:2346
free_unref_page+0x37/0x3f0 mm/page_alloc.c:2486
kasan_depopulate_vmalloc_pte+0x74/0x90 mm/kasan/shadow.c:415
apply_to_pte_range mm/memory.c:2619 [inline]
apply_to_pmd_range mm/memory.c:2663 [inline]
apply_to_pud_range mm/memory.c:2699 [inline]
apply_to_p4d_range mm/memory.c:2735 [inline]
__apply_to_page_range+0x8ec/0xe40 mm/memory.c:2769
kasan_release_vmalloc+0x9a/0xb0 mm/kasan/shadow.c:532
__purge_vmap_area_lazy+0x163f/0x1a10 mm/vmalloc.c:1770
drain_vmap_area_work+0x40/0xd0 mm/vmalloc.c:1804
process_one_work kernel/workqueue.c:2633 [inline]
process_scheduled_works+0x913/0x1420 kernel/workqueue.c:2706
worker_thread+0xa5f/0x1000 kernel/workqueue.c:2787
kthread+0x2ef/0x390 kernel/kthread.c:388
ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:242
Memory state around the buggy address:
ffff88809a07fb00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
ffff88809a07fb80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>ffff88809a07fc00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
^
ffff88809a07fc80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff88809a07fd00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
Fixes: 3b1137fe7482 ("net: ipv6: Change notifications for multipath add to RTA_MULTIPATH")
Reported-by: syzbot <syzkaller(a)googlegroups.com>
Signed-off-by: Eric Dumazet <edumazet(a)google.com>
Reviewed-by: David Ahern <dsahern(a)kernel.org>
Link: https://lore.kernel.org/r/20240303144801.702646-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Ziyang Xuan <william.xuanziyang(a)huawei.com>
---
net/ipv6/route.c | 21 +++++++--------------
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 9603e009cd23..38c820e5c00a 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -5230,19 +5230,7 @@ static int ip6_route_multipath_add(struct fib6_config *cfg,
err_nh = NULL;
list_for_each_entry(nh, &rt6_nh_list, next) {
err = __ip6_ins_rt(nh->fib6_info, info, extack);
- fib6_info_release(nh->fib6_info);
-
- if (!err) {
- /* save reference to last route successfully inserted */
- rt_last = nh->fib6_info;
-
- /* save reference to first route for notification */
- if (!rt_notif)
- rt_notif = nh->fib6_info;
- }
- /* nh->fib6_info is used or freed at this point, reset to NULL*/
- nh->fib6_info = NULL;
if (err) {
if (replace && nhn)
NL_SET_ERR_MSG_MOD(extack,
@@ -5250,6 +5238,12 @@ static int ip6_route_multipath_add(struct fib6_config *cfg,
err_nh = nh;
goto add_errout;
}
+ /* save reference to last route successfully inserted */
+ rt_last = nh->fib6_info;
+
+ /* save reference to first route for notification */
+ if (!rt_notif)
+ rt_notif = nh->fib6_info;
/* Because each route is added like a single route we remove
* these flags after the first nexthop: if there is a collision,
@@ -5310,8 +5304,7 @@ static int ip6_route_multipath_add(struct fib6_config *cfg,
cleanup:
list_for_each_entry_safe(nh, nh_safe, &rt6_nh_list, next) {
- if (nh->fib6_info)
- fib6_info_release(nh->fib6_info);
+ fib6_info_release(nh->fib6_info);
list_del(&nh->next);
kfree(nh);
}
--
2.25.1
2
1

[PATCH openEuler-1.0-LTS] net/ipv6: avoid possible UAF in ip6_route_mpath_notify()
by Ziyang Xuan 26 Apr '24
by Ziyang Xuan 26 Apr '24
26 Apr '24
From: Eric Dumazet <edumazet(a)google.com>
stable inclusion
from stable-v4.19.310
commit 31ea5bcc7d4cd1423de6be327a2c034725704136
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9HK9R
CVE: CVE-2024-26852
--------------------------------
[ Upstream commit 685f7d531264599b3f167f1e94bbd22f120e5fab ]
syzbot found another use-after-free in ip6_route_mpath_notify() [1]
Commit f7225172f25a ("net/ipv6: prevent use after free in
ip6_route_mpath_notify") was not able to fix the root cause.
We need to defer the fib6_info_release() calls after
ip6_route_mpath_notify(), in the cleanup phase.
[1]
BUG: KASAN: slab-use-after-free in rt6_fill_node+0x1460/0x1ac0
Read of size 4 at addr ffff88809a07fc64 by task syz-executor.2/23037
CPU: 0 PID: 23037 Comm: syz-executor.2 Not tainted 6.8.0-rc4-syzkaller-01035-gea7f3cfaa588 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x1e7/0x2e0 lib/dump_stack.c:106
print_address_description mm/kasan/report.c:377 [inline]
print_report+0x167/0x540 mm/kasan/report.c:488
kasan_report+0x142/0x180 mm/kasan/report.c:601
rt6_fill_node+0x1460/0x1ac0
inet6_rt_notify+0x13b/0x290 net/ipv6/route.c:6184
ip6_route_mpath_notify net/ipv6/route.c:5198 [inline]
ip6_route_multipath_add net/ipv6/route.c:5404 [inline]
inet6_rtm_newroute+0x1d0f/0x2300 net/ipv6/route.c:5517
rtnetlink_rcv_msg+0x885/0x1040 net/core/rtnetlink.c:6597
netlink_rcv_skb+0x1e3/0x430 net/netlink/af_netlink.c:2543
netlink_unicast_kernel net/netlink/af_netlink.c:1341 [inline]
netlink_unicast+0x7ea/0x980 net/netlink/af_netlink.c:1367
netlink_sendmsg+0xa3b/0xd70 net/netlink/af_netlink.c:1908
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg+0x221/0x270 net/socket.c:745
____sys_sendmsg+0x525/0x7d0 net/socket.c:2584
___sys_sendmsg net/socket.c:2638 [inline]
__sys_sendmsg+0x2b0/0x3a0 net/socket.c:2667
do_syscall_64+0xf9/0x240
entry_SYSCALL_64_after_hwframe+0x6f/0x77
RIP: 0033:0x7f73dd87dda9
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f73de6550c8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
RAX: ffffffffffffffda RBX: 00007f73dd9ac050 RCX: 00007f73dd87dda9
RDX: 0000000000000000 RSI: 0000000020000140 RDI: 0000000000000005
RBP: 00007f73dd8ca47a R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000006e R14: 00007f73dd9ac050 R15: 00007ffdbdeb7858
</TASK>
Allocated by task 23037:
kasan_save_stack mm/kasan/common.c:47 [inline]
kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
poison_kmalloc_redzone mm/kasan/common.c:372 [inline]
__kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:389
kasan_kmalloc include/linux/kasan.h:211 [inline]
__do_kmalloc_node mm/slub.c:3981 [inline]
__kmalloc+0x22e/0x490 mm/slub.c:3994
kmalloc include/linux/slab.h:594 [inline]
kzalloc include/linux/slab.h:711 [inline]
fib6_info_alloc+0x2e/0xf0 net/ipv6/ip6_fib.c:155
ip6_route_info_create+0x445/0x12b0 net/ipv6/route.c:3758
ip6_route_multipath_add net/ipv6/route.c:5298 [inline]
inet6_rtm_newroute+0x744/0x2300 net/ipv6/route.c:5517
rtnetlink_rcv_msg+0x885/0x1040 net/core/rtnetlink.c:6597
netlink_rcv_skb+0x1e3/0x430 net/netlink/af_netlink.c:2543
netlink_unicast_kernel net/netlink/af_netlink.c:1341 [inline]
netlink_unicast+0x7ea/0x980 net/netlink/af_netlink.c:1367
netlink_sendmsg+0xa3b/0xd70 net/netlink/af_netlink.c:1908
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg+0x221/0x270 net/socket.c:745
____sys_sendmsg+0x525/0x7d0 net/socket.c:2584
___sys_sendmsg net/socket.c:2638 [inline]
__sys_sendmsg+0x2b0/0x3a0 net/socket.c:2667
do_syscall_64+0xf9/0x240
entry_SYSCALL_64_after_hwframe+0x6f/0x77
Freed by task 16:
kasan_save_stack mm/kasan/common.c:47 [inline]
kasan_save_track+0x3f/0x80 mm/kasan/common.c:68
kasan_save_free_info+0x4e/0x60 mm/kasan/generic.c:640
poison_slab_object+0xa6/0xe0 mm/kasan/common.c:241
__kasan_slab_free+0x34/0x70 mm/kasan/common.c:257
kasan_slab_free include/linux/kasan.h:184 [inline]
slab_free_hook mm/slub.c:2121 [inline]
slab_free mm/slub.c:4299 [inline]
kfree+0x14a/0x380 mm/slub.c:4409
rcu_do_batch kernel/rcu/tree.c:2190 [inline]
rcu_core+0xd76/0x1810 kernel/rcu/tree.c:2465
__do_softirq+0x2bb/0x942 kernel/softirq.c:553
Last potentially related work creation:
kasan_save_stack+0x3f/0x60 mm/kasan/common.c:47
__kasan_record_aux_stack+0xae/0x100 mm/kasan/generic.c:586
__call_rcu_common kernel/rcu/tree.c:2715 [inline]
call_rcu+0x167/0xa80 kernel/rcu/tree.c:2829
fib6_info_release include/net/ip6_fib.h:341 [inline]
ip6_route_multipath_add net/ipv6/route.c:5344 [inline]
inet6_rtm_newroute+0x114d/0x2300 net/ipv6/route.c:5517
rtnetlink_rcv_msg+0x885/0x1040 net/core/rtnetlink.c:6597
netlink_rcv_skb+0x1e3/0x430 net/netlink/af_netlink.c:2543
netlink_unicast_kernel net/netlink/af_netlink.c:1341 [inline]
netlink_unicast+0x7ea/0x980 net/netlink/af_netlink.c:1367
netlink_sendmsg+0xa3b/0xd70 net/netlink/af_netlink.c:1908
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg+0x221/0x270 net/socket.c:745
____sys_sendmsg+0x525/0x7d0 net/socket.c:2584
___sys_sendmsg net/socket.c:2638 [inline]
__sys_sendmsg+0x2b0/0x3a0 net/socket.c:2667
do_syscall_64+0xf9/0x240
entry_SYSCALL_64_after_hwframe+0x6f/0x77
The buggy address belongs to the object at ffff88809a07fc00
which belongs to the cache kmalloc-512 of size 512
The buggy address is located 100 bytes inside of
freed 512-byte region [ffff88809a07fc00, ffff88809a07fe00)
The buggy address belongs to the physical page:
page:ffffea0002681f00 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x9a07c
head:ffffea0002681f00 order:2 entire_mapcount:0 nr_pages_mapped:0 pincount:0
flags: 0xfff00000000840(slab|head|node=0|zone=1|lastcpupid=0x7ff)
page_type: 0xffffffff()
raw: 00fff00000000840 ffff888014c41c80 dead000000000122 0000000000000000
raw: 0000000000000000 0000000080100010 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 2, migratetype Unmovable, gfp_mask 0x1d20c0(__GFP_IO|__GFP_FS|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC|__GFP_HARDWALL), pid 23028, tgid 23027 (syz-executor.4), ts 2340253595219, free_ts 2339107097036
set_page_owner include/linux/page_owner.h:31 [inline]
post_alloc_hook+0x1ea/0x210 mm/page_alloc.c:1533
prep_new_page mm/page_alloc.c:1540 [inline]
get_page_from_freelist+0x33ea/0x3580 mm/page_alloc.c:3311
__alloc_pages+0x255/0x680 mm/page_alloc.c:4567
__alloc_pages_node include/linux/gfp.h:238 [inline]
alloc_pages_node include/linux/gfp.h:261 [inline]
alloc_slab_page+0x5f/0x160 mm/slub.c:2190
allocate_slab mm/slub.c:2354 [inline]
new_slab+0x84/0x2f0 mm/slub.c:2407
___slab_alloc+0xd17/0x13e0 mm/slub.c:3540
__slab_alloc mm/slub.c:3625 [inline]
__slab_alloc_node mm/slub.c:3678 [inline]
slab_alloc_node mm/slub.c:3850 [inline]
__do_kmalloc_node mm/slub.c:3980 [inline]
__kmalloc+0x2e0/0x490 mm/slub.c:3994
kmalloc include/linux/slab.h:594 [inline]
kzalloc include/linux/slab.h:711 [inline]
new_dir fs/proc/proc_sysctl.c:956 [inline]
get_subdir fs/proc/proc_sysctl.c:1000 [inline]
sysctl_mkdir_p fs/proc/proc_sysctl.c:1295 [inline]
__register_sysctl_table+0xb30/0x1440 fs/proc/proc_sysctl.c:1376
neigh_sysctl_register+0x416/0x500 net/core/neighbour.c:3859
devinet_sysctl_register+0xaf/0x1f0 net/ipv4/devinet.c:2644
inetdev_init+0x296/0x4d0 net/ipv4/devinet.c:286
inetdev_event+0x338/0x15c0 net/ipv4/devinet.c:1555
notifier_call_chain+0x18f/0x3b0 kernel/notifier.c:93
call_netdevice_notifiers_extack net/core/dev.c:1987 [inline]
call_netdevice_notifiers net/core/dev.c:2001 [inline]
register_netdevice+0x15b2/0x1a20 net/core/dev.c:10340
br_dev_newlink+0x27/0x100 net/bridge/br_netlink.c:1563
rtnl_newlink_create net/core/rtnetlink.c:3497 [inline]
__rtnl_newlink net/core/rtnetlink.c:3717 [inline]
rtnl_newlink+0x158f/0x20a0 net/core/rtnetlink.c:3730
page last free pid 11583 tgid 11583 stack trace:
reset_page_owner include/linux/page_owner.h:24 [inline]
free_pages_prepare mm/page_alloc.c:1140 [inline]
free_unref_page_prepare+0x968/0xa90 mm/page_alloc.c:2346
free_unref_page+0x37/0x3f0 mm/page_alloc.c:2486
kasan_depopulate_vmalloc_pte+0x74/0x90 mm/kasan/shadow.c:415
apply_to_pte_range mm/memory.c:2619 [inline]
apply_to_pmd_range mm/memory.c:2663 [inline]
apply_to_pud_range mm/memory.c:2699 [inline]
apply_to_p4d_range mm/memory.c:2735 [inline]
__apply_to_page_range+0x8ec/0xe40 mm/memory.c:2769
kasan_release_vmalloc+0x9a/0xb0 mm/kasan/shadow.c:532
__purge_vmap_area_lazy+0x163f/0x1a10 mm/vmalloc.c:1770
drain_vmap_area_work+0x40/0xd0 mm/vmalloc.c:1804
process_one_work kernel/workqueue.c:2633 [inline]
process_scheduled_works+0x913/0x1420 kernel/workqueue.c:2706
worker_thread+0xa5f/0x1000 kernel/workqueue.c:2787
kthread+0x2ef/0x390 kernel/kthread.c:388
ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x1b/0x30 arch/x86/entry/entry_64.S:242
Memory state around the buggy address:
ffff88809a07fb00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
ffff88809a07fb80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
>ffff88809a07fc00: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
^
ffff88809a07fc80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff88809a07fd00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
Fixes: 3b1137fe7482 ("net: ipv6: Change notifications for multipath add to RTA_MULTIPATH")
Reported-by: syzbot <syzkaller(a)googlegroups.com>
Signed-off-by: Eric Dumazet <edumazet(a)google.com>
Reviewed-by: David Ahern <dsahern(a)kernel.org>
Link: https://lore.kernel.org/r/20240303144801.702646-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba(a)kernel.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Ziyang Xuan <william.xuanziyang(a)huawei.com>
---
net/ipv6/route.c | 21 +++++++--------------
1 file changed, 7 insertions(+), 14 deletions(-)
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 83eba35adba9..b0aaac94d7f8 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -4530,25 +4530,19 @@ static int ip6_route_multipath_add(struct fib6_config *cfg,
err_nh = NULL;
list_for_each_entry(nh, &rt6_nh_list, next) {
err = __ip6_ins_rt(nh->fib6_info, info, extack);
- fib6_info_release(nh->fib6_info);
-
- if (!err) {
- /* save reference to last route successfully inserted */
- rt_last = nh->fib6_info;
-
- /* save reference to first route for notification */
- if (!rt_notif)
- rt_notif = nh->fib6_info;
- }
- /* nh->fib6_info is used or freed at this point, reset to NULL*/
- nh->fib6_info = NULL;
if (err) {
if (replace && nhn)
ip6_print_replace_route_err(&rt6_nh_list);
err_nh = nh;
goto add_errout;
}
+ /* save reference to last route successfully inserted */
+ rt_last = nh->fib6_info;
+
+ /* save reference to first route for notification */
+ if (!rt_notif)
+ rt_notif = nh->fib6_info;
/* Because each route is added like a single route we remove
* these flags after the first nexthop: if there is a collision,
@@ -4586,8 +4580,7 @@ static int ip6_route_multipath_add(struct fib6_config *cfg,
cleanup:
list_for_each_entry_safe(nh, nh_safe, &rt6_nh_list, next) {
- if (nh->fib6_info)
- fib6_info_release(nh->fib6_info);
+ fib6_info_release(nh->fib6_info);
list_del(&nh->next);
kfree(nh);
}
--
2.25.1
2
1

[PATCH openEuler-1.0-LTS] geneve: make sure to pull inner header in geneve_rx()
by Ziyang Xuan 26 Apr '24
by Ziyang Xuan 26 Apr '24
26 Apr '24
From: Eric Dumazet <edumazet(a)google.com>
stable inclusion
from stable-v4.19.310
commit e431c3227864b5646601c97f5f898d99472f2914
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9HK9B
CVE: CVE-2024-26857
--------------------------------
[ Upstream commit 1ca1ba465e55b9460e4e75dec9fff31e708fec74 ]
syzbot triggered a bug in geneve_rx() [1]
Issue is similar to the one I fixed in commit 8d975c15c0cd
("ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv()")
We have to save skb->network_header in a temporary variable
in order to be able to recompute the network_header pointer
after a pskb_inet_may_pull() call.
pskb_inet_may_pull() makes sure the needed headers are in skb->head.
[1]
BUG: KMSAN: uninit-value in IP_ECN_decapsulate include/net/inet_ecn.h:302 [inline]
BUG: KMSAN: uninit-value in geneve_rx drivers/net/geneve.c:279 [inline]
BUG: KMSAN: uninit-value in geneve_udp_encap_recv+0x36f9/0x3c10 drivers/net/geneve.c:391
IP_ECN_decapsulate include/net/inet_ecn.h:302 [inline]
geneve_rx drivers/net/geneve.c:279 [inline]
geneve_udp_encap_recv+0x36f9/0x3c10 drivers/net/geneve.c:391
udp_queue_rcv_one_skb+0x1d39/0x1f20 net/ipv4/udp.c:2108
udp_queue_rcv_skb+0x6ae/0x6e0 net/ipv4/udp.c:2186
udp_unicast_rcv_skb+0x184/0x4b0 net/ipv4/udp.c:2346
__udp4_lib_rcv+0x1c6b/0x3010 net/ipv4/udp.c:2422
udp_rcv+0x7d/0xa0 net/ipv4/udp.c:2604
ip_protocol_deliver_rcu+0x264/0x1300 net/ipv4/ip_input.c:205
ip_local_deliver_finish+0x2b8/0x440 net/ipv4/ip_input.c:233
NF_HOOK include/linux/netfilter.h:314 [inline]
ip_local_deliver+0x21f/0x490 net/ipv4/ip_input.c:254
dst_input include/net/dst.h:461 [inline]
ip_rcv_finish net/ipv4/ip_input.c:449 [inline]
NF_HOOK include/linux/netfilter.h:314 [inline]
ip_rcv+0x46f/0x760 net/ipv4/ip_input.c:569
__netif_receive_skb_one_core net/core/dev.c:5534 [inline]
__netif_receive_skb+0x1a6/0x5a0 net/core/dev.c:5648
process_backlog+0x480/0x8b0 net/core/dev.c:5976
__napi_poll+0xe3/0x980 net/core/dev.c:6576
napi_poll net/core/dev.c:6645 [inline]
net_rx_action+0x8b8/0x1870 net/core/dev.c:6778
__do_softirq+0x1b7/0x7c5 kernel/softirq.c:553
do_softirq+0x9a/0xf0 kernel/softirq.c:454
__local_bh_enable_ip+0x9b/0xa0 kernel/softirq.c:381
local_bh_enable include/linux/bottom_half.h:33 [inline]
rcu_read_unlock_bh include/linux/rcupdate.h:820 [inline]
__dev_queue_xmit+0x2768/0x51c0 net/core/dev.c:4378
dev_queue_xmit include/linux/netdevice.h:3171 [inline]
packet_xmit+0x9c/0x6b0 net/packet/af_packet.c:276
packet_snd net/packet/af_packet.c:3081 [inline]
packet_sendmsg+0x8aef/0x9f10 net/packet/af_packet.c:3113
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg net/socket.c:745 [inline]
__sys_sendto+0x735/0xa10 net/socket.c:2191
__do_sys_sendto net/socket.c:2203 [inline]
__se_sys_sendto net/socket.c:2199 [inline]
__x64_sys_sendto+0x125/0x1c0 net/socket.c:2199
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x63/0x6b
Uninit was created at:
slab_post_alloc_hook mm/slub.c:3819 [inline]
slab_alloc_node mm/slub.c:3860 [inline]
kmem_cache_alloc_node+0x5cb/0xbc0 mm/slub.c:3903
kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:560
__alloc_skb+0x352/0x790 net/core/skbuff.c:651
alloc_skb include/linux/skbuff.h:1296 [inline]
alloc_skb_with_frags+0xc8/0xbd0 net/core/skbuff.c:6394
sock_alloc_send_pskb+0xa80/0xbf0 net/core/sock.c:2783
packet_alloc_skb net/packet/af_packet.c:2930 [inline]
packet_snd net/packet/af_packet.c:3024 [inline]
packet_sendmsg+0x70c2/0x9f10 net/packet/af_packet.c:3113
sock_sendmsg_nosec net/socket.c:730 [inline]
__sock_sendmsg net/socket.c:745 [inline]
__sys_sendto+0x735/0xa10 net/socket.c:2191
__do_sys_sendto net/socket.c:2203 [inline]
__se_sys_sendto net/socket.c:2199 [inline]
__x64_sys_sendto+0x125/0x1c0 net/socket.c:2199
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x63/0x6b
Fixes: 2d07dc79fe04 ("geneve: add initial netdev driver for GENEVE tunnels")
Reported-and-tested-by: syzbot+6a1423ff3f97159aae64(a)syzkaller.appspotmail.com
Signed-off-by: Eric Dumazet <edumazet(a)google.com>
Reviewed-by: Jiri Pirko <jiri(a)nvidia.com>
Signed-off-by: David S. Miller <davem(a)davemloft.net>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
Signed-off-by: Ziyang Xuan <william.xuanziyang(a)huawei.com>
---
drivers/net/geneve.c | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c
index a83a7e6fb9ca..386d8a86bbdb 100644
--- a/drivers/net/geneve.c
+++ b/drivers/net/geneve.c
@@ -217,7 +217,7 @@ static void geneve_rx(struct geneve_dev *geneve, struct geneve_sock *gs,
struct metadata_dst *tun_dst = NULL;
struct pcpu_sw_netstats *stats;
unsigned int len;
- int err = 0;
+ int nh, err = 0;
void *oiph;
if (ip_tunnel_collect_metadata() || gs->collect_md) {
@@ -261,9 +261,23 @@ static void geneve_rx(struct geneve_dev *geneve, struct geneve_sock *gs,
goto drop;
}
- oiph = skb_network_header(skb);
+ /* Save offset of outer header relative to skb->head,
+ * because we are going to reset the network header to the inner header
+ * and might change skb->head.
+ */
+ nh = skb_network_header(skb) - skb->head;
+
skb_reset_network_header(skb);
+ if (!pskb_inet_may_pull(skb)) {
+ DEV_STATS_INC(geneve->dev, rx_length_errors);
+ DEV_STATS_INC(geneve->dev, rx_errors);
+ goto drop;
+ }
+
+ /* Get the outer header. */
+ oiph = skb->head + nh;
+
if (geneve_get_sk_family(gs) == AF_INET)
err = IP_ECN_decapsulate(oiph, skb);
#if IS_ENABLED(CONFIG_IPV6)
--
2.25.1
2
1

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

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

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