CVE-2024-26587

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-26587
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-26587.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2024-26587
Downstream
Published
2024-02-22T16:13:32Z
Modified
2025-10-21T18:45:42.265098Z
Summary
net: netdevsim: don't try to destroy PHC on VFs
Details

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

net: netdevsim: don't try to destroy PHC on VFs

PHC gets initialized in nsiminitnetdevsim(), which is only called if (nsimdevportispf()).

Create a counterpart of nsiminitnetdevsim() and move the mockphcdestroy() there.

This fixes a crash trying to destroy netdevsim with VFs instantiated, as caught by running the devlink.sh test:

BUG: kernel NULL pointer dereference, address: 00000000000000b8
RIP: 0010:mock_phc_destroy+0xd/0x30
Call Trace:
 <TASK>
 nsim_destroy+0x4a/0x70 [netdevsim]
 __nsim_dev_port_del+0x47/0x70 [netdevsim]
 nsim_dev_reload_destroy+0x105/0x120 [netdevsim]
 nsim_drv_remove+0x2f/0xb0 [netdevsim]
 device_release_driver_internal+0x1a1/0x210
 bus_remove_device+0xd5/0x120
 device_del+0x159/0x490
 device_unregister+0x12/0x30
 del_device_store+0x11a/0x1a0 [netdevsim]
 kernfs_fop_write_iter+0x130/0x1d0
 vfs_write+0x30b/0x4b0
 ksys_write+0x69/0xf0
 do_syscall_64+0xcc/0x1e0
 entry_SYSCALL_64_after_hwframe+0x6f/0x77
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b63e78fca889e07931ec8f259701718a24e5052e
Fixed
08aca65997fb6f233066883b1f1e653bcb1f26ca
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b63e78fca889e07931ec8f259701718a24e5052e
Fixed
c5068e442eed063d2f1658e6b6d3c1c6fcf1e588
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b63e78fca889e07931ec8f259701718a24e5052e
Fixed
ea937f77208323d35ffe2f8d8fc81b00118bfcda

Affected versions

v6.*

v6.5
v6.5-rc5
v6.5-rc6
v6.5-rc7
v6.6
v6.6-rc1
v6.6-rc2
v6.6-rc3
v6.6-rc4
v6.6-rc5
v6.6-rc6
v6.6-rc7
v6.6.1
v6.6.10
v6.6.11
v6.6.12
v6.6.13
v6.6.2
v6.6.3
v6.6.4
v6.6.5
v6.6.6
v6.6.7
v6.6.8
v6.6.9
v6.7
v6.7-rc1
v6.7-rc2
v6.7-rc3
v6.7-rc4
v6.7-rc5
v6.7-rc6
v6.7-rc7
v6.7-rc8
v6.7.1

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.6.0
Fixed
6.6.14
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.7.2