In the Linux kernel, the following vulnerability has been resolved: scsi: storvsc: Fix swiotlb bounce buffer leak in confidential VM storvscqueuecommand() maps the scatter/gather list using scsidmamap(), which in a confidential VM allocates swiotlb bounce buffers. If the I/O submission fails in storvscdoio(), the I/O is typically retried by higher level code, but the bounce buffer memory is never freed. The mostly like cause of I/O submission failure is a full VMBus channel ring buffer, which is not uncommon under high I/O loads. Eventually enough bounce buffer memory leaks that the confidential VM can't do any I/O. The same problem can arise in a non-confidential VM with kernel boot parameter swiotlb=force. Fix this by doing scsidma_unmap() in the case of an I/O submission error, which frees the bounce buffer memory.
{ "availability": "No subscription required", "binaries": [ { "binary_version": "5.15.0-1033.40~20.04.1", "binary_name": "linux-azure-5.15-cloud-tools-5.15.0-1033" }, { "binary_version": "5.15.0-1033.40~20.04.1", "binary_name": "linux-azure-5.15-headers-5.15.0-1033" }, { "binary_version": "5.15.0-1033.40~20.04.1", "binary_name": "linux-azure-5.15-tools-5.15.0-1033" }, { "binary_version": "5.15.0-1033.40~20.04.1", "binary_name": "linux-buildinfo-5.15.0-1033-azure" }, { "binary_version": "5.15.0-1033.40~20.04.1", "binary_name": "linux-cloud-tools-5.15.0-1033-azure" }, { "binary_version": "5.15.0-1033.40~20.04.1", "binary_name": "linux-headers-5.15.0-1033-azure" }, { "binary_version": "5.15.0-1033.40~20.04.1", "binary_name": "linux-image-unsigned-5.15.0-1033-azure" }, { "binary_version": "5.15.0-1033.40~20.04.1", "binary_name": "linux-image-unsigned-5.15.0-1033-azure-dbgsym" }, { "binary_version": "5.15.0-1033.40~20.04.1", "binary_name": "linux-modules-5.15.0-1033-azure" }, { "binary_version": "5.15.0-1033.40~20.04.1", "binary_name": "linux-modules-extra-5.15.0-1033-azure" }, { "binary_version": "5.15.0-1033.40~20.04.1", "binary_name": "linux-tools-5.15.0-1033-azure" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_version": "5.15.0-1033.40~20.04.1.1", "binary_name": "linux-image-unsigned-5.15.0-1033-azure-fde" }, { "binary_version": "5.15.0-1033.40~20.04.1.1", "binary_name": "linux-image-unsigned-5.15.0-1033-azure-fde-dbgsym" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_version": "5.15.0-1033.40", "binary_name": "linux-azure-cloud-tools-5.15.0-1033" }, { "binary_version": "5.15.0-1033.40", "binary_name": "linux-azure-headers-5.15.0-1033" }, { "binary_version": "5.15.0-1033.40", "binary_name": "linux-azure-tools-5.15.0-1033" }, { "binary_version": "5.15.0-1033.40", "binary_name": "linux-buildinfo-5.15.0-1033-azure" }, { "binary_version": "5.15.0-1033.40", "binary_name": "linux-cloud-tools-5.15.0-1033-azure" }, { "binary_version": "5.15.0-1033.40", "binary_name": "linux-headers-5.15.0-1033-azure" }, { "binary_version": "5.15.0-1033.40", "binary_name": "linux-image-unsigned-5.15.0-1033-azure" }, { "binary_version": "5.15.0-1033.40", "binary_name": "linux-image-unsigned-5.15.0-1033-azure-dbgsym" }, { "binary_version": "5.15.0-1033.40", "binary_name": "linux-modules-5.15.0-1033-azure" }, { "binary_version": "5.15.0-1033.40", "binary_name": "linux-modules-extra-5.15.0-1033-azure" }, { "binary_version": "5.15.0-1033.40", "binary_name": "linux-tools-5.15.0-1033-azure" } ] }