linux/arch/microblaze/include/asm
Steven J. Magnani 6f3946b421 microblaze: Fix /dev/zero corruption from __clear_user()
A userland read of more than PAGE_SIZE bytes from /dev/zero results in
(a) not all of the bytes returned being zero, and
(b) memory corruption due to zeroing of bytes beyond the user buffer.

This is caused by improper constraints on the assembly __clear_user function.
The constrints don't indicate to the compiler that the pointer argument is
modified. Since the function is inline, this results in double-incrementing
of the pointer when __clear_user() is invoked through a multi-page read() of
/dev/zero.

Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
Acked-by: Michal Simek <monstr@monstr.eu>
CC: stable@kernel.org
2011-03-09 08:09:59 +01:00
..
asm-compat.h microblaze: Copy ppc asm-compat.h for clean handling of constants in asm and C 2009-09-22 10:10:06 +02:00
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
atomic.h microblaze: convert all simple headers to use asm-generic 2009-07-06 10:26:55 +02:00
auxvec.h microblaze: Fix problem with removing zero length files 2009-04-14 10:37:09 +02:00
bitops.h microblaze: convert all simple headers to use asm-generic 2009-07-06 10:26:55 +02:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
bug.h microblaze: convert all simple headers to use asm-generic 2009-07-06 10:26:55 +02:00
bugs.h microblaze: convert all simple headers to use asm-generic 2009-07-06 10:26:55 +02:00
byteorder.h microblaze: Add support for little-endian Microblaze 2010-10-21 15:51:59 +10:00
cache.h microblaze: Define correct L1_CACHE_SHIFT value 2010-05-06 11:21:59 +02:00
cacheflush.h microblaze: trivial: Add one empty line 2011-03-09 08:09:57 +01:00
checksum.h microblaze: Add support for little-endian Microblaze 2010-10-21 15:51:59 +10:00
clinkage.h microblaze_v8: clinkage.h linkage.h sections.h kmap_types.h 2009-03-27 14:25:38 +01:00
cpuinfo.h microblaze: Fix sparse warning - cpuinfo.h 2011-03-09 08:09:58 +01:00
cputable.h microblaze: Fix problem with removing zero length files 2009-04-14 10:37:09 +02:00
cputime.h microblaze_v8: headers simple files - empty or redirect to asm-generic 2009-03-27 14:25:41 +01:00
current.h microblaze_mmu_v2: Add CURRENT_TASK for entry.S 2009-05-26 16:45:19 +02:00
delay.h microblaze_v8: delay.h, timex.h 2009-03-27 14:25:27 +01:00
device.h arch/microblaze: Move dma_mask from of_device into pdev_archdata 2010-05-22 00:10:40 -06:00
div64.h microblaze_v8: headers simple files - empty or redirect to asm-generic 2009-03-27 14:25:41 +01:00
dma-mapping.h dma-mapping: remove dma_is_consistent API 2010-08-11 08:59:21 -07:00
dma.h microblaze: Add isa_dma_bridge_buggy to dma.h 2010-05-06 11:21:58 +02:00
elf.h microblaze: Add support for little-endian Microblaze 2010-10-21 15:51:59 +10:00
emergency-restart.h microblaze_v8: headers simple files - empty or redirect to asm-generic 2009-03-27 14:25:41 +01:00
entry.h microblaze: Remove r0_ram pointer and PTO alignment 2011-03-09 08:09:54 +01:00
errno.h microblaze_v8: headers simple files - empty or redirect to asm-generic 2009-03-27 14:25:41 +01:00
exceptions.h microblaze: Fix sparse warning - fault.c 2011-03-09 08:09:59 +01:00
fb.h microblaze: convert all simple headers to use asm-generic 2009-07-06 10:26:55 +02:00
fcntl.h microblaze_v8: fcntl.h sockios.h ucontext.h 2009-03-27 14:25:45 +01:00
flat.h microblaze: remove unused flat_stack_align() definition 2009-06-02 07:54:36 +02:00
ftrace.h microblaze: ftrace: Add dynamic trace support 2009-12-14 08:44:01 +01:00
futex.h microblaze: Fix futex code 2010-04-07 07:27:25 +02:00
gpio.h microblaze: support gpio_to_irq() 2010-10-21 15:51:41 +10:00
hardirq.h microblaze: use the generic ack_bad_irq implementation 2009-08-18 10:33:29 +02:00
hw_irq.h microblaze: Fix problem with removing zero length files 2009-04-14 10:37:09 +02:00
io.h microblaze: Define empty mmiowb 2010-10-21 15:51:39 +10:00
ioctl.h microblaze_v8: ioctl support 2009-03-27 14:25:33 +01:00
ioctls.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
ipcbuf.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
irq_regs.h microblaze_v8: headers for irq 2009-03-27 14:25:35 +01:00
irq.h of/irq: Move irq_of_parse_and_map() to common code 2010-06-28 12:41:33 -07:00
irqflags.h microblaze: Fix IRQ flag handling for MSR=0 2011-02-07 19:12:04 +01:00
Kbuild microblaze: Kbuild update 2009-05-22 09:50:46 +02:00
kdebug.h microblaze_v8: headers simple files - empty or redirect to asm-generic 2009-03-27 14:25:41 +01:00
kgdb.h microblaze: Add KGDB support 2010-08-04 10:45:17 +02:00
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
linkage.h microblaze_v8: clinkage.h linkage.h sections.h kmap_types.h 2009-03-27 14:25:38 +01:00
local.h microblaze_v8: headers simple files - empty or redirect to asm-generic 2009-03-27 14:25:41 +01:00
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
memblock.h memblock: Introduce default allocation limit and use it to replace explicit ones 2010-08-05 12:56:07 +10:00
mman.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
mmu_context_mm.h microblaze_mmu_v2: Context handling - mmu_context.c/h 2009-05-26 16:45:15 +02:00
mmu_context.h microblaze: convert all simple headers to use asm-generic 2009-07-06 10:26:55 +02:00
mmu.h microblaze: convert all simple headers to use asm-generic 2009-07-06 10:26:55 +02:00
module.h microblaze: convert all simple headers to use asm-generic 2009-07-06 10:26:55 +02:00
msgbuf.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
mutex.h microblaze_v8: headers simple files - empty or redirect to asm-generic 2009-03-27 14:25:41 +01:00
namei.h microblaze_v8: namei.h 2009-03-27 14:25:42 +01:00
page.h microblaze: Removing dead CONTIGUOUS_PAGE_ALLOC config option 2010-10-21 15:51:31 +10:00
param.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
parport.h microblaze: convert all simple headers to use asm-generic 2009-07-06 10:26:55 +02:00
pci-bridge.h of/address: merge of_address_to_resource() 2010-07-05 16:14:26 -06:00
pci.h microblaze: use asm-generic/pci-dma-compat.h 2010-10-21 15:51:37 +10:00
percpu.h microblaze_v8: headers simple files - empty or redirect to asm-generic 2009-03-27 14:25:41 +01:00
pgalloc.h microblaze: Fix pmd_populate macro 2010-10-21 15:51:20 +10:00
pgtable.h microblaze: Fix sparse warning - consistent_alloc function 2011-03-09 08:09:58 +01:00
poll.h microblaze_v8: pool.h socket.h 2009-03-27 14:25:44 +01:00
posix_types.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
processor.h microblaze: Remove r0_ram pointer and PTO alignment 2011-03-09 08:09:54 +01:00
prom.h of/net: Move of_get_mac_address() to a common source file. 2010-11-01 01:08:14 -04:00
ptrace.h microblaze: Fix coding style - ptrace.h 2011-03-09 08:09:55 +01:00
pvr.h microblaze: Correct PVR access macros 2011-01-03 10:01:29 +01:00
registers.h microblaze_mmu_v2: Update process creation for MMU 2009-05-26 16:45:18 +02:00
resource.h microblaze_v8: headers simple files - empty or redirect to asm-generic 2009-03-27 14:25:41 +01:00
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
seccomp.h microblaze: Add seccomp support 2010-10-21 15:51:25 +10:00
sections.h microblaze_mmu_v2: Page table - ioremap - pgtable.c/h, section update 2009-05-26 16:45:16 +02:00
selfmod.h microblaze_v8: Selfmodified code 2009-03-27 14:25:15 +01:00
sembuf.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
serial.h microblaze: convert all simple headers to use asm-generic 2009-07-06 10:26:55 +02:00
setup.h microblaze: remove early printk uarlite console dependency from header 2010-10-21 15:51:48 +10:00
shmbuf.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
shmparam.h microblaze: convert all simple headers to use asm-generic 2009-07-06 10:26:55 +02:00
sigcontext.h microblaze_v8: sigcontext.h siginfo.h 2009-03-27 14:25:40 +01:00
siginfo.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
signal.h microblaze: clean up signal handling 2009-07-06 10:26:57 +02:00
socket.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
sockios.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
stat.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
statfs.h microblaze_v8: stats headers 2009-03-27 14:25:39 +01:00
string.h microblaze: Guard __HAVE_ARCH macros with __KERNEL__ in string.h 2009-05-21 15:56:08 +02:00
swab.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
syscall.h microblaze: Fix sparse warnings - ptrace 2011-03-09 08:09:58 +01:00
syscalls.h microblaze: Fix missing microblaze specific syscalls declaration 2011-03-09 08:09:58 +01:00
system.h Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze 2010-08-05 08:59:22 -07:00
termbits.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
termios.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
thread_info.h microblaze: remove unused TIF_KERNEL_TRACE 2010-10-21 15:51:26 +10:00
timex.h microblaze: convert all simple headers to use asm-generic 2009-07-06 10:26:55 +02:00
tlb.h microblaze: Fix missing pagemap.h 2011-01-16 14:29:21 +01:00
tlbflush.h microblaze: Fix TLB macros 2010-04-01 08:38:24 +02:00
topology.h of: Provide default of_node_to_nid() implementation. 2010-07-30 00:03:58 -06:00
types.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
uaccess.h microblaze: Fix /dev/zero corruption from __clear_user() 2011-03-09 08:09:59 +01:00
ucontext.h microblaze: fall back on generic header files for the ABI 2009-07-06 10:26:50 +02:00
unaligned.h microblaze: Fix unaligned.h for endians 2011-03-09 08:09:53 +01:00
unistd.h microblaze: wire up prlimit64 and fanotify* syscalls 2010-10-21 15:51:38 +10:00
unwind.h microblaze: Add stack unwinder 2010-08-04 10:22:35 +02:00
user.h microblaze: Fix problem with removing zero length files 2009-04-14 10:37:09 +02:00
vga.h microblaze: convert all simple headers to use asm-generic 2009-07-06 10:26:55 +02:00
xor.h microblaze_v8: headers simple files - empty or redirect to asm-generic 2009-03-27 14:25:41 +01:00