1
linux/include/asm-s390
Martin Schwidefsky 833774849d [S390] Fix pte type checking.
handle_pte_fault uses pte_present, pte_none and pte_file to find out
the type of a pte. That is done without holding the page table lock.
This clashes with the way how ptep_clear_flush removes active page
table entries from the system. First the ipte instruction is used
to invalidate the pte and remove all plt entries for the page. The
ipte sets the hardware invalid bit without changing any other bit.
After the ipte finished the pte is cleared. A concurrent fault can
observe the the previously valid pte with the invalid bit set. With
the current encoding of the different pte types an invalidated
read-only pte can be misinterpreted as a swap-pte.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2006-10-18 18:30:51 +02:00
..
a.out.h
appldata.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
atomic.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
auxvec.h [PATCH] auxiliary vector cleanups 2005-09-07 16:57:21 -07:00
bitops.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
bug.h [S390] __builtin_trap() and gcc version. 2006-07-12 16:39:42 +02:00
bugs.h
byteorder.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
cache.h [PATCH] s390: add read_mostly optimization 2006-04-28 08:33:48 -07:00
cacheflush.h
ccwdev.h [S390] Fix sparse warnings. 2006-07-12 16:41:55 +02:00
ccwgroup.h
checksum.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
cio.h [S390] cio: Use ccw_dev_id and subchannel_id in ccw_device_private 2006-10-11 15:31:38 +02:00
cmb.h [S390] rework of channel measurement facility. 2006-06-29 15:08:41 +02:00
compat.h [PATCH] s390: add ptr_to_compat() 2006-03-27 08:44:48 -08:00
cpcmd.h [PATCH] s390: add vmcp interface 2005-06-25 16:24:37 -07:00
cputime.h
current.h
dasd.h [S390] add PAV support to the dasd driver. 2006-06-29 15:08:18 +02:00
debug.h [PATCH] Fix 'make headers_check' on s390 2006-09-16 12:54:31 -07:00
delay.h
div64.h [S390] __div64_32 for 31 bit. 2006-09-28 16:55:39 +02:00
dma-mapping.h
dma.h [S390] empty function defines. 2006-09-20 15:58:51 +02:00
ebcdic.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
elf.h [PATCH] Fix 'make headers_check' on s390 2006-09-16 12:54:31 -07:00
emergency-restart.h [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
errno.h
extmem.h
fcntl.h [PATCH] Clean up struct flock64 definitions 2005-09-07 16:57:38 -07:00
futex.h [S390] Make user-copy operations run-time configurable. 2006-09-20 15:59:42 +02:00
hardirq.h [S390] irq change build fixes. 2006-10-06 16:38:35 +02:00
idals.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
io.h [S390] Remove open-coded mem_map usage. 2006-10-04 20:02:23 +02:00
ioctl.h [PATCH] Generic ioctl.h 2006-01-10 08:01:34 -08:00
ioctls.h
ipc.h
ipcbuf.h
irq_regs.h [S390] irq change build fixes. 2006-10-06 16:38:35 +02:00
irq.h [PATCH] Make touch_nmi_watchdog imply touch_softlockup_watchdog on all archs 2006-09-29 09:18:05 -07:00
irqflags.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
Kbuild [S390] Unexport <asm/z90crypt.h>, export <asm/zcrypt.h> in its place. 2006-09-24 22:07:25 +01:00
kdebug.h [S390] add kprobes support. 2006-09-20 15:58:39 +02:00
kexec.h [PATCH] Kdump: powerpc and s390 build failure fix 2006-01-10 08:01:27 -08:00
kmap_types.h
kprobes.h [S390] add kprobes support. 2006-09-20 15:58:39 +02:00
linkage.h
local.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
lowcore.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
mathemu.h
mman.h [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
mmu_context.h [PATCH] s390: "extern inline" -> "static inline" 2005-11-09 07:55:52 -08:00
mmu.h
module.h
monwriter.h [S390] Linux API for writing z/VM APPLDATA Monitor records. 2006-09-20 15:59:34 +02:00
msgbuf.h
mutex.h [PATCH] mutex subsystem, add default include/asm-*/mutex.h files 2006-01-09 15:59:19 -08:00
namei.h
page.h [S390] Remove open-coded mem_map usage. 2006-10-04 20:02:23 +02:00
param.h
pci.h
percpu.h [PATCH] Fix typo in "syntax error if percpu macros are incorrectly used" patch 2006-10-06 08:53:41 -07:00
pgalloc.h [S390] Remove open-coded mem_map usage. 2006-10-04 20:02:23 +02:00
pgtable.h [S390] Fix pte type checking. 2006-10-18 18:30:51 +02:00
poll.h [PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications 2006-03-25 08:22:56 -08:00
posix_types.h [S390] __FD_foo definitions. 2006-06-14 14:10:51 +01:00
processor.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
ptrace.h [PATCH] Add regs_return_value() helper 2006-10-02 07:57:16 -07:00
qdio.h fix file specification in comments 2006-10-03 23:01:26 +02:00
qeth.h
resource.h
rwsem.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
s390_ext.h [S390] irq change build fixes. 2006-10-06 16:38:35 +02:00
s390_rdev.h [PATCH] s390: email-address change 2006-01-14 18:27:10 -08:00
scatterlist.h
sections.h
segment.h
semaphore.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
sembuf.h
setup.h [PATCH] Directed yield: direct yield of spinlocks for s390. 2006-10-01 00:39:22 -07:00
sfp-machine.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
shmbuf.h
shmparam.h
sigcontext.h [PATCH] s390: sigcontext.h vs __user 2006-01-14 18:27:08 -08:00
siginfo.h [PATCH] consolidate SIGEV_PAD_SIZE 2005-05-01 08:59:08 -07:00
signal.h [PATCH] irq-flags: S390: Use the new IRQF_ constants 2006-07-02 13:58:48 -07:00
sigp.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
smp.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
socket.h [AF_UNIX]: Datagram getpeersec 2006-06-29 16:58:06 -07:00
sockios.h
spinlock_types.h [PATCH] Directed yield: direct yield of spinlocks for s390. 2006-10-01 00:39:22 -07:00
spinlock.h [S390] incorrect placement of include. 2006-10-04 20:02:12 +02:00
stat.h
statfs.h
string.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
suspend.h
system.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
tape390.h
termbits.h
termios.h
thread_info.h [S390] preempt_count initialization. 2006-06-29 15:02:47 +02:00
timer.h [S390] irq change improvements. 2006-10-11 15:31:26 +02:00
timex.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
tlb.h
tlbflush.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
todclk.h
topology.h
types.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
uaccess.h [S390] Inline assembly cleanup. 2006-09-28 16:56:43 +02:00
ucontext.h
unaligned.h
unistd.h [S390] Wire up epoll_pwait syscall. 2006-10-18 18:30:45 +02:00
user.h [PATCH] s390: uml ptrace fixes 2005-06-04 17:13:00 -07:00
vtoc.h Use __uXX types for S390 DASD volume label definitions which are user-visible 2006-05-04 01:18:33 +01:00
xor.h
zcrypt.h [S390] zcrypt secure key cryptography extension. 2006-09-20 15:58:36 +02:00