Make ranged functions pass the assignment expression to checks.
commitd68f93f4ddd809629aaefc7eb210eafbb1e9a9fa
authorDan Carpenter <error27@gmail.com>
Wed, 18 Nov 2009 13:55:31 +0000 (18 15:55 +0200)
committerDan Carpenter <error27@gmail.com>
Wed, 18 Nov 2009 13:55:31 +0000 (18 15:55 +0200)
treed41aaad60a288c38050176b69c9721d948584d9f
parentd8c2a3a794171026f8126f131913b70f59c6cea2
Make ranged functions pass the assignment expression to checks.

So there are certain functions where the return value means something.
For example, a return value of 0 might me a lock was taken and -EINTR
mean the lock was not taken.

There is a call back for checks interested in those kinds of functions.

The problem was I wanted to use that for dev_hold().  Some functions
return a device that is held or else they return NULL.

I modified it so that the check_held_dev.c check can get the whole
assignment and can set the implications so that a NULL return means
the device is not held and 1 to POINTER_MAX means that it is held.

Signed-off-by: Dan Carpenter <error27@gmail.com>
check_held_dev.c
check_locking.c
smatch.h
smatch_function_hooks.c