Skip to content

Commit b95e0e7

Browse files
hcahcaAlexander Gordeev
authored andcommitted
s390/mm: Fix phys_to_folio() usage in do_secure_storage_access()
In case of a Secure-Storage-Access exception the effective aka virtual address which caused the exception is contained within the TEID. do_secure_storage_access() incorrectly uses phys_to_folio() instead of virt_to_folio() to translate the virtual address to the corresponding folio. Fix this by using virt_to_folio() instead of phys_to_folio(). Fixes: 084ea4d ("s390/mm: add (non)secure page access exceptions handlers") Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com> Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
1 parent 8587af9 commit b95e0e7

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

arch/s390/mm/fault.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ void do_secure_storage_access(struct pt_regs *regs)
438438
panic("Unexpected PGM 0x3d with TEID bit 61=0");
439439
}
440440
if (is_kernel_fault(regs)) {
441-
folio = phys_to_folio(addr);
441+
folio = virt_to_folio((void *)addr);
442442
if (unlikely(!folio_try_get(folio)))
443443
return;
444444
rc = uv_convert_from_secure(folio_to_phys(folio));

0 commit comments

Comments
 (0)