Description
In the Linux kernel, the following vulnerability has been resolved: ixgbevf: add missing negotiate_features op to Hyper-V ops table Commit a7075f501bd3 ("ixgbevf: fix mailbox API compatibility by negotiating supported features") added the .negotiate_features callback to ixgbe_mac_operations and populated it in ixgbevf_mac_ops, but forgot to add it to ixgbevf_hv_mac_ops. This leaves the function pointer NULL on Hyper-V VMs. During probe, ixgbevf_negotiate_api() calls ixgbevf_set_features(), which unconditionally dereferences hw->mac.ops.negotiate_features(). On Hyper-V this results in a NULL pointer dereference: BUG: kernel NULL pointer dereference, address: 0000000000000000 [...] Hardware name: Microsoft Corporation Virtual Machine/Virtual Machine [...] Workqueue: events work_for_cpu_fn RIP: 0010:0x0 [...] Call Trace: ixgbevf_negotiate_api+0x66/0x160 [ixgbevf] ixgbevf_sw_init+0xe4/0x1f0 [ixgbevf] ixgbevf_probe+0x20f/0x4a0 [ixgbevf] local_pci_probe+0x50/0xa0 work_for_cpu_fn+0x1a/0x30 [...] Add ixgbevf_hv_negotiate_features_vf() that returns -EOPNOTSUPP and wire it into ixgbevf_hv_mac_ops. The caller already handles -EOPNOTSUPP gracefully.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
871ac1cd4ce4804defcb428cbb003fd84c415ff4 to < 376d74ea03589914fbe2dedcbebf418396c04fd0affected2e0aab9ddaf1428602c78f12064cd1e6ffcc4d18 to < d8a747057a17ffc79e31df1abb11d05e1669d8e5affectedbf580112ed61736c2645a893413a04732505d4b1 to < 2270ebab53128fb73c4a70a292be09094074737faffecteda7075f501bd33c93570af759b6f4302ef0175168 to < 4db7b61ec1d1b2b67c0881b62fc4f9583bc21484affecteda7075f501bd33c93570af759b6f4302ef0175168 to < 1455ff8809843e6e83f1f5b5c0bcc2224c99a3cbaffecteda7075f501bd33c93570af759b6f4302ef0175168 to < 4821d563cd7f251ae728be1a6d04af82a294a5b9affecteda376e29b1b196dc90b50df7e5e3947e3026300c4affected6.1.158 to < 6.1.175affected6.6.114 to < 6.6.136affected6.12.55 to < 6.12.83affected6.17.5 to < 6.18affected
Linux Linux
Default version status: affected
6.18affected0 to < 6.18unaffected6.1.175 to ≤ 6.1.*unaffected6.6.136 to ≤ 6.6.*unaffected6.12.83 to ≤ 6.12.*unaffected6.18.24 to ≤ 6.18.*unaffected6.19.14 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/376d74ea03589914fbe2dedcbebf418396c04fd0 ↗
- https://git.kernel.org/stable/c/d8a747057a17ffc79e31df1abb11d05e1669d8e5 ↗
- https://git.kernel.org/stable/c/2270ebab53128fb73c4a70a292be09094074737f ↗
- https://git.kernel.org/stable/c/4db7b61ec1d1b2b67c0881b62fc4f9583bc21484 ↗
- https://git.kernel.org/stable/c/1455ff8809843e6e83f1f5b5c0bcc2224c99a3cb ↗
- https://git.kernel.org/stable/c/4821d563cd7f251ae728be1a6d04af82a294a5b9 ↗
- https://cert-portal.siemens.com/productcert/html/ssa-784472.html ↗