On Thu, 20 Mar 2025 18:26:54 +0100 Maximilian Immanuel Brandtner <ma...@linux.ibm.com> wrote:
Let my try to do some nitpicking here. First on the subject. I would go with something more specific like "fix order of fields cols and rows", especially now that we have figured out the byte order handling is absent as well. > According to section 5.3.6.2 of the virtio spec a control buffer with I would refrain form referencing section from the spec only by its number without also telling which incarnation of the spec you mean. I don't think those numbers are set in stone. > the event VIRITO_CONSOLE_RESIZE is followed by a virtio_console_resize > struct containing 2 little endian 16bit integerts cols,rows. s/integerts/integers/ I think technically it is still the same buffer. I would opt for struct virtio_console_control is followed by struct virtio_console_resize. > The kernel > implementation assums native endianness (which results in mangled > values on big endian architectures)(a seperate patch by Halil Pasic > will deal with that issue) and swaps the ordering of columns and rows. I would simply omit the reference to the other patch. I understand that you introduced this because your patch does not deliver everything that the short description promises. I didn't realize that addressing the byte order stuff would cause a merge conflict, but it does. So maybe it would make sense to rebase your fix on top of mine and send it as a series titled. "Make resize control event handling compliant with spec". Just an idea. > This patch changes the ordering of rows and columns to columns then > rows. > > Fixes: 8345adbf96fc1 ("virtio: console: Accept console size along with > resize control message") Signed-off-by: Maximilian Immanuel Brandtner > <ma...@linux.ibm.com> Cc: sta...@vger.kernel.org # v2.6.35+ > --- > drivers/char/virtio_console.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/char/virtio_console.c > b/drivers/char/virtio_console.c index 24442485e73e..9668e89873cf 100644 > --- a/drivers/char/virtio_console.c > +++ b/drivers/char/virtio_console.c > @@ -1579,8 +1579,8 @@ static void handle_control_message(struct > virtio_device *vdev, break; > case VIRTIO_CONSOLE_RESIZE: { > struct { > - __u16 rows; > __u16 cols; > + __u16 rows; > } size; > > if (!is_console_port(port))