| From bippy-5f407fcff5a0 Mon Sep 17 00:00:00 2001 |
| From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| To: <linux-cve-announce@vger.kernel.org> |
| Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org> |
| Subject: CVE-2022-49625: sfc: fix kernel panic when creating VF |
| |
| Description |
| =========== |
| |
| In the Linux kernel, the following vulnerability has been resolved: |
| |
| sfc: fix kernel panic when creating VF |
| |
| When creating VFs a kernel panic can happen when calling to |
| efx_ef10_try_update_nic_stats_vf. |
| |
| When releasing a DMA coherent buffer, sometimes, I don't know in what |
| specific circumstances, it has to unmap memory with vunmap. It is |
| disallowed to do that in IRQ context or with BH disabled. Otherwise, we |
| hit this line in vunmap, causing the crash: |
| BUG_ON(in_interrupt()); |
| |
| This patch reenables BH to release the buffer. |
| |
| Log messages when the bug is hit: |
| kernel BUG at mm/vmalloc.c:2727! |
| invalid opcode: 0000 [#1] PREEMPT SMP NOPTI |
| CPU: 6 PID: 1462 Comm: NetworkManager Kdump: loaded Tainted: G I --------- --- 5.14.0-119.el9.x86_64 #1 |
| Hardware name: Dell Inc. PowerEdge R740/06WXJT, BIOS 2.8.2 08/27/2020 |
| RIP: 0010:vunmap+0x2e/0x30 |
| ...skip... |
| Call Trace: |
| __iommu_dma_free+0x96/0x100 |
| efx_nic_free_buffer+0x2b/0x40 [sfc] |
| efx_ef10_try_update_nic_stats_vf+0x14a/0x1c0 [sfc] |
| efx_ef10_update_stats_vf+0x18/0x40 [sfc] |
| efx_start_all+0x15e/0x1d0 [sfc] |
| efx_net_open+0x5a/0xe0 [sfc] |
| __dev_open+0xe7/0x1a0 |
| __dev_change_flags+0x1d7/0x240 |
| dev_change_flags+0x21/0x60 |
| ...skip... |
| |
| The Linux kernel CVE team has assigned CVE-2022-49625 to this issue. |
| |
| |
| Affected and fixed versions |
| =========================== |
| |
| Issue introduced in 4.2 with commit d778819609a27efd5358da8151a0ad3507243e19 and fixed in 4.9.324 with commit d9840212a9c00507347c703f4fdeda16400407e0 |
| Issue introduced in 4.2 with commit d778819609a27efd5358da8151a0ad3507243e19 and fixed in 4.14.289 with commit b9072305270579a9d6afc9b926166231e5b1a7c8 |
| Issue introduced in 4.2 with commit d778819609a27efd5358da8151a0ad3507243e19 and fixed in 4.19.253 with commit 82bcb730f856086f033e6c04082eb4503d4c2fa4 |
| Issue introduced in 4.2 with commit d778819609a27efd5358da8151a0ad3507243e19 and fixed in 5.4.207 with commit da346adcf5573fd8663cabfdfe8371009629a906 |
| Issue introduced in 4.2 with commit d778819609a27efd5358da8151a0ad3507243e19 and fixed in 5.10.132 with commit b82e4ad58a7fb72456503958a93060f87896e629 |
| Issue introduced in 4.2 with commit d778819609a27efd5358da8151a0ad3507243e19 and fixed in 5.15.56 with commit 68e5f32f0de9594629ff9e599294d9801c6187de |
| Issue introduced in 4.2 with commit d778819609a27efd5358da8151a0ad3507243e19 and fixed in 5.18.13 with commit 16662524ec5da801fb78a1afcaf6e782f1cf103a |
| Issue introduced in 4.2 with commit d778819609a27efd5358da8151a0ad3507243e19 and fixed in 5.19 with commit ada74c5539eba06cf8b47d068f92e0b3963a9a6e |
| |
| Please see https://www.kernel.org for a full list of currently supported |
| kernel versions by the kernel community. |
| |
| Unaffected versions might change over time as fixes are backported to |
| older supported kernel versions. The official CVE entry at |
| https://cve.org/CVERecord/?id=CVE-2022-49625 |
| will be updated if fixes are backported, please check that for the most |
| up to date information about this issue. |
| |
| |
| Affected files |
| ============== |
| |
| The file(s) affected by this issue are: |
| drivers/net/ethernet/sfc/ef10.c |
| |
| |
| Mitigation |
| ========== |
| |
| The Linux kernel CVE team recommends that you update to the latest |
| stable kernel version for this, and many other bugfixes. Individual |
| changes are never tested alone, but rather are part of a larger kernel |
| release. Cherry-picking individual commits is not recommended or |
| supported by the Linux kernel community at all. If however, updating to |
| the latest release is impossible, the individual changes to resolve this |
| issue can be found at these commits: |
| https://git.kernel.org/stable/c/d9840212a9c00507347c703f4fdeda16400407e0 |
| https://git.kernel.org/stable/c/b9072305270579a9d6afc9b926166231e5b1a7c8 |
| https://git.kernel.org/stable/c/82bcb730f856086f033e6c04082eb4503d4c2fa4 |
| https://git.kernel.org/stable/c/da346adcf5573fd8663cabfdfe8371009629a906 |
| https://git.kernel.org/stable/c/b82e4ad58a7fb72456503958a93060f87896e629 |
| https://git.kernel.org/stable/c/68e5f32f0de9594629ff9e599294d9801c6187de |
| https://git.kernel.org/stable/c/16662524ec5da801fb78a1afcaf6e782f1cf103a |
| https://git.kernel.org/stable/c/ada74c5539eba06cf8b47d068f92e0b3963a9a6e |