buf_size: fix what caller_info to pass and what is assumed
Generally if a function takes a pointer to an unsigned long, then we
assume that the caller is going to pass a pointer to one and only one
unsigned long. But if it passes and array of longs, then record the
BUF_SIZE for that.
The original code looked at the type of the variable you were passing but
it should look at the type of the argument that the function takes.
Also originally this code only applied to struct pointers but it should
apply to everything.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>