linux/arch/mips
H. Peter Anvin 337b16213b compat: Make compat_alloc_user_space() incorporate the access_ok()
commit c41d68a513 upstream.

compat_alloc_user_space() expects the caller to independently call
access_ok() to verify the returned area.  A missing call could
introduce problems on some architectures.

This patch incorporates the access_ok() check into
compat_alloc_user_space() and also adds a sanity check on the length.
The existing compat_alloc_user_space() implementations are renamed
arch_compat_alloc_user_space() and are used as part of the
implementation of the new global function.

This patch assumes NULL will cause __get_user()/__put_user() to either
fail or access userspace on all architectures.  This should be
followed by checking the return value of compat_access_user_space()
for NULL in the callers, at which time the access_ok() in the callers
can also be removed.

Reported-by: Ben Hawkes <hawkes@sota.gen.nz>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Chris Metcalf <cmetcalf@tilera.com>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Tony Luck <tony.luck@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Helge Deller <deller@gmx.de>
Cc: James Bottomley <jejb@parisc-linux.org>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-09-20 13:17:57 -07:00
..
alchemy MIPS: Alchemy: Fix hang with high-frequency edge interrupts 2009-11-02 12:00:08 +01:00
ar7 MIPS: AR7: register watchdog device only if enabled in hw configuration 2009-11-02 12:00:03 +01:00
basler/excite MIPS: Excite: Get rid of BKL. 2009-09-30 21:47:01 +02:00
bcm47xx MIPS: Make local arrays with CL_SIZE static __initdata 2009-11-13 18:10:37 +01:00
bcm63xx MIPS: bcm63xx: Set the correct BCM3302 CPU name 2009-11-02 12:00:07 +01:00
boot MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
cavium-octeon MIPS: Octeon: Use lockless interrupt controller operations when possible. 2009-11-02 12:00:07 +01:00
cobalt Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
configs MIPS: TXx9: Update rbtx49xx_defconfig 2009-11-13 18:10:37 +01:00
dec Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-09-18 09:15:24 -07:00
emma MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
fw MIPS: Remove useless zero initializations. 2009-09-17 20:07:51 +02:00
gt64120/wrppmc Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
include/asm compat: Make compat_alloc_user_space() incorporate the access_ok() 2010-09-20 13:17:57 -07:00
jazz MIPS: Add IRQF_TIMER flag for timer interrupts 2009-11-02 12:00:02 +01:00
kernel untangle the do_mremap() mess 2010-01-18 10:19:11 -08:00
lasat sysctl: remove "struct file *" argument of ->proc_handler 2009-09-24 07:21:04 -07:00
lib MIPS: Fix __ndelay build error and add 'ull' suffix for 32-bit kernel 2009-06-17 11:06:24 +01:00
loongson MIPS: Loongson: Remove redundant local_irq_disable() 2009-11-02 12:00:02 +01:00
math-emu MIPS FPU emulator: allow Cause bits of FCSR to be writeable by ctc1 2010-08-02 10:21:27 -07:00
mipssim cpumask: arch_send_call_function_ipi_mask: mips 2009-09-24 09:34:45 +09:30
mm MIPS: Cleanup forgotten label_module_alloc in tlbex.c 2010-04-01 15:58:04 -07:00
mti-malta MIPS: Make local arrays with CL_SIZE static __initdata 2009-11-13 18:10:37 +01:00
nxp MIPS: Add IRQF_TIMER flag for timer interrupts 2009-11-02 12:00:02 +01:00
oprofile MIPS: Oprofile: Rename cpu_type from godson2 to loongson2 2009-11-02 12:00:08 +01:00
pci MIPS: MSP71xx: request_irq() failure ignored in msp_pcibios_config_access() 2009-09-30 21:47:01 +02:00
pmc-sierra cpumask: arch_send_call_function_ipi_mask: mips 2009-09-24 09:34:45 +09:30
power MIPS: Use PAGE_SIZE in assembly instead of _PAGE_SIZE. 2009-09-17 20:07:48 +02:00
rb532 MIPS: RB532: Fix devices.c compilation. 2009-12-02 18:09:51 +00:00
sgi-ip22 MIPS: IP22, IP28: Build with -Werror 2009-09-17 20:07:44 +02:00
sgi-ip27 MIPS: Add IRQF_TIMER flag for timer interrupts 2009-11-02 12:00:02 +01:00
sgi-ip32 MIPS: IP32: Remove unnecessary if not even harmful volatile keywords. 2009-05-22 13:52:06 +01:00
sibyte MIPS: Sibyte: Apply M3 workaround only on affected chip types and versions. 2010-05-12 14:57:17 -07:00
sni MIPS: Add IRQF_TIMER flag for timer interrupts 2009-11-02 12:00:02 +01:00
txx9 MIPS: Make local arrays with CL_SIZE static __initdata 2009-11-13 18:10:37 +01:00
vr41xx Update Yoichi Yuasa's e-mail address 2009-07-03 15:45:29 +01:00
Kconfig MIPS: Loongson: Switch from flatmem to sparsemem 2009-12-01 16:21:26 +00:00
Kconfig.debug MIPS: Kconfig: Fix the arch-specific header path 2008-12-12 18:12:23 +00:00
Makefile arm, cris, mips, sparc, powerpc, um, xtensa: fix build with bash 4.0 2009-09-20 12:28:22 +02:00