linux/Documentation/arm64/kasan-offsets.sh
<<
>>
Prefs
   1#!/bin/sh
   2
   3# Print out the KASAN_SHADOW_OFFSETS required to place the KASAN SHADOW
   4# start address at the mid-point of the kernel VA space
   5
   6print_kasan_offset () {
   7        printf "%02d\t" $1
   8        printf "0x%08x00000000\n" $(( (0xffffffff & (-1 << ($1 - 1 - 32))) \
   9                        + (1 << ($1 - 32 - $2)) \
  10                        - (1 << (64 - 32 - $2)) ))
  11}
  12
  13echo KASAN_SHADOW_SCALE_SHIFT = 3
  14printf "VABITS\tKASAN_SHADOW_OFFSET\n"
  15print_kasan_offset 48 3
  16print_kasan_offset 47 3
  17print_kasan_offset 42 3
  18print_kasan_offset 39 3
  19print_kasan_offset 36 3
  20echo
  21echo KASAN_SHADOW_SCALE_SHIFT = 4
  22printf "VABITS\tKASAN_SHADOW_OFFSET\n"
  23print_kasan_offset 48 4
  24print_kasan_offset 47 4
  25print_kasan_offset 42 4
  26print_kasan_offset 39 4
  27print_kasan_offset 36 4
  28