1 #!/bin/bash
   2 
   3 file=$1
   4 if [[ "$file" = "" ]] ; then
   5     echo "Usage:  $0 <file with smatch messages>"
   6     exit 1
   7 fi
   8 
   9 IFS="
  10 "
  11 
  12 for line in $(grep 'dereferenced before' $file) ; do
  13 
  14     code_file=$(echo "$line" | cut -d ':' -f1)
  15     lineno=$(echo "$line" | cut -d ' ' -f1 | cut -d ':' -f2)
  16     function=$(echo "$line" | cut -d ' ' -f2)
  17     variable=$(echo "$line" | cut -d "'" -f3)
  18     source_line=$(tail -n +$lineno $code_file | head -n 1 | sed -e 's/^\W*//')
  19 
  20     if echo "$source_line" | grep -q rcu_assign_pointer ; then
  21         continue
  22     fi
  23     if echo "$source_line" | grep -q '^\W*tda_' ; then
  24         continue
  25     fi
  26     if echo "$source_line" | grep -q tda_fail ; then
  27         continue
  28     fi
  29     if echo "$source_line" | grep -q '^\W*ATH5K_' ; then
  30         continue
  31     fi
  32     if echo "$source_line" | grep -qw CMDINFO ; then
  33         continue
  34     fi
  35     if echo "$source_line" | grep -qw dump_desc_dbg ; then
  36         continue
  37     fi
  38     if echo "$source_line" | grep -qw CAMERA_IS_OPERATIONAL ; then
  39         continue
  40     fi
  41     if echo "$source_line" | grep -qw USBVISION_IS_OPERATIONAL ; then
  42         continue
  43     fi
  44     if echo "$source_line" | grep -qw DEV_INIT_TEST_WITH_RETURN ; then
  45         continue
  46     fi
  47     if echo "$source_line" | grep -qw TW_PRINTK ; then
  48         continue
  49     fi
  50     if echo "$source_line" | grep -qw RESET_ONE_SEC_TX_CNT ; then
  51         continue
  52     fi
  53     if echo "$source_line" | grep -qw SOCK_DEBUG; then
  54         continue
  55     fi
  56     if echo "$source_line" | grep -qw P80211SKB_RXMETA ; then
  57         continue
  58     fi
  59     if echo "$source_line" | grep -qw ACM_READY ; then
  60         continue
  61     fi
  62     if echo "$source_line" | grep -qw v4l2_subdev_notify ; then
  63         continue
  64     fi
  65     if echo "$source_line" | egrep -qw 'tuner_(err|info)' ; then
  66         continue
  67     fi
  68     if echo "$source_line" | grep -qw DBG_SKB ; then
  69         continue
  70     fi
  71     if echo "$source_line" | grep -qw for_each_mddev ; then
  72         continue
  73     fi
  74     if echo "$source_line" | grep -qw v4l2_subdev_call ; then
  75         continue
  76     fi
  77     if echo "$source_line" | grep -qw VALID_CALLBACK ; then
  78         continue
  79     fi
  80     if [ "$variable" == "bp->dev" ] && echo "$source_line" | grep -qw DP ; then
  81         continue
  82     fi
  83     if echo "$source_line" | grep -qw BNX2X_ERR ; then
  84         continue
  85     fi
  86     if echo "$source_line" | grep -qw FCOE_NETDEV_DBG ; then
  87         continue
  88     fi
  89     if echo "$source_line" | grep -qw __rq_for_each_bio ; then
  90         continue
  91     fi
  92     if echo "$source_line" | grep -qw IPS_DMA_DIR ; then
  93         continue
  94     fi
  95     if [ "$variable" == "dev" ] && echo "$source_line" | grep -qw dprintk ; then
  96         continue
  97     fi
  98 
  99     echo "$code_file:$lineno $function '$variable': $source_line"
 100 done
 101