]> 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>
Mon, 19 Jan 2026 12:12:00 +0000 (13:12 +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 5c8f009bb6f7ce28919b87b3d9026924d873dae0..712db89020f315a4c7a2b88a8e31ee629cb3515c 100644 (file)
@@ -1617,8 +1617,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))