s390/mm: don't drop errors in get_guest_storage_key
Commit 1e133ab296
("s390/mm: split arch/s390/mm/pgtable.c") changed
the return value of get_guest_storage_key to an unsigned char, resulting
in -EFAULT getting interpreted as a valid storage key.
Cc: stable@vger.kernel.org # 4.6+
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
This commit is contained in:
Родитель
dcc98ea614
Коммит
c427c42cd6
|
@ -893,7 +893,7 @@ void ptep_zap_key(struct mm_struct *mm, unsigned long addr, pte_t *ptep);
|
|||
bool test_and_clear_guest_dirty(struct mm_struct *mm, unsigned long address);
|
||||
int set_guest_storage_key(struct mm_struct *mm, unsigned long addr,
|
||||
unsigned char key, bool nq);
|
||||
unsigned char get_guest_storage_key(struct mm_struct *mm, unsigned long addr);
|
||||
unsigned long get_guest_storage_key(struct mm_struct *mm, unsigned long addr);
|
||||
|
||||
/*
|
||||
* Certain architectures need to do special things when PTEs
|
||||
|
|
|
@ -543,7 +543,7 @@ int set_guest_storage_key(struct mm_struct *mm, unsigned long addr,
|
|||
}
|
||||
EXPORT_SYMBOL(set_guest_storage_key);
|
||||
|
||||
unsigned char get_guest_storage_key(struct mm_struct *mm, unsigned long addr)
|
||||
unsigned long get_guest_storage_key(struct mm_struct *mm, unsigned long addr)
|
||||
{
|
||||
unsigned char key;
|
||||
spinlock_t *ptl;
|
||||
|
|
Загрузка…
Ссылка в новой задаче