Print this page
12166 resync smatch to 0.6.1-rc1-il-3

Split Close
Expand all
Collapse all
          --- old/usr/src/tools/smatch/src/smatch_data/db/fixup_kernel.sh
          +++ new/usr/src/tools/smatch/src/smatch_data/db/fixup_kernel.sh
↓ open down ↓ 172 lines elided ↑ open up ↑
 173  173  
 174  174  /* This is RIO_BAD_SIZE */
 175  175  delete from return_states where file = 'drivers/rapidio/rio-access.c' and return = '129';
 176  176  
 177  177  /* Smatch sucks at loops */
 178  178  delete from return_states where function = 'ata_dev_next' and type = 103;
 179  179  
 180  180  /* The problem is that parsing big function pointers is hard. */
 181  181  delete from return_states where function = 'vfs_get_tree' and type = 1024;
 182  182  
      183 +/* Locking stuff goes here.  */
      184 +update return_states set parameter = -1, key = '\$' where function = 'ipmi_ssif_lock_cond' and type = 8020 and parameter = 1;
      185 +update return_states set parameter = 1, key = '\$->tree->tree_lock' where function = 'hfs_find_init' and type = 8020 and parameter = 0;
      186 +delete from return_states where function = '__oom_kill_process' and type = 8021;
      187 +
 183  188  EOF
 184  189  
 185  190  # fixme: this is totally broken
 186  191  call_id=$(echo "select distinct call_id from caller_info where function = '__kernel_write';" | sqlite3 $db_file)
 187  192  for id in $call_id ; do
 188  193      echo "insert into caller_info values ('fake', '', '__kernel_write', $id, 0, 8017, 1, '*\$', '');" | sqlite3 $db_file
 189  194  done
 190  195  
 191  196  for i in $(echo "select distinct return from return_states where function = 'clear_user';" | sqlite3 $db_file ) ; do
 192  197      echo "update return_states set return = \"$i[<=\$1]\" where return = \"$i\" and function = 'clear_user';" | sqlite3 $db_file
↓ open down ↓ 33 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX