Re: [CFR][PATCH] drm2: don't assume that dev-driver-max_ioctl *dev-driver-compat_ioctls_nr

2014-11-29 Thread Eygene Ryabinkin
Fri, Nov 28, 2014 at 07:32:26PM +0200, Konstantin Belousov wrote:
 On Fri, Nov 28, 2014 at 04:29:42PM +0300, Eygene Ryabinkin wrote:
  I noticed that the current ioctl processing code for drm2 implicitely
  assumes that the number of native ioctls is higher than that of 32-bit
  compat ones, so it immediately gives EINVAL when
  nr = dev-driver-max_ioctl.  Seems that in future such assumption
  may not be true in all cases.

 I very much doubt that it could become true. Compat32 ioctl cannot
 exist without its wider counterpart.

OK.

  This can be fixed with the following patch:
http://codelabs.ru/fbsd/patches/drm2/drm_drv-untangle-32bit-compat.diff
  
  Any thoughts on it?

 I think either current way or patch are fine, but why changing something
 which is fine ?

Because the patched code will work with less assumptions and the patch
isn't big or complex and introduces no additional code paths, just
rearranges things.  It also has more unified logics: if 32-bit compat
is present and ioctl fits into its range -- do that.  If ioctl fits
into the native driver ioctl range -- do that.  Otherwise -- bail out
with an error.  And if conditions are more uniform w.r.t. check
for value of nr.
-- 
Eygene Ryabinkin,,,^..^,,,
[ Life's unfair - but root password helps!   | codelabs.ru ]
[ 82FE 06BC D497 C0DE 49EC  4FF0 16AF 9EAE 8152 ECFB | freebsd.org ]


pgpKRkTfHMt6t.pgp
Description: PGP signature


[CFR][PATCH] drm2: don't assume that dev-driver-max_ioctl *dev-driver-compat_ioctls_nr

2014-11-28 Thread Eygene Ryabinkin
Konstantin, *, good day.

I noticed that the current ioctl processing code for drm2 implicitely
assumes that the number of native ioctls is higher than that of 32-bit
compat ones, so it immediately gives EINVAL when
nr = dev-driver-max_ioctl.  Seems that in future such assumption
may not be true in all cases.

This can be fixed with the following patch:
  http://codelabs.ru/fbsd/patches/drm2/drm_drv-untangle-32bit-compat.diff

Any thoughts on it?

Thanks.
-- 
Eygene Ryabinkin,,,^..^,,,
[ Life's unfair - but root password helps!   | codelabs.ru ]
[ 82FE 06BC D497 C0DE 49EC  4FF0 16AF 9EAE 8152 ECFB | freebsd.org ]


pgp4NKeZVlbnb.pgp
Description: PGP signature


Re: [CFR][PATCH] drm2: don't assume that dev-driver-max_ioctl *dev-driver-compat_ioctls_nr

2014-11-28 Thread Konstantin Belousov
On Fri, Nov 28, 2014 at 04:29:42PM +0300, Eygene Ryabinkin wrote:
 Konstantin, *, good day.
 
 I noticed that the current ioctl processing code for drm2 implicitely
 assumes that the number of native ioctls is higher than that of 32-bit
 compat ones, so it immediately gives EINVAL when
 nr = dev-driver-max_ioctl.  Seems that in future such assumption
 may not be true in all cases.
I very much doubt that it could become true. Compat32 ioctl cannot
exist without its wider counterpart.

 
 This can be fixed with the following patch:
   http://codelabs.ru/fbsd/patches/drm2/drm_drv-untangle-32bit-compat.diff
 
 Any thoughts on it?
I think either current way or patch are fine, but why changing something
which is fine ?
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org