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