]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
virtio_console: fix order of fields cols and rows
authorMaximilian Immanuel Brandtner <maxbr@linux.ibm.com>
Mon, 24 Mar 2025 14:42:46 +0000 (15:42 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 18 Apr 2025 14:08:11 +0000 (10:08 -0400)
According to section 5.3.6.2 (Multiport Device Operation) of the virtio
spec(version 1.2) a control buffer with the event VIRTIO_CONSOLE_RESIZE
is followed by a virtio_console_resize struct containing cols then rows.
The kernel implements this the wrong way around (rows then cols) resulting
in the two values being swapped.

Signed-off-by: Maximilian Immanuel Brandtner <maxbr@linux.ibm.com>
Message-Id: <20250324144300.905535-1-maxbr@linux.ibm.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/char/virtio_console.c

index 216c5115637d39575754d6ec12e20cccc3262703..088182e54debd6029ea2c2a5542d7a28500e67b8 100644 (file)
@@ -1576,8 +1576,8 @@ static void handle_control_message(struct virtio_device *vdev,
                break;
        case VIRTIO_CONSOLE_RESIZE: {
                struct {
-                       __virtio16 rows;
                        __virtio16 cols;
+                       __virtio16 rows;
                } size;
 
                if (!is_console_port(port))