summaryrefslogtreecommitdiffstats
path: root/drivers/s390/block/dasd.c
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2006-10-18 18:30:51 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2006-10-18 18:30:51 +0200
commit833774849d50a59f58e9bdfc3d9c88e682b3596d (patch)
tree5527a4f8e21233a72af48c369917ebe2dc2883df /drivers/s390/block/dasd.c
parent2c91971f84be168a35f937dd6c61e56e492b2185 (diff)
[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>
Diffstat (limited to 'drivers/s390/block/dasd.c')
0 files changed, 0 insertions, 0 deletions