original_kernel/include/asm-s390
Martin Schwidefsky 0d01792300 [S390] pud_present/pmd_present bug.
Git commit 3610cce87a (yeah my own :-/)
introduced a bug in regard to pud/pmd table entries.
If the address of the page table refered to by a pud/pmd value happens
to have zeroes in the lower 32 bits, pud_present and pmd_present return
false. The obvious effect is that this triggers the BUG_ON in exit_mmap
because some ptes will not get released on process end.  Worse is that
the next fault for memory covered by that pud/pmd will allocate another
pmd/pte table and populate the pud/pmd entry. The old page table
entries hanging below this entry are lost!

The fix is simple, properly check against 0. The check is added for
pud_none/pmd_none as well even if these two functions work because
the invalid bit is in the lower 32 bits.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2007-12-17 16:25:56 +01:00
..
Kbuild
a.out.h
appldata.h
atomic.h [S390] Change atomic_read/set to inline functions with barrier semantics. 2007-08-22 13:51:49 +02:00
auxvec.h
bitops.h forbid asm/bitops.h direct inclusion 2007-10-19 11:53:41 -07:00
bug.h Fix WARN_ON() on bitfield ops for all other archs 2007-08-01 20:45:38 -07:00
bugs.h
byteorder.h
cache.h [S390] Get rid of ARCH_KMALLOC_MINALIGN. 2007-10-12 16:13:07 +02:00
cacheflush.h
ccwdev.h [S390] cio: Introduce ccw_bus_type.shutdown. 2007-10-12 16:13:01 +02:00
ccwgroup.h [S390] cio: Add docbook comments. 2007-10-12 16:12:59 +02:00
checksum.h
chpid.h
cio.h [S390] cio: Add docbook comments. 2007-10-12 16:12:59 +02:00
cmb.h [S390] cio: Kerneldoc comments for cmf. 2007-10-12 16:12:59 +02:00
compat.h
cpcmd.h
cpu.h [S390] Add per-cpu idle time / idle count sysfs attributes. 2007-10-22 12:52:47 +02:00
cputime.h
current.h
dasd.h
debug.h
delay.h
device.h
diag.h [S390] vmur: fix diag14 exceptions with addresses > 2GB. 2007-08-22 13:51:47 +02:00
div64.h
dma.h
ebcdic.h
elf.h
emergency-restart.h
errno.h
etr.h
extmem.h
fb.h
fcntl.h
futex.h
hardirq.h
idals.h
io.h
ioctl.h
ioctls.h
ipcbuf.h
ipl.h
irq.h
irq_regs.h
irqflags.h
kdebug.h x86: optimize page faults like all other achitectures and kill notifier cruft 2007-10-16 09:42:50 -07:00
kexec.h
kmap_types.h
kprobes.h kprobes: support kretprobe blacklist 2007-10-16 09:43:10 -07:00
linkage.h
local.h
lowcore.h
mathemu.h
mman.h
mmu.h
mmu_context.h [S390] Cleanup page table definitions. 2007-10-22 12:52:49 +02:00
module.h
monwriter.h
msgbuf.h
mutex.h
namei.h
page.h [S390] 4level-fixup cleanup 2007-10-22 12:52:49 +02:00
param.h
pci.h
percpu.h
pgalloc.h [S390] 4level-fixup cleanup 2007-10-22 12:52:49 +02:00
pgtable.h [S390] pud_present/pmd_present bug. 2007-12-17 16:25:56 +01:00
poll.h
posix_types.h
processor.h [S390] Cleanup page table definitions. 2007-10-22 12:52:49 +02:00
ptrace.h
qdio.h
qeth.h
reset.h
resource.h
rwsem.h
s390_ext.h [S390] remove packed attribute from ext_int_info_t. 2007-10-12 16:13:07 +02:00
s390_rdev.h
scatterlist.h Add CONFIG_DEBUG_SG sg validation 2007-10-22 21:20:03 +02:00
sclp.h
sections.h
segment.h
semaphore.h kill DECLARE_MUTEX_LOCKED 2007-10-17 08:42:47 -07:00
sembuf.h
setup.h
sfp-machine.h
sfp-util.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
sigp.h
smp.h
socket.h
sockios.h
spinlock.h
spinlock_types.h
stat.h
statfs.h
string.h
suspend.h
system.h [S390] Fix irq tracing and lockdep_sys_exit calls. 2007-11-20 11:13:45 +01:00
tape390.h
termbits.h
termios.h
thread_info.h
timer.h
timex.h
tlb.h [S390] 4level-fixup cleanup 2007-10-22 12:52:49 +02:00
tlbflush.h [S390] Cleanup page table definitions. 2007-10-22 12:52:49 +02:00
todclk.h
topology.h
types.h remove strict ansi check from __u64 in asm/types.h 2007-10-17 08:42:53 -07:00
uaccess.h
ucontext.h
unaligned.h
unistd.h [S390] Wire up sys_fallocate. 2007-07-27 12:29:19 +02:00
user.h
vtoc.h
xor.h
zcrypt.h [S390] zcrypt: remove duplicated struct CPRBX definition 2007-10-12 16:13:04 +02:00