db: manually delete some USER_DATA markers from the database
commitdf9b259d80156a8b403c83e0995147587c2f922c
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 21 Mar 2013 05:06:49 +0000 (21 08:06 +0300)
committerDan Carpenter <dan.carpenter@oracle.com>
Thu, 21 Mar 2013 05:06:49 +0000 (21 08:06 +0300)
tree6972996c97c836051336057467ba3cdc8fa08aa4
parent954687d5ccc93b92fa9e1950771372c516d15fd2
db: manually delete some USER_DATA markers from the database

My systems is set up slightly different from the published version of
Smatch because I don't mind false positives.  This probably doesn't affect
anyone except me.

There are a couple places which get flagged as user data which cause too
many false positives even for me and this manually clears them out.

Some of the issues here are maybe that the data comes from the hardware
and it's trusted but Smatch thinks it comes from the user and is untrusted.
Sometimes there is an opaque parameter which can rarely be user data but
mostly is not and you can only tell if you have extensive knowledge about
the other parameters.

oz_process_ep0_urb() was getting information from the hardware and using
it to call dev_hard_start_xmit().  The latter calls a popular function
pointer which flagged everything as user data.  I've blocked this in two
places.

According to Smatch packet_rcv_fanout() calls itself recursively (via a
function pointer).  It must have got flagged as taking USER_DATA.  Although
it doesn't take USER_DATA any more, because it passes USER_DATA to itself
then I needed to manually break the cycle.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch_data/db/fixup_kernel.sh