linux/arch/parisc/kernel
John David Anglin f0a18819e2 parisc: fix SMP races when updating PTE and TLB entries in entry.S
Currently, race conditions exist in the handling of TLB interruptions in
entry.S.  In particular, dirty bit updates can be lost if an accessed
interruption occurs just after the dirty bit interruption on a different
cpu.  Lost dirty bit updates result in user pages not being flushed and
general system instability.  This change adds lock and unlock macros to
synchronize all PTE and TLB updates done in entry.S.  As a result,
userspace stability is significantly improved.

Signed-off-by: John David Anglin  <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
2013-05-11 21:13:04 +02:00
..
.gitignore
Makefile
asm-offsets.c
binfmt_elf32.c parisc: fix redefinition of SET_PERSONALITY 2013-03-02 20:15:28 +01:00
cache.c parisc: remove the second argument of kmap_atomic 2013-05-06 22:19:00 +02:00
drivers.c
entry.S parisc: fix SMP races when updating PTE and TLB entries in entry.S 2013-05-11 21:13:04 +02:00
firmware.c
ftrace.c
hardware.c ARCH: drivers remove __dev* attributes. 2013-01-03 15:57:13 -08:00
head.S
hpmc.S parisc: fix partly 16/64k PAGE_SIZE boot 2013-05-06 23:08:32 +02:00
inventory.c parisc: fix possible memory leak in pat_query_module() 2013-02-20 22:47:11 +01:00
irq.c parisc: implement irq stacks - part 2 (v2) 2013-05-11 21:10:15 +02:00
module.c modules: don't hand 0 to vmalloc. 2012-12-14 13:06:43 +10:30
pa7300lc.c
pacache.S parisc: fix partly 16/64k PAGE_SIZE boot 2013-05-06 23:08:32 +02:00
parisc_ksyms.c parisc: Provide __ucmpdi2 to resolve undefined references in 32 bit builds. 2013-04-25 22:36:15 +02:00
pci-dma.c
pci.c
pdc_chassis.c parisc: single_open() leaks 2013-05-05 00:10:41 -04:00
pdc_cons.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
perf.c
perf_asm.S
perf_images.h
process.c parisc: Use generic idle loop 2013-04-08 17:39:27 +02:00
processor.c
ptrace.c parisc: improve ptrace support for gdb single-step 2013-01-07 23:06:27 +01:00
real2.S
setup.c parisc: fix partly 16/64k PAGE_SIZE boot 2013-05-06 23:08:32 +02:00
signal.c parisc: remove unused variable 'compat_val' 2013-03-02 19:56:18 +01:00
signal32.c parisc: fix error return codes for rt_sigaction and rt_sigprocmask 2013-02-20 22:57:02 +01:00
signal32.h parisc: switch to generic compat rt_sigaction() 2013-02-03 18:16:07 -05:00
smp.c parisc: tlb flush counting fix for SMP and UP 2013-05-07 23:44:04 +02:00
stacktrace.c
sys32.h parisc: switch to generic compat rt_sigaction() 2013-02-03 18:16:07 -05:00
sys_parisc.c mm: use vm_unmapped_area() on parisc architecture 2013-02-27 19:10:09 -08:00
sys_parisc32.c unify compat fanotify_mark(2), switch to COMPAT_SYSCALL_DEFINE 2013-05-09 13:46:38 -04:00
syscall.S parisc: document the parisc gateway page 2013-05-06 23:09:10 +02:00
syscall_table.S get rid of union semop in sys_semctl(2) arguments 2013-03-05 15:14:16 -05:00
time.c
topology.c
traps.c parisc: fix whitespace errors in arch/parisc/kernel/traps.c 2013-05-06 22:24:57 +02:00
unaligned.c
unwind.c
vmlinux.lds.S parisc: add kernel stack overflow check 2013-05-07 21:34:07 +02:00