user_data: improve tracking set vs passed in user data
Say we have strncpy(dest, src, 5) and src is user_data then dest is user
data at the end as well. But it's not the same as copy_from_user() where
dest is always set to user_data.
I have tried to differentiate between the two before but it was buggy.
This change introduces two states user_data_set and user_data_passed so
we can track this. The is_user_data() now returns 0, 1, or 2 instead of
just 0 or 1.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>