Linux: net: mana: Reserve extra CQ slot for the fence completion CQE
What fixes it
- 62eb52454afcc1d390b8624c5d1ddc92cf382f39LinuxCVE List
- 1e43c407624d2111c19d4d8ffe9b2191a0ec42deLinuxCVE List
- 6c739cb89ebd6cf225dac46d2721e11927a7ead4LinuxCVE List
- 80dd7e754b3aa9637a0758ad93fa209f9650ec48LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
net: mana: Reserve extra CQ slot for the fence completion CQE
The RX completion queue is sized to hold exactly one CQE per posted RX WQE. MANA_FENCE_RQ makes hardware post an additional CQE_RX_OBJECT_FENCE after the packet CQEs. The current sizing reserves no extra slot for it and in rare cases, CQ has no guaranteed slot for the fence CQE when it is full of packet CQEs. This can lead to dropping the fence completion while the driver waits holding RTNL lock throughout the timeout duration. Reserve one extra CQE slot for CQE_RX_OBJECT_FENCE. mana_gd_alloc_memory() requires queue_size to be a power-of-two and at least MANA_PAGE_SIZE; the reservation pushes cq_size past a power-of-two, so round up the CQ size in mana_create_rxq().
Text from CVE List
Affected versions 12
- Linuxaffected: 6cc74443a7732d7e93bee3d0c3704a22cc7274d9 before f7d76b84b9206eef4320d8ab715d65f944535acfCVE List
- Linuxaffected: 6cc74443a7732d7e93bee3d0c3704a22cc7274d9 before 62eb52454afcc1d390b8624c5d1ddc92cf382f39CVE List
- Linuxaffected: 6cc74443a7732d7e93bee3d0c3704a22cc7274d9 before 1e43c407624d2111c19d4d8ffe9b2191a0ec42deCVE List
- Linuxaffected: 6cc74443a7732d7e93bee3d0c3704a22cc7274d9 before 6c739cb89ebd6cf225dac46d2721e11927a7ead4CVE List
- Linuxaffected: 6cc74443a7732d7e93bee3d0c3704a22cc7274d9 before 80dd7e754b3aa9637a0758ad93fa209f9650ec48CVE List
- Linuxaffected: 5.17CVE List
- Linuxunaffected: all versions before 5.17CVE List
- Linuxunaffected: 6.6.158 through 6.6.*CVE List
- Linuxunaffected: 6.12.111 through 6.12.*CVE List
- Linuxunaffected: 6.18.53 through 6.18.*CVE List
- Linuxunaffected: 7.2.7 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 5
- git.kernel.org/stable/c/f7d76b84b9206eef4320d8ab715d65f944535acfReferencevia CVE List
- git.kernel.org/stable/c/62eb52454afcc1d390b8624c5d1ddc92cf382f39Referencevia CVE List
- git.kernel.org/stable/c/1e43c407624d2111c19d4d8ffe9b2191a0ec42deReferencevia CVE List
- git.kernel.org/stable/c/6c739cb89ebd6cf225dac46d2721e11927a7ead4Referencevia CVE List
- git.kernel.org/stable/c/80dd7e754b3aa9637a0758ad93fa209f9650ec48Referencevia CVE List