2002-09-27 18:09:10

by Christoph Hellwig

[permalink] [raw]
Subject: [PATCH] fix drm ioctl ABI default

Add a config option to make the i810 drm ioctl ABI XFree4.1 compatible
by default (currently that's a module parameter). The XFree folks fucked
this up by adding members in the middle of a struct and we have to work
around it now. At least we should have the pre-2.4.20 behaviour as default.
(And I'd suggest you add that option as y to the defconfig)


--- linux-2.4.20-pre5/drivers/char/drm/Config.in Thu Aug 29 02:58:43 2002
+++ linux/drivers/char/drm/Config.in Fri Sep 6 21:19:07 2002
@@ -10,6 +10,7 @@ tristate ' 3dfx Banshee/Voodoo3+' CONFI
tristate ' ATI Rage 128' CONFIG_DRM_R128
dep_tristate ' ATI Radeon' CONFIG_DRM_RADEON $CONFIG_AGP
dep_tristate ' Intel I810' CONFIG_DRM_I810 $CONFIG_AGP
+dep_mbool ' Enabled XFree 4.1 ioctl interface by default' CONFIG_DRM_I810_XFREE_41 $CONFIG_DRM_I810
dep_tristate ' Intel 830M' CONFIG_DRM_I830 $CONFIG_AGP
dep_tristate ' Matrox g200/g400' CONFIG_DRM_MGA $CONFIG_AGP
dep_tristate ' SiS' CONFIG_DRM_SIS $CONFIG_AGP
--- linux-2.4.20-pre5/drivers/char/drm/i810_dma.c Thu Aug 29 02:58:43 2002
+++ linux/drivers/char/drm/i810_dma.c Fri Sep 6 21:18:07 2002
@@ -30,6 +30,7 @@
*
*/

+#include <linux/config.h>
#include "i810.h"
#include "drmP.h"
#include "i810_drv.h"
@@ -466,8 +467,11 @@ static int i810_dma_initialize(drm_devic
return 0;
}

-
+#ifdef CONFIG_DRM_I810_XFREE_41
+int xfreeversion = 41;
+#else
int xfreeversion = -1;
+#endif

MODULE_PARM(xfreeversion, "i");
MODULE_PARM_DESC(xfreeversion, "The version of XFree86 that needs to be supported");


2002-09-27 18:57:13

by Alan Cox

[permalink] [raw]
Subject: Re: [PATCH] fix drm ioctl ABI default

On Sat, 2002-09-28 at 02:27, Christoph Hellwig wrote:
> Add a config option to make the i810 drm ioctl ABI XFree4.1 compatible
> by default (currently that's a module parameter). The XFree folks fucked
> this up by adding members in the middle of a struct and we have to work
> around it now. At least we should have the pre-2.4.20 behaviour as default.
> (And I'd suggest you add that option as y to the defconfig)

With all the vendors now shipping 4.2 this seems a bad thing to default
to the 4,1 interface - especially as the 4.1 server is

o Buggy
o Has security holes that are fixed in 4.2.1 only

Alan

2002-09-27 19:02:46

by Christoph Hellwig

[permalink] [raw]
Subject: Re: [PATCH] fix drm ioctl ABI default

On Fri, Sep 27, 2002 at 08:07:54PM +0100, Alan Cox wrote:
> With all the vendors now shipping 4.2 this seems a bad thing to default
> to the 4,1 interface - especially as the 4.1 server is
>
> o Buggy
> o Has security holes that are fixed in 4.2.1 only

I don't think that's the proper argument. 2.4.20 silently breaking
systems that worked fine with 2.4.19 is not the way new linux releases
work. Vendors can of course feel free to have the new ABI by default.

2002-09-27 19:08:21

by Ben Collins

[permalink] [raw]
Subject: Re: [PATCH] fix drm ioctl ABI default

On Fri, Sep 27, 2002 at 08:07:54PM +0100, Alan Cox wrote:
> On Sat, 2002-09-28 at 02:27, Christoph Hellwig wrote:
> > Add a config option to make the i810 drm ioctl ABI XFree4.1 compatible
> > by default (currently that's a module parameter). The XFree folks fucked
> > this up by adding members in the middle of a struct and we have to work
> > around it now. At least we should have the pre-2.4.20 behaviour as default.
> > (And I'd suggest you add that option as y to the defconfig)
>
> With all the vendors now shipping 4.2 this seems a bad thing to default
> to the 4,1 interface - especially as the 4.1 server is

No, not all vendors are shipping 4.2 yet.

> o Buggy
> o Has security holes that are fixed in 4.2.1 only

...or patched onto 4.1.x from 4.2 source.

4.1 is still out in the wild for most ppl.

--
Debian - http://www.debian.org/
Linux 1394 - http://www.linux1394.org/
Subversion - http://subversion.tigris.org/
Deqo - http://www.deqo.com/

2002-09-27 19:53:47

by Alan Cox

[permalink] [raw]
Subject: Re: [PATCH] fix drm ioctl ABI default

On Sat, 2002-09-28 at 03:21, Christoph Hellwig wrote:
> I don't think that's the proper argument. 2.4.20 silently breaking
> systems that worked fine with 2.4.19 is not the way new linux releases
> work. Vendors can of course feel free to have the new ABI by default.

Linus did the same during earlier 2.4 when we went from 4.0 to 4.1 DRM.
There is a clear precedent for it from the boss 8)

In the general case it will autodetect the problem. There are some
additional bitds (see the dri-devel archive) to investigate that may
make it even more reliable

2002-09-27 19:55:56

by Alan Cox

[permalink] [raw]
Subject: Re: [PATCH] fix drm ioctl ABI default

On Fri, 2002-09-27 at 20:13, Ben Collins wrote:
> > o Has security holes that are fixed in 4.2.1 only
>
> ...or patched onto 4.1.x from 4.2 source.

I'd hope from 4.2.1 source plus the later errata fix but yes this is a
good point. Its not an assumption we can reasonably make

I think Cristoph wins

2002-09-29 20:28:02

by Adrian Bunk

[permalink] [raw]
Subject: Re: [PATCH] fix drm ioctl ABI default

On 27 Sep 2002, Alan Cox wrote:

> With all the vendors now shipping 4.2 this seems a bad thing to default
> to the 4,1 interface - especially as the 4.1 server is
>...

Debian 3.0 ships with 4.1 and my personal estimation is that the next
release of Debian will be in 2004 (I'm happy if it will be earlier...).

> o Has security holes that are fixed in 4.2.1 only

The Debian maintainer of XFree86 claims that at least the Xlib problem
doesn't affect 4.1 [1].

> Alan

cu
Adrian

[1] http://people.debian.org/~branden/

--

You only think this is a free country. Like the US the UK spends a lot of
time explaining its a free country because its a police state.
Alan Cox

2002-09-29 20:31:34

by Alan Cox

[permalink] [raw]
Subject: Re: [PATCH] fix drm ioctl ABI default

On Sun, 2002-09-29 at 21:33, Adrian Bunk wrote:
> > o Has security holes that are fixed in 4.2.1 only
>
> The Debian maintainer of XFree86 claims that at least the Xlib problem
> doesn't affect 4.1 [1].

Thats the trivial one. The Shm stuff fixed going 4.2 to 4.2.1 is the bad
stuff, but I sure Brandon will have ported that over too

We'll all need 4.3 for newer boxes though - stuff like PCI domains and
the newer intel chipsets (eg 845G onboard video) simply dont backport 8(