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
- 48 participants
- 18701 discussions

[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

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

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