Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: New compat_alloc_user_space() GPLness and fglrx | Date | Sat, 18 Sep 2010 10:26:57 +0200 |
| |
On Saturday 18 September 2010 03:42:32 Henrique de Moraes Holschuh wrote: > promotes compat_alloc_user_space() to EXPORT_SYMBOL_GPL, and moves it from > asm/compat.h to linux/compat.h. > > This breaks AMD/ATI's proprietary fglrx GPU driver, which wants to use > compat_alloc_user_space(), and expects to find it in asm/compat.h. > > Fixing this on the fglrx side is easy enough, one can simply audit the two > or three call sites in the fglrx glue and make sure they can use > arch_compat_alloc_user_space() safely. > > But such a fix doesn't look right. IMHO, either we don't want any non-GPL > module touching *_compat_alloc_user_space and compat_alloc_user_space, or it > would be better to let them use compat_alloc_user_space() in the interest of > overall security...
Right, don't use arch_compat_alloc_user_space(), that would be worse.
compat_alloc_user_space is still a horrible hack and shouldn't be used at all if possible. Just fix the code to either not require compat ioctl handling or split out the common code from the native ioctl function and pass it a kernel data structure, which you copy from user space in different ways depending on where you come from.
Arnd
| |