diff options
author | Suzanne Candanedo <suzanne.candanedo@arm.com> | 2023-04-12 12:03:55 +0100 |
---|---|---|
committer | Guus Sliepen <gsliepen@google.com> | 2023-04-17 07:23:20 +0000 |
commit | fa979546a69669e5b6edbff8beb44132fb8522a2 (patch) | |
tree | 3641c8cefda1cefbe9738d4820bcbf66f73650ac /mali_kbase/mmu | |
parent | a11bf032227b33017857ce39c478b8e88ba2a98b (diff) | |
download | gpu-fa979546a69669e5b6edbff8beb44132fb8522a2.tar.gz |
[Official] MIDCET-4458, GPUCORE-36654 Use %pK on GPU bus fault
Physical address of GPU bus fault is useful for debugging purpose.
However the physical address (emitted via 0x%016llX) is also sensitive
information so it should be cautiously exposed to user space.
Linux kernel provides the control for physical address exposure
via 'kptr_restrict'. To allow this control to work, '%pK' must be used.
Bug: 275623256
Provenance: https://code.ipdelivery.arm.com/c/GPU/mali-ddk/+/5166
Change-Id: I23171bafc47e96045e42dad533ed28fc8bbcef6b
(cherry picked from commit d35be16de81d9bc55dc0a586d661391e1989d6c0)
Diffstat (limited to 'mali_kbase/mmu')
-rw-r--r-- | mali_kbase/mmu/backend/mali_kbase_mmu_csf.c | 5 | ||||
-rw-r--r-- | mali_kbase/mmu/backend/mali_kbase_mmu_jm.c | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/mali_kbase/mmu/backend/mali_kbase_mmu_csf.c b/mali_kbase/mmu/backend/mali_kbase_mmu_csf.c index 04f5cdf..6c52f0c 100644 --- a/mali_kbase/mmu/backend/mali_kbase_mmu_csf.c +++ b/mali_kbase/mmu/backend/mali_kbase_mmu_csf.c @@ -149,17 +149,18 @@ void kbase_gpu_report_bus_fault_and_kill(struct kbase_context *kctx, "true" : "false"; int as_no = as->number; unsigned long flags; + const uintptr_t fault_addr = fault->addr; /* terminal fault, print info about the fault */ dev_err(kbdev->dev, - "GPU bus fault in AS%d at PA 0x%016llX\n" + "GPU bus fault in AS%d at PA %pK\n" "PA_VALID: %s\n" "raw fault status: 0x%X\n" "exception type 0x%X: %s\n" "access type 0x%X: %s\n" "source id 0x%X\n" "pid: %d\n", - as_no, fault->addr, + as_no, (void *)fault_addr, addr_valid, status, exception_type, kbase_gpu_exception_name(exception_type), diff --git a/mali_kbase/mmu/backend/mali_kbase_mmu_jm.c b/mali_kbase/mmu/backend/mali_kbase_mmu_jm.c index 3130b33..2442149 100644 --- a/mali_kbase/mmu/backend/mali_kbase_mmu_jm.c +++ b/mali_kbase/mmu/backend/mali_kbase_mmu_jm.c @@ -63,15 +63,16 @@ void kbase_gpu_report_bus_fault_and_kill(struct kbase_context *kctx, u32 const exception_data = (status >> 8) & 0xFFFFFF; int const as_no = as->number; unsigned long flags; + const uintptr_t fault_addr = fault->addr; /* terminal fault, print info about the fault */ dev_err(kbdev->dev, - "GPU bus fault in AS%d at PA 0x%016llX\n" + "GPU bus fault in AS%d at PA %pK\n" "raw fault status: 0x%X\n" "exception type 0x%X: %s\n" "exception data 0x%X\n" "pid: %d\n", - as_no, fault->addr, + as_no, (void *)fault_addr, status, exception_type, kbase_gpu_exception_name(exception_type), exception_data, |