user_data: track user data that is returned to other functions
This isn't totally correct. I was trying to catch a specific bug where
you pass user data to a function and it does some math to it, and you get
user data back as the return value.
So the rule here is that if you are passing user data to a function that
sometimes returns user data then the returned data is user data. It
doesn't account for data that was received from the user inside the
function.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>