#!/bin/sh # Print out the KASAN_SHADOW_OFFSETS required to place the KASAN SHADOW # start address at the top of the linear region print_kasan_offset () { printf "%02d\t" $1 printf "0x%08x00000000\n" $(( (0xffffffff & (-1 << ($1 - 1 - 32))) \ - (1 << (64 - 32 - $2)) )) } echo KASAN_SHADOW_SCALE_SHIFT = 3 printf "VABITS\tKASAN_SHADOW_OFFSET\n" print_kasan_offset 48 3 print_kasan_offset 47 3 print_kasan_offset 42 3 print_kasan_offset 39 3 print_kasan_offset 36 3 echo echo KASAN_SHADOW_SCALE_SHIFT = 4 printf "VABITS\tKASAN_SHADOW_OFFSET\n" print_kasan_offset 48 4 print_kasan_offset 47 4 print_kasan_offset 42 4 print_kasan_offset 39 4 print_kasan_offset 36 4