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