CVE-2026-98544 PUBLISHED

bna: prevent IOC timer rearm during teardown

Assigner: Linux
Reserved: 25.09.2026 Published: 18.10.2026 Updated: 18.10.2026

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

bna: prevent IOC timer rearm during teardown

bna: prevent IOC timer rearm during teardown

bnad_pci_remove() and the probe disable_ioceth path call timer_delete_sync() for ioc_timer, sem_timer and hb_timer, but not for iocpf_timer. bnad_iocpf_timeout() then takes bnad->bna_lock after free_netdev() has freed the struct bnad.

Deleting iocpf_timer last does not fix this. sem_timer and iocpf_timer rearm each other: bnad_iocpf_sem_timeout() can arm iocpf_timer, and bnad_iocpf_timeout() arms sem_timer from bfa_ioc_hw_sem_get() when the semaphore is busy. timer_delete_sync() only waits out its own callback. bnad_ioceth_disable() can time out and leave that callback live.

Shut all four IOC timers down with timer_shutdown_sync() on both paths, so a later mod_timer() is ignored.

This issue was identified during our ongoing static-analysis research while reviewing kernel code.

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from 1d32f7696286eef9e5644eb57e79a36756274357 to 28e32ace754b57534ef0ca0fb99bcbea5b13ba2a (excl.)
  • affected from 1d32f7696286eef9e5644eb57e79a36756274357 to 4d97a141e85a034566c33c7ed854c8a3e8a268f1 (excl.)
  • affected from 1d32f7696286eef9e5644eb57e79a36756274357 to e09d1c6729ee4a7812128902d9274ff565f958b8 (excl.)
  • affected from 1d32f7696286eef9e5644eb57e79a36756274357 to 77b1718e39e5c9f6956fb60807326af20baf889d (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 2.6.38 is affected
  • unaffected from 0 to 2.6.38 (excl.)
  • unaffected from 6.12.112 to 6.12.* (incl.)
  • unaffected from 6.18.55 to 6.18.* (incl.)
  • unaffected from 7.2.9 to 7.2.* (incl.)
  • unaffected from 7.3-rc5 to * (incl.)

References