cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

kfence.h (650B)


      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 */