summaryrefslogtreecommitdiffstats
path: root/arch/s390/kvm
diff options
context:
space:
mode:
authorDavid Hildenbrand <dahi@linux.vnet.ibm.com>2016-03-08 12:30:46 +0100
committerChristian Borntraeger <borntraeger@de.ibm.com>2016-06-20 09:54:28 +0200
commit0f7f84891516dc1ff7500fae12143710d2d9d11f (patch)
treeae5185ba98c655404b8f5ee9e46060824fb08cba /arch/s390/kvm
parents390/mm: avoid races on region/segment/page table shadowing (diff)
downloadlinux-0f7f84891516dc1ff7500fae12143710d2d9d11f.tar.xz
linux-0f7f84891516dc1ff7500fae12143710d2d9d11f.zip
s390/mm: fix races on gmap_shadow creation
Before any thread is allowed to use a gmap_shadow, it has to be fully initialized. However, for invalidation to work properly, we have to register the new gmap_shadow before we protect the parent gmap table. Because locking is tricky, and we have to avoid duplicate gmaps, let's introduce an initialized field, that signalizes other threads if that gmap_shadow can already be used or if they have to retry. Let's properly return errors using ERR_PTR() instead of simply returning NULL, so a caller can properly react on the error. Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch/s390/kvm')
0 files changed, 0 insertions, 0 deletions