linux/arch/powerpc/include/asm/kfence.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/*
   3 * powerpc KFENCE support.
   4 *
   5 * Copyright (C) 2020 CS GROUP France
   6 */
   7
   8#ifndef __ASM_POWERPC_KFENCE_H
   9#define __ASM_POWERPC_KFENCE_H
  10
  11#include <linux/mm.h>
  12#include <asm/pgtable.h>
  13
  14static inline bool arch_kfence_init_pool(void)
  15{
  16        return true;
  17}
  18
  19static inline bool kfence_protect_page(unsigned long addr, bool protect)
  20{
  21        pte_t *kpte = virt_to_kpte(addr);
  22
  23        if (protect) {
  24                pte_update(&init_mm, addr, kpte, _PAGE_PRESENT, 0, 0);
  25                flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
  26        } else {
  27                pte_update(&init_mm, addr, kpte, 0, _PAGE_PRESENT, 0);
  28        }
  29
  30        return true;
  31}
  32
  33#endif /* __ASM_POWERPC_KFENCE_H */
  34