android_kernel_xiaomi_sm8350/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
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
cpcmd.h
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
errno.h
extmem.h
fcntl.h
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
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
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
mmu_context.h
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
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
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
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
siginfo.h
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
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