This series fixes a msg_iter desync issue in the virtio vsock transport that can lead to warnings and eventual -ENOMEM under specific failure scenarios (e.g. partial GUP failure during MSG_ZEROCOPY transmission).
To fix this, we need to restore the msg_iter state on transmission failure. However, since virtio vsock transport can be built as a module, we first need to export iov_iter_restore. Patch 1 exports iov_iter_restore. Patch 2 implements the msg_iter restoration in virtio vsock. Changes in v2: - Use iov_iter_savestate()/iov_iter_restore() (Stefano) - Use a single restore point (Stefano) - Reverse xmas tree (Stefano) - Added comments in the code (Stefano) v1: https://lore.kernel.org/all/[email protected]/ Octavian Purdila (2): iov_iter: export iov_iter_restore vsock/virtio: restore msg_iter on transmission failure lib/iov_iter.c | 1 + net/vmw_vsock/virtio_transport_common.c | 13 +++++++++++++ 2 files changed, 14 insertions(+) -- 2.54.0.1136.gdb2ca164c4-goog

