diff options
| author | Claudio Imbrenda <imbrenda@linux.ibm.com> | 2026-05-27 17:43:54 +0300 |
|---|---|---|
| committer | Claudio Imbrenda <imbrenda@linux.ibm.com> | 2026-05-28 14:05:53 +0300 |
| commit | 499d2e4b75c44365a40a5fe623f3bd5bc1844197 (patch) | |
| tree | 2b2734d5438b4654f713bd03bc82d6022077b6fd /include/uapi/linux/android | |
| parent | 7fd2df204f342fc17d1a0bfcd474b24232fb0f32 (diff) | |
| download | linux-499d2e4b75c44365a40a5fe623f3bd5bc1844197.tar.xz | |
KVM: s390: Track page size in struct guest_fault
Until now, the members of struct guest_fault are always accessed while
holding the required locks, and thus the ptep and crstep pointers can
be dereferenced safely.
There will be some new cases where callers of kvm_s390_faultin_gfn()
need to know the size of the page used to solve the fault, at which
point no locks are held anymore, and dereferencing the crstep field
is not possible.
Introduce a new crste_region3 flag for struct guest_fault to indicate
whether the crstep used to solve the fault was a region 3 entry with FC=1
(large pud).
This allows to disambiguate all three possible scenarios:
* If ptep is not NULL, the fault was solved with a pte.
* If ptep is NULL and crste_region3 is 0, a segment entry with FC=1
(large pmd) was used.
* If ptep is NULL and crste_region3 is 1, a region 3 entry with FC=1
(large pud) was used.
Reviewed-by: Steffen Eiden <seiden@linux.ibm.com>
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-ID: <20260527144358.186359-2-imbrenda@linux.ibm.com>
Diffstat (limited to 'include/uapi/linux/android')
0 files changed, 0 insertions, 0 deletions
