summaryrefslogtreecommitdiff
path: root/mali_kbase/mali_kbase_defs.h
diff options
context:
space:
mode:
authorSuzanne Candanedo <suzanne.candanedo@arm.com>2022-10-06 14:08:52 +0100
committerJack Diver <diverj@google.com>2022-10-07 11:24:36 +0000
commit48ab9bf5fc5f938816b416a121a84128fabb4d5b (patch)
tree0ce6b45afad3674804a0aafddf2c9200120567ba /mali_kbase/mali_kbase_defs.h
parent55f1819bd982ca824ee16d19c6d2aa1bbc0ea706 (diff)
downloadgpu-48ab9bf5fc5f938816b416a121a84128fabb4d5b.tar.gz
mali_kbase: MIDCET-4220 Patch for GPUSWERRATA-1420
This patch is a fix for: - SW Errata: 2712858 - CVE: CVE-2022-36449 It excludes MMU dumping and invalidates PGD before free. For this fix to work, GPUCORE-32152 is needed which adds hooks for physical address translation. Bug: 251397485 Provenance: https://code.ipdelivery.arm.com/c/GPU/mali-ddk/+/4607/1 Signed-off-by: Jack Diver <diverj@google.com> Change-Id: I9d3718b57199b7e66a5b49730ac32c810a1fc9c9
Diffstat (limited to 'mali_kbase/mali_kbase_defs.h')
-rw-r--r--mali_kbase/mali_kbase_defs.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/mali_kbase/mali_kbase_defs.h b/mali_kbase/mali_kbase_defs.h
index c44118a..ba63e1a 100644
--- a/mali_kbase/mali_kbase_defs.h
+++ b/mali_kbase/mali_kbase_defs.h
@@ -581,7 +581,7 @@ struct kbase_devfreq_opp {
* @entry_set_pte: program the pte to be a valid entry to encode the physical
* address of the next lower level page table and also update
* the number of valid entries.
- * @entry_invalidate: clear out or invalidate the pte.
+ * @entries_invalidate: clear out or invalidate a range of ptes.
* @get_num_valid_entries: returns the number of valid entries for a specific pgd.
* @set_num_valid_entries: sets the number of valid entries for a specific pgd
* @flags: bitmask of MMU mode flags. Refer to KBASE_MMU_MODE_ constants.
@@ -598,8 +598,8 @@ struct kbase_mmu_mode {
int (*pte_is_valid)(u64 pte, int level);
void (*entry_set_ate)(u64 *entry, struct tagged_addr phy,
unsigned long flags, int level);
- void (*entry_set_pte)(u64 *pgd, u64 vpfn, phys_addr_t phy);
- void (*entry_invalidate)(u64 *entry);
+ void (*entry_set_pte)(u64 *entry, phys_addr_t phy);
+ void (*entries_invalidate)(u64 *entry, u32 count);
unsigned int (*get_num_valid_entries)(u64 *pgd);
void (*set_num_valid_entries)(u64 *pgd,
unsigned int num_of_valid_entries);