In the Linux kernel, the following vulnerability has been resolved: uacce: ensure safe queue release with state management Directly calling `put_queue` carries risks since it cannot guarantee that resources of `uacce_queue` have been fully released beforehand. So adding a `stop_queue` operation for the UACCE_CMD_PUT_Q command and leaving the `put_queue` operation to the final resource release ensures safety. Queue states are defined as follows: - UACCE_Q_ZOMBIE: Initial state - UACCE_Q_INIT: After opening `uacce` - UACCE_Q_STARTED: After `start` is issued via `ioctl` When executing `poweroff -f` in virt while accelerator are still working, `uacce_fops_release` and `uacce_remove` may execute concurrently. This can cause `uacce_put_queue` within `uacce_fops_release` to access a NULL `ops` pointer. Therefore, add state checks to prevent accessing freed pointers.
| Date Added | Due Date | Vulnerability Name | Required Action |
|---|---|---|---|
| N/A |
| Type | Version | Base score | Base severity | Vector |
|---|---|---|---|---|
| Primary | 3.1 | 5.5 | MEDIUM | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
| Hyperlink | Source | Resource |
|---|---|---|
| https://git.kernel.org/stable/c/26c08dabe5475d99a13f353d8dd70e518de45663 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | Patch |
| https://git.kernel.org/stable/c/336fb41a186e7c0415ae94fec9e23d1f04b87483 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | Patch |
| https://git.kernel.org/stable/c/43f233eb6e7b9d88536881a9bc43726d0e34800d | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | Patch |
| https://git.kernel.org/stable/c/47634d70073890c9c37e39ab4ff93d4b585b028a | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | Patch |
| https://git.kernel.org/stable/c/8b57bf1d3b1db692f34bce694a03e41be79f6016 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | Patch |
| https://git.kernel.org/stable/c/92e4f11e29b98ef424ff72d6371acac03e5d973c | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | Patch |
| https://git.kernel.org/stable/c/b457abeb5d962db88aaf60e249402fd3073dbfab | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | Patch |