[PATCH v2 2/5] um: virtio: fix handling of messages without payload
Johannes Berg
johannes at sipsolutions.net
Tue Dec 15 04:52:22 EST 2020
From: Johannes Berg <johannes.berg at intel.com>
If we have a message without payload, we call full_read() with
len set to 0, which causes it to return -ECONNRESET. Catch this
case and explicitly return 0 for it so we can actually use the
zero-size config-changed message.
Signed-off-by: Johannes Berg <johannes.berg at intel.com>
---
arch/um/drivers/virtio_uml.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/um/drivers/virtio_uml.c b/arch/um/drivers/virtio_uml.c
index ead9a1aea192..030bef37d6d4 100644
--- a/arch/um/drivers/virtio_uml.c
+++ b/arch/um/drivers/virtio_uml.c
@@ -97,6 +97,9 @@ static int full_read(int fd, void *buf, int len, bool abortable)
{
int rc;
+ if (!len)
+ return 0;
+
do {
rc = os_read_file(fd, buf, len);
if (rc > 0) {
--
2.26.2
More information about the linux-um
mailing list