[Qemu-devel] [PATCH] baum: Truncate braille device size to 84x1

Samuel Thibault posted 1 patch 6 years, 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20171211001950.27843-1-samuel.thibault@ens-lyon.org
Test checkpatch passed
Test docker passed
Test ppc passed
Test s390x passed
chardev/baum.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
[Qemu-devel] [PATCH] baum: Truncate braille device size to 84x1
Posted by Samuel Thibault 6 years, 4 months ago
Baum device bigger than 84 do not actually exist, some guest drivers
would be upset by such sizes.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 chardev/baum.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/chardev/baum.c b/chardev/baum.c
index 67fd783a59..78b0c87625 100644
--- a/chardev/baum.c
+++ b/chardev/baum.c
@@ -1,7 +1,7 @@
 /*
  * QEMU Baum Braille Device
  *
- * Copyright (c) 2008, 2010-2011, 2016 Samuel Thibault
+ * Copyright (c) 2008, 2010-2011, 2016-2017 Samuel Thibault
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -239,6 +239,12 @@ static int baum_deferred_init(BaumChardev *baum)
         brlapi_perror("baum: brlapi__getDisplaySize");
         return 0;
     }
+    if (baum->y > 1) {
+        baum->y = 1;
+    }
+    if (baum->x > 84) {
+        baum->x = 84;
+    }
 
     con = qemu_console_lookup_by_index(0);
     if (con && qemu_console_is_graphic(con)) {
-- 
2.15.0


Re: [Qemu-devel] [PATCH] baum: Truncate braille device size to 84x1
Posted by Eric Blake 6 years, 4 months ago
On 12/10/2017 06:19 PM, Samuel Thibault wrote:
> Baum device bigger than 84 do not actually exist, some guest drivers
> would be upset by such sizes.
> 
> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> ---
>  chardev/baum.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 

> @@ -239,6 +239,12 @@ static int baum_deferred_init(BaumChardev *baum)
>          brlapi_perror("baum: brlapi__getDisplaySize");
>          return 0;
>      }
> +    if (baum->y > 1) {
> +        baum->y = 1;
> +    }
> +    if (baum->x > 84) {
> +        baum->x = 84;
> +    }

Is magic clamping desirable, or is it better to make it a hard error if
the user configured a size that is not possible?

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Re: [Qemu-devel] [PATCH] baum: Truncate braille device size to 84x1
Posted by Samuel Thibault 6 years, 4 months ago
Eric Blake, on lun. 11 déc. 2017 08:30:39 -0600, wrote:
> On 12/10/2017 06:19 PM, Samuel Thibault wrote:
> > Baum device bigger than 84 do not actually exist, some guest drivers
> > would be upset by such sizes.
> > 
> > Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> > ---
> >  chardev/baum.c | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> > 
> 
> > @@ -239,6 +239,12 @@ static int baum_deferred_init(BaumChardev *baum)
> >          brlapi_perror("baum: brlapi__getDisplaySize");
> >          return 0;
> >      }
> > +    if (baum->y > 1) {
> > +        baum->y = 1;
> > +    }
> > +    if (baum->x > 84) {
> > +        baum->x = 84;
> > +    }
> 
> Is magic clamping desirable, or is it better to make it a hard error if
> the user configured a size that is not possible?

The thing is: the user didn't configure something, she just happened to
use a braille device bigger than 84 to display qemu's braille output.

This is the same situation as for the virtual video card: qemu could
expose resolutions as big as the size of the X display where qemu is
running on, but it's not a good idea to expose them all because some
drivers could go crazy with sizes bigger than what is supposed to be
supported by the hardware (or just assume the device is bogus and refuse
to drive it), and one should thus rather clamp them to what an actual
video device would support.

Samuel

Re: [Qemu-devel] [PATCH] baum: Truncate braille device size to 84x1
Posted by Paolo Bonzini 6 years, 4 months ago
On 11/12/2017 15:51, Samuel Thibault wrote:
>> Is magic clamping desirable, or is it better to make it a hard error if
>> the user configured a size that is not possible?
> The thing is: the user didn't configure something, she just happened to
> use a braille device bigger than 84 to display qemu's braille output.

Makes sense, I clarified the commit message to

    Baum device bigger than 84 do not actually exist, but the user's own
    Braille device might be wider than 84 columns.  Some guest drivers
    would be upset by such sizes, so clamp the device size.

Thanks,

Paolo