diff options
| author | Steven Price <steven.price@arm.com> | 2026-09-30 17:49:30 +0100 |
|---|---|---|
| committer | Catalin Marinas <catalin.marinas@arm.com> | 2026-10-02 17:08:35 +0100 |
| commit | 27fececa00df55d9a8c49235751cddd166837dd7 (patch) | |
| tree | bff46ac32002422050ba34a21686af217936ff8a /tools/lib/python/kdoc | |
| parent | 93f51579e7df248780214094418f205253383cc5 (diff) | |
arm64: mm: Handle Granule Protection Faults (GPFs)
If the host attempts to access granules that have been delegated to RMM
(for use as an RMM object or Realm Data), these accesses will be caught
and will trigger a Granule Protection Fault (GPF).
A fault during a page walk signals a bug in the kernel and is handled by
oopsing the kernel. A non-page walk fault could be caused by:
* Userspace having access to a page which has been delegated. We don't allow
mapping a delegated page (which may have Realm VM private data) to EL0.
But if we do encounter this, trigger a SIGBUS to allow debugging
* A kernel mode access is even more serious, except for the cases where :
- Benign overreads e.g. load_unaligned_zeropad(), we should be able to fix
this up.
- A kdump kernel trying to access delegated page (donated by the primary
kernel). We do not support this yet, but can be added in the later series.
There is ongoing work to unmap the guest_memfd backed private pages
from the linear map. We would additionally need to unmap the other
delegated pages too. For now handle the GPF and only fixing up kernel mode
accesses via kernel VA (which would cover both the legitimate cases above)
Reviewed-by: Gavin Shan <gshan@redhat.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'tools/lib/python/kdoc')
0 files changed, 0 insertions, 0 deletions
