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

sections.h (895B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _ASM_X86_SECTIONS_H
      3#define _ASM_X86_SECTIONS_H
      4
      5#define arch_is_kernel_initmem_freed arch_is_kernel_initmem_freed
      6
      7#include <asm-generic/sections.h>
      8#include <asm/extable.h>
      9
     10extern char __brk_base[], __brk_limit[];
     11extern char __end_rodata_aligned[];
     12
     13#if defined(CONFIG_X86_64)
     14extern char __end_rodata_hpage_align[];
     15#endif
     16
     17extern char __end_of_kernel_reserve[];
     18
     19extern unsigned long _brk_start, _brk_end;
     20
     21static inline bool arch_is_kernel_initmem_freed(unsigned long addr)
     22{
     23	/*
     24	 * If _brk_start has not been cleared, brk allocation is incomplete,
     25	 * and we can not make assumptions about its use.
     26	 */
     27	if (_brk_start)
     28		return 0;
     29
     30	/*
     31	 * After brk allocation is complete, space between _brk_end and _end
     32	 * is available for allocation.
     33	 */
     34	return addr >= _brk_end && addr < (unsigned long)&_end;
     35}
     36
     37#endif	/* _ASM_X86_SECTIONS_H */