CVE-2026-98347

IB/IPoIB: Avoid restoring OPER_UP after multicast flush

State
Published
Severity
Not scored
Published
Oct 6, 2026
Updated
Oct 19, 2026
Reserved
Sep 25, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

IB/IPoIB: Avoid restoring OPER_UP after multicast flush

ipoib_ib_dev_flush_light() temporarily clears IPOIB_FLAG_OPER_UP to prevent multicast joins while ipoib_mcast_dev_flush() is running, and restores the flag afterwards if it was previously set.

This restore races with ipoib_ib_dev_down(). If the interface is brought down while the flush is in progress, ipoib_ib_dev_down() clears IPOIB_FLAG_OPER_UP, but the flush path may set it again after the device has already gone down.

Since commit 894021a75291 ("IB/ipoib: Make the carrier_on_task race aware"), ipoib_mcast_carrier_on_task() relies on IPOIB_FLAG_OPER_UP being cleared to terminate its rtnl_trylock() retry loop. If the flag is left set after shutdown, the workqueue retries forever, causing teardown to deadlock when ipoib_ndo_uninit() waits in destroy_workqueue() while holding RTNL.

Instead of overloading IPOIB_FLAG_OPER_UP to block multicast joins during a light flush, introduce a dedicated IPOIB_FLAG_MCAST_FLUSH flag. Use it together with IPOIB_FLAG_OPER_UP to determine whether multicast joins are allowed, avoiding the race with device shutdown.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 344bacca8cd811809fc33a249f2738ab757d327f to before f973769fb7cb33ba0d4a64b7dcfee0cabaead938Affected
  • 344bacca8cd811809fc33a249f2738ab757d327f to before b72f38929f4b5aa83161fd3b22a7327207e51ec5Affected
  • 344bacca8cd811809fc33a249f2738ab757d327f to before 1b11e4b55b41d9e69a8e8d07622614202e2eaca9Affected
  • 344bacca8cd811809fc33a249f2738ab757d327f to before 326f7d34bd7e64de535566b65c0533b640df5a81Affected
  • 344bacca8cd811809fc33a249f2738ab757d327f to before 5ad925d45f28464a5e043c9620880bb6a030da89Affected
  • 344bacca8cd811809fc33a249f2738ab757d327f to before 188b334a6db36a8e0bfaaf59bc4020639a0f3aadAffected
  • 344bacca8cd811809fc33a249f2738ab757d327f to before 1ff3add37c329704ec46181b4ae4f00f9f16ce6fAffected
  • 344bacca8cd811809fc33a249f2738ab757d327f to before 9a141d3dc869d18b2eab35e999f4790a9b84e40fAffected
  • a289c65ca49d2680a3d797e633e57a45573d1df2Affected
  • b81459c78935e4579a577b2366c5f8878d3c7feeAffected
  • 8a9d8dc9ce83a90bfbbe69181acc4cf1beff46f5Affected
  • dfe809702a11bd7fb91c882fb55620e39ce22109Affected
  • 87160fb51bc343793cc8f5f031a87f1a35aecb82Affected
  • 749fd55dd210f9676f0d445a6efaaa3bec65174aAffected
  • 3.2.84 to before 3.3Affected
  • 3.10.105 to before 3.11Affected
  • 3.12.65 to before 3.13Affected
  • 3.16.39 to before 3.17Affected
  • 4.4.24 to before 4.5Affected
  • 4.7.7 to before 4.8Affected
LinuxLinux
  • 4.8Affected
  • before 4.8Not affected
  • 5.10.271 through 5.10.*Not affected
  • 5.15.222 through 5.15.*Not affected
  • 6.1.189 through 6.1.*Not affected
  • 6.6.158 through 6.6.*Not affected
  • 6.12.112 through 6.12.*Not affected
  • 6.18.54 through 6.18.*Not affected
  • 7.2.8 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.