s390/mm: Clear huge page storage keys on enable_skey
authorDominik Dingel <dingel@linux.vnet.ibm.com>
Fri, 13 Jul 2018 10:28:25 +0000 (11:28 +0100)
committerJanosch Frank <frankja@linux.ibm.com>
Mon, 30 Jul 2018 10:20:18 +0000 (11:20 +0100)
commit964c2c05c9f3095a18387a57b289cf06de637521
treeef033cdb80985640fc0688d021381ea7fed86d16
parent0959e168678d2d95648317e1e5e46bcb358272eb
s390/mm: Clear huge page storage keys on enable_skey

When a guest starts using storage keys, we trap and set a default one
for its whole valid address space. With this patch we are now able to
do that for large pages.

To speed up the storage key insertion, we use
__storage_key_init_range, which in-turn will use sske_frame to set
multiple storage keys with one instruction. As it has been previously
used for debuging we have to get rid of the default key check and make
it quiescing.

Signed-off-by: Dominik Dingel <dingel@linux.vnet.ibm.com>
Signed-off-by: Janosch Frank <frankja@linux.vnet.ibm.com>
[replaced page_set_storage_key loop with __storage_key_init_range]
Reviewed-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
arch/s390/mm/gmap.c
arch/s390/mm/pageattr.c