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

sync-check.sh (1297B)


      1#!/bin/sh
      2# SPDX-License-Identifier: GPL-2.0
      3
      4if [ -z "$SRCARCH" ]; then
      5	echo 'sync-check.sh: error: missing $SRCARCH environment variable' >&2
      6	exit 1
      7fi
      8
      9FILES="include/linux/objtool.h"
     10
     11if [ "$SRCARCH" = "x86" ]; then
     12FILES="$FILES
     13arch/x86/include/asm/nops.h
     14arch/x86/include/asm/inat_types.h
     15arch/x86/include/asm/orc_types.h
     16arch/x86/include/asm/emulate_prefix.h
     17arch/x86/lib/x86-opcode-map.txt
     18arch/x86/tools/gen-insn-attr-x86.awk
     19include/linux/static_call_types.h
     20"
     21
     22SYNC_CHECK_FILES='
     23arch/x86/include/asm/inat.h
     24arch/x86/include/asm/insn.h
     25arch/x86/lib/inat.c
     26arch/x86/lib/insn.c
     27'
     28fi
     29
     30check_2 () {
     31  file1=$1
     32  file2=$2
     33
     34  shift
     35  shift
     36
     37  cmd="diff $* $file1 $file2 > /dev/null"
     38
     39  test -f $file2 && {
     40    eval $cmd || {
     41      echo "Warning: Kernel ABI header at '$file1' differs from latest version at '$file2'" >&2
     42      echo diff -u $file1 $file2
     43    }
     44  }
     45}
     46
     47check () {
     48  file=$1
     49
     50  shift
     51
     52  check_2 tools/$file $file $*
     53}
     54
     55if [ ! -d ../../kernel ] || [ ! -d ../../tools ] || [ ! -d ../objtool ]; then
     56	exit 0
     57fi
     58
     59cd ../..
     60
     61while read -r file_entry; do
     62    if [ -z "$file_entry" ]; then
     63	continue
     64    fi
     65
     66    check $file_entry
     67done <<EOF
     68$FILES
     69EOF
     70
     71if [ "$SRCARCH" = "x86" ]; then
     72	for i in $SYNC_CHECK_FILES; do
     73		check $i '-I "^.*\/\*.*__ignore_sync_check__.*\*\/.*$"'
     74	done
     75fi