]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 11 Jan 2026 14:22:32 +0000 (15:22 +0100)
commit 5326ab737a47278dbd16ed3ee7380b26c7056ddd upstream.

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>
Cc: Filip Hejsek <filip.hejsek@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/virtio_console.c

index 80e0f485170a8fbb30222305f3f4108aab8c3810..f09b02f85cf6b2d7f9820d0a93b4409c9e4c544a 100644 (file)
@@ -1612,8 +1612,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))