398 Star 1.4K Fork 1.3K

GVPopenEuler / kernel

 / 详情

【20.03-LTS-SP2】【x86】在测试大数据业务时,设置hinic驱动的加载参数rx_buff=8,SSH连接概率性断开,SCP失败

已完成
缺陷 成员
创建于  
2021-12-25 17:34

【标题描述】在测试大数据业务时,设置hinic网卡驱动的加载参数rx_buff=8,SSH连接概率性断开,SCP失败
【环境信息】
软件信息:
1) OS版本及分支:
[root@localhost home]# cat /etc/os-release
NAME="openEuler"
VERSION="20.03 (LTS-SP2)"
ID="openEuler"
VERSION_ID="20.03"
PRETTY_NAME="openEuler 20.03 (LTS-SP2)"
ANSI_COLOR="0;31"
2) 内核信息:Linux localhost.localdomain 4.19.90-2106.3.0.0095.oe1.x86_64 #1 SMP Wed Jun 23 15:18:59 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
3) 发现问题的组件版本信息
[root@localhost home]# modinfo hinic
filename: /lib/modules/4.19.90-2106.3.0.0095.oe1.x86_64/kernel/drivers/net/ethernet/huawei/hinic/hinic.ko
license: GPL
version: 2.3.2.18
description: Huawei(R) Intelligent Network Interface Card Driver
author: Huawei Technologies CO., Ltd
srcversion: C6EDCC97F6EB873377B4709
如果有特殊组网,请提供网络拓扑图
【问题复现步骤】
1.从新加载hinic驱动并设置rx_buff=8: rmmod hinic; modprobe hinic rx_buff=8
2.配置IP并与对端ping 大包:ping 192.168.0.100 -s 1500;概率性出现失败,message中有如下打印:
CPU: 3 PID: 494041 Comm: ping Kdump: loaded Tainted: G W OE 4.19.90-2106.3.0.0095.oe1.x86_64 #1
Hardware name: Huawei Technologies Co., Ltd. RH2288H V3/BC11HGSA0, BIOS 5.15 05/21/2019
RIP: 0010:copy_page_to_iter+0x154/0x310
Code: 31 b8 00 10 00 00 f7 c6 00 80 00 00 74 07 0f b6 49 51 48 d3 e0 48 39 c2 0f 86 ed fe ff ff 48 c7 c7 30
RSP: 0018:ffffbd6907d03bd8 EFLAGS: 00010286
RAX: 0000000000000024 RBX: ffffe0ffee5b3000 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffff9edbbfcd6858 RDI: ffff9edbbfcd6858
RBP: 0000000000000001 R08: 000000000001574a R09: 0000000000000004
R10: 000000000000004e R11: 0000000000000001 R12: ffffbd6907d03ed0
R13: 0000000000002100 R14: 0000000000000030 R15: 0000000000000000
FS: 00007f9d37244dc0(0000) GS:ffff9edbbfcc0000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007ffe0e715f80 CR3: 000000203c018005 CR4: 00000000001606e0
Call Trace:
skb_copy_datagram_iter+0x16c/0x2a0
raw_recvmsg+0xd0/0x1f0
inet_recvmsg+0x5b/0xd0
____sys_recvmsg+0x95/0x160
? import_iovec+0x37/0xd0
? copy_msghdr_from_user+0x5c/0x90
___sys_recvmsg+0x8c/0xd0
? __audit_syscall_exit+0x228/0x290
? kretprobe_trampoline+0x25/0x50
? __sys_recvmsg+0x5b/0xa0
__sys_recvmsg+0x5b/0xa0
do_syscall_64+0x5f/0x240
entry_SYSCALL_64_after_hwframe+0x44/0xa9

出现概率:ping长时间大概率出现

【预期结果】
网络业务正常
【实际结果】
网络业务异常
【附件信息】
如上message日志信息

评论 (3)

Chiqijun 创建了缺陷

Hi chiqijun, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Kernel, and any of the maintainers: @成坚 (CHENG Jian) , @Qiuuuuu , @zhengzengkai , @gogooo , @pi3orama , @Xie XiuQi , @YangYingliang

openeuler-ci-bot 添加了
 
sig/Kernel
标签
Chiqijun 任务状态待办的 修改为已确认

修复patch链接:
71de5c9

问题原因:
设置rx_buff大于2 ,在系统PAGE_SIZE=4K的情况下,需要使用到多个连续page内存(复合页),驱动申请内存时没有设置复合页标记,导致报文从内核态拷贝时出现异常

Chiqijun 任务状态已确认 修改为已完成

诚邀Issue的创建人,负责人,协作人以及评论人对此次Issue解决过程给予评价:

   0   1   2   3   4   5   6   7   8   9   10  

 不满意                        非常满意

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
5329419 openeuler ci bot 1632792936 9968373 openeuler survey bot 1637036855
C
1
https://gitee.com/openeuler/kernel.git
git@gitee.com:openeuler/kernel.git
openeuler
kernel
kernel

搜索帮助