type: make pointers unsigned
In Sparse pointers are special and neither the signed nor the unsigned
bit is set. By chance, I happened to make them signed in Smatch and then
I didn't change it because it was handy to have error pointer show up as
negatives.
But really pointers are unsigned. So I have bit the bullet and changed it.
Part of what made me do this is the work with mtags.
One of the ideas that I had had was that the various segments and the stack
and the heap would all be indicated by the pointer range. I never
implemented any checks which used this and really it never worked well.
You would get an unknown pointer and mark it as a general valid pointer
and that was that.
Then when I started using mtags, not all of them were in the valid pointer
range.
One thing I did is that error pointer are still marked as negative, but
they're at the high value side of the range instead of in front or middle.
It looks like this: "0,4096-ptr_max,(-22),(-12)".
I've been running with this code for a while now and it seems basically
okay. Hopefully, I manage to commit all the necessary parts.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>