** Changed in: linux (Ubuntu Bionic)
       Status: In Progress => Fix Committed

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1893711

Title:
  [hns3-0901]add hns3_gro_complete for HW GRO process

Status in kunpeng920:
  In Progress
Status in kunpeng920 ubuntu-18.04 series:
  In Progress
Status in kunpeng920 ubuntu-18.04-hwe series:
  Fix Released
Status in kunpeng920 ubuntu-20.04 series:
  Fix Released
Status in kunpeng920 upstream-kernel series:
  Fix Released
Status in linux package in Ubuntu:
  Fix Released
Status in linux source package in Bionic:
  Fix Committed

Bug description:
  [Impact]
  kernel oops on hns3 driver when GRO is enabled.

  [Fix]
  Cherry-pick patches from upstream
  d474d88f8826 net: hns3: add hns3_gro_complete for HW GRO process
  a4d2cdcbb878 net: hns3: minor refactor for hns3_rx_checksum

  [Test]
  No known way to reproduce it in our lab. Regression test only.

  [Regression Potential]
  Patchset only affects hns3 driver. Minimal risk for other drivers and 
platform.
  Stress test on hns3 driver looks good and we also have positive
  feedback from different lab.
  Patches also in Ubuntu kernel since Eoan and no regression observed.

  ------------------------
  [Bug Description]
  When a GRO packet is received by driver, the cwr field in the
  struct tcphdr needs to be checked to decide whether to set the
  SKB_GSO_TCP_ECN for skb_shinfo(skb)->gso_type.

  [Steps to Reproduce]
  1.load PF driver
  2.turn off GRO of stack, turn on HW GRO

  [Actual Results]
  [   32.597752] bond-dcn: link status definitely up for interface enp189s0f0, 
10000 Mbps full duplex
  [1048422.589438] Unable to handle kernel paging request at virtual address 
ffff806000005d0c
  [1048422.597506] Mem abort info:
  [1048422.600463]   ESR = 0x96000005
  [1048422.603679]   Exception class = DABT (current EL), IL = 32 bits
  [1048422.609747]   SET = 0, FnV = 0
  [1048422.612963]   EA = 0, S1PTW = 0
  [1048422.616265] Data abort info:
  [1048422.619309]   ISV = 0, ISS = 0x00000005
  [1048422.623301]   CM = 0, WnR = 0
  [1048422.626431] swapper pgtable: 4k pages, 48-bit VAs, pgd = 0000000096615bf4
  [1048422.633360] [ffff806000005d0c] *pgd=0000205fffff6003, 
*pud=0000000000000000
  [1048422.640465] Internal error: Oops: 96000005 [#1] SMP
  [1048422.645496] Modules linked in: bonding zfs(PO) zunicode(PO) zavl(PO) 
icp(PO) nls_iso8859_1 zcommon(PO) znvpair(PO) spl(O) joydev input_leds 
ipmi_ssif ipmi_si ipmi_devintf shpchp ipmi_msghandler cppc_cpufreq sch_fq_codel 
ib_iser rdma_cm iw_cm ib_cm ib_core iscsi_tcp libiscsi_tcp libiscsi 
scsi_transport_iscsi ip_tables x_tables autofs4 xfs btrfs zstd_compress raid10 
raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq 
libcrc32c raid1 raid0 multipath linear ses enclosure hibmc_drm aes_ce_blk 
aes_ce_cipher ttm realtek crc32_ce drm_kms_helper crct10dif_ce syscopyarea 
ghash_ce hisi_sas_v3_hw sysfillrect sha2_ce sysimgblt hns3 nvme hisi_sas_main 
sha256_arm64 fb_sys_fops sha1_ce drm hclge libsas nvme_core ahci megaraid_sas 
hnae3 scsi_transport_sas libahci gpio_dwapb hid_generic
  [1048422.715911]  usbhid hid aes_neon_bs aes_neon_blk crypto_simd cryptd 
aes_arm64
  [1048422.723192] Process swapper/22 (pid: 0, stack limit = 0x00000000dc9798e5)
  [1048422.730122] CPU: 22 PID: 0 Comm: swapper/22 Tainted: P           O     
4.15.0-96-generic #97-Ubuntu
  [1048422.739297] Hardware name: Huawei TaiShan 200 (Model 2280)/BC82AMDDA, 
BIOS 1.35 04/30/2020
  [1048422.747695] pstate: 80400009 (Nzcv daif +PAN -UAO)
  [1048422.752641] pc : tcp_gro_complete+0x4c/0x80
  [1048422.756988] lr : hns3_clean_rx_ring+0x63c/0x6f0 [hns3]
  [1048422.762274] sp : ffff000009893d00
  [1048422.765746] x29: ffff000009893d00 x28: ffffa05de384d900
  [1048422.771207] x27: ffffa05dc660c6c0 x26: ffffa05dc7a6c280
  [1048422.776668] x25: 0000000000000040 x24: ffffa05dc7a4e000
  [1048422.782130] x23: 0000000000000002 x22: 0000000000000000
  [1048422.787590] x21: 0000000000000000 x20: 0000000000000000
  [1048422.793051] x19: ffffa05de384d900 x18: 0000ffffa3bf2a70
  [1048422.798512] x17: 0000ffffa3b68698 x16: ffff000008307aa0
  [1048422.803973] x15: 00000d920112ac4e x14: 0c96b6405c2a0a08
  [1048422.809435] x13: 010100001cc0f601 x12: 188058b201fc85fd
  [1048422.814896] x11: cd979f72c04ce5db x10: 2087e1db2087679d
  [1048422.820358] x9 : 0640004090cff807 x8 : 00450008f034d971
  [1048422.825820] x7 : 1502726647903506 x6 : 0000000000000002
  [1048422.831281] x5 : ffffa05dc7ad0480 x4 : 0000000000000002
  [1048422.836743] x3 : ffff805fffff5d00 x2 : 0000000000000060
  [1048422.842203] x1 : ffff805fffff5f00 x0 : ffff806000005cff
  [1048422.847665] Call trace:
  [1048422.850276]  tcp_gro_complete+0x4c/0x80
  [1048422.854274]  hns3_clean_rx_ring+0x63c/0x6f0 [hns3]
  [1048422.859217]  hns3_nic_common_poll+0x98/0x220 [hns3]
  [1048422.864247]  net_rx_action+0x160/0x3d8
  [1048422.868153]  __do_softirq+0x134/0x330
  [1048422.871973]  irq_exit+0xcc/0xe0
  [1048422.875275]  __handle_domain_irq+0x6c/0xc0
  [1048422.879526]  gic_handle_irq+0x84/0x180
  [1048422.883431]  el1_irq+0xe8/0x180
  [1048422.886733]  arch_cpu_idle+0x30/0x180
  [1048422.890553]  do_idle+0x138/0x1f0
  [1048422.893941]  cpu_startup_entry+0x28/0x30
  [1048422.898022]  secondary_start_kernel+0x114/0x128
  [1048422.902705] Code: 79407a64 8b202060 39024262 79000c24 (39c03400)
  [1048422.909033] SMP: stopping secondary CPUs
  [1048422.918364] Starting crashdump kernel...
  [1048422.922444] Bye!

  [Expected Results]
  GRO run ok

  [Reproducibility]
  Inevitably

  [Additional information]
  Hardware: D06
  Firmware: NA
  Kernel: NA

  [Resolution]
  Adds hns3_gro_complete to do that, and adds the
  hns3_handle_bdinfo to handle the hns3_gro_complete and
  hns3_rx_checksum.

  net: hns3: add hns3_gro_complete for HW GRO process
  net: hns3: minor refactor for hns3_rx_checksum

To manage notifications about this bug go to:
https://bugs.launchpad.net/kunpeng920/+bug/1893711/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to