1*1f5207b7SJohn Levon#!/bin/bash 2*1f5207b7SJohn Levon 3*1f5207b7SJohn Levonif ! test -e kernel.allocation_funcs || ! test -e kernel.gfp_flags ; then 4*1f5207b7SJohn Levon echo "We need the kernel.allocation_funcs and the kernel.gfp_flags files" 5*1f5207b7SJohn Levon echo "The scripts to generate them are in smatch_data/" 6*1f5207b7SJohn Levon exit 1 7*1f5207b7SJohn Levonfi 8*1f5207b7SJohn Levon 9*1f5207b7SJohn Levonbin_dir=$(dirname $0) 10*1f5207b7SJohn Levonremove=$(echo ${bin_dir}/../smatch_data/kernel.allocation_funcs_gfp.remove) 11*1f5207b7SJohn Levontmp=$(mktemp /tmp/smatch.XXXX) 12*1f5207b7SJohn Levon 13*1f5207b7SJohn Levonecho "// Automatically generated by add_gfp_to_allocations.sh" > kernel.allocation_funcs_gfp 14*1f5207b7SJohn Levonfor i in $(grep -v "//" kernel.allocation_funcs) ; do 15*1f5207b7SJohn Levon if ! grep -w $i kernel.gfp_flags ; then 16*1f5207b7SJohn Levon echo $i X 17*1f5207b7SJohn Levon fi 18*1f5207b7SJohn Levondone >> $tmp 19*1f5207b7SJohn Levon 20*1f5207b7SJohn Levoncat $tmp $remove $remove 2> /dev/null | sort | uniq -u >> kernel.allocation_funcs_gfp 21*1f5207b7SJohn Levonrm $tmp 22*1f5207b7SJohn Levon 23*1f5207b7SJohn Levonecho "Done. Created kernel.allocation_funcs_gfp" 24