oob_net0 up but stops processing Rx packets

Bug #1942932 reported by David Thompson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-bluefield (Ubuntu)
New
Undecided
Unassigned
Focal
Fix Released
Undecided
Unassigned

Bug Description

SRU Justification:

[Impact]
* The oob_net0 interface, managed by the mlxbf_gige driver, will be
  up and enabled but can stop processing received packets if three
  specific conditions occur:
  1) driver has received more than (N * RxRingSize) packets but less
     than (N+1 * RxRingSize) packets where N is an odd number.
     Note: the command "ethtool -g oob_net0" will display the current
     receive ring size, which currently defaults to 128.
  2) the driver's interface was disabled via "ifconfig oob_net0 down"
     during the window described in #1.
  3) the driver's interface is re-enabled via "ifconfig oob_net0 up"

  Without this fix, the driver needs to be unloaded and re-loaded
  to correct this condition.

[Fix]
* The fix is to ensure that the driver's "valid_polarity" field
  is cleared during the open() method so that it always matches
  the receive polarity used by hardware.

[Test Case]
* To test this fix, need to send in a specific number of packets to
  the "oob_net0" interface, then issue "ifconfig oob_net0 down" to
  disable the interface. A subsequent "ifconfig oob_net0 up" command
  will succesfully bring up the "oob_net0" interface and start the
  processing of received packets.

[Regression Potential]
* There is low risk of this fix causing any problems.

[Other]
* The mlxbf_gige driver will display v1.25 in modinfo after these changes.

CVE References

Changed in linux-bluefield (Ubuntu Focal):
status: New → In Progress
Changed in linux-bluefield (Ubuntu Focal):
status: In Progress → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-bluefield/5.4.0-1020.23 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-focal
Revision history for this message
Kelsey Steele (kelsey-steele) wrote :

Hi David, may you please verify this is resolved in the kernel sitting in proposed? You can find instructions for how to do this in comment #1. thank you!

Revision history for this message
Meriton Tuli (meriton) wrote :

Using 5.4.0-1020-bluefield, this Issue as been fixed:

# ifconfig oob_net0
oob_net0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet xxx.xxx.xxx.xxx netmask 255.255.255.0 broadcast 192.168.200.255
inet6 ---- prefixlen 64 scopeid 0x20<link>
ether XX:XX:XX:XX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 136 bytes 11177 (11.1 KB)
RX errors 0 dropped 3 overruns 0 frame 0
TX packets 64 bytes 6526 (6.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

root@localhost:~# ifconfig oob_net0 down
root@localhost:~# ifconfig oob_net0 up

# ifconfig oob_net0
oob_net0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet xxx.xxx.xxx.xxx netmask 255.255.255.0 broadcast 192.168.200.255
inet6 ---- prefixlen 64 scopeid 0x20<link>
ether XX:XX:XX:XX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 145 bytes 12281 (12.2 KB)
RX errors 0 dropped 3 overruns 0 frame 0
TX packets 75 bytes 8438 (8.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

tags: added: verification-done-focal
removed: verification-needed-focal
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (45.3 KiB)

This bug was fixed in the package linux-bluefield - 5.4.0-1020.23

---------------
linux-bluefield (5.4.0-1020.23) focal; urgency=medium

  * focal/linux-bluefield: 5.4.0-1020.23 -proposed tracker (LP: #1944877)

  * liburing stops working after upgrading to 5.4.0-1012 (LP: #1946219)
    - SAUCE: Revert "block: don't ignore REQ_NOWAIT for direct IO"

  * mlxbf_gige: update driver version to 1.25 (LP: #1943065)
    - SAUCE: mlxbf_gige: update driver version to 1.25

  * oob_net0 up but stops processing Rx packets (LP: #1942932)
    - SAUCE: mlxbf_gige: clear valid_polarity upon open

  * "ethtool -S oob_net0" does not report interrupt counts (LP: #1942931)
    - SAUCE: mlxbf_gige: add interrupt counts to "ethtool -S"

  [ Ubuntu: 5.4.0-89.100 ]

  * focal/linux: 5.4.0-89.100 -proposed tracker (LP: #1944901)
  * Packaging resync (LP: #1786013)
    - debian/dkms-versions -- update from kernel-versions (main/2021.09.27)
  * ext4 journal recovery fails w/ data=journal + mmap (LP: #1847340)
    - jbd2: introduce/export functions
      jbd2_journal_submit|finish_inode_data_buffers()
    - jbd2, ext4, ocfs2: introduce/use journal callbacks
      j_submit|finish_inode_data_buffers()
    - ext4: data=journal: fixes for ext4_page_mkwrite()
    - ext4: data=journal: write-protect pages on j_submit_inode_data_buffers()
    - ext4: fix mmap write protection for data=journal mode
  * CVE-2021-40490
    - ext4: fix race writing to an inline_data file while its xattrs are changing
  * Obsolete patch "UBUNTU: SAUCE: ext4: fix directory index node split
    corruption" (LP: #1942902)
    - Revert "UBUNTU: SAUCE: ext4: fix directory index node split corruption"
  * psock_snd.sh in net from ubuntu_kernel_selftests ADT failure with
    focal/groovy/hirsute/impish (LP: #1892213)
    - selftests/net: remove min gso test in packet_snd
  * Focal update: v5.4.143 upstream stable release (LP: #1944212)
    - ext4: fix EXT4_MAX_LOGICAL_BLOCK macro
    - x86/fpu: Make init_fpstate correct with optimized XSAVE
    - ath: Use safer key clearing with key cache entries
    - ath9k: Clear key cache explicitly on disabling hardware
    - ath: Export ath_hw_keysetmac()
    - ath: Modify ath_key_delete() to not need full key entry
    - ath9k: Postpone key cache entry deletion for TXQ frames reference it
    - mtd: cfi_cmdset_0002: fix crash when erasing/writing AMD cards
    - media: zr364xx: propagate errors from zr364xx_start_readpipe()
    - media: zr364xx: fix memory leaks in probe()
    - media: drivers/media/usb: fix memory leak in zr364xx_probe
    - USB: core: Avoid WARNings for 0-length descriptor requests
    - dmaengine: xilinx_dma: Fix read-after-free bug when terminating transfers
    - dmaengine: usb-dmac: Fix PM reference leak in usb_dmac_probe()
    - ARM: dts: am43x-epos-evm: Reduce i2c0 bus speed for tps65218
    - dmaengine: of-dma: router_xlate to return -EPROBE_DEFER if controller is not
      yet available
    - scsi: megaraid_mm: Fix end of loop tests for list_for_each_entry()
    - scsi: scsi_dh_rdac: Avoid crash during rdac_bus_attach()
    - scsi: core: Avoid printing an error if target_alloc() returns -ENXIO
    - scsi: core: Fix capacity set to zero a...

Changed in linux-bluefield (Ubuntu Focal):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.