function_hooks: hack around fallout from moving the assignment to the end
I moved the fake assignment to the end so that we would have already parsed
the PARAM_LIMIT before we do the assignment. But then we run into stuff
like this:
int frob(struct whatever *p)
{
int ret = p->a;
kfree(p);
return a;
}
So now we parse PARAM_FREE p and then fake an assignment "x = p->a;". So
now we get errors that we're dereferencing "p" when it's freed. My
solution is just to not generate those warnings when we're in a fake
assignment. But then smatch_comparison starts ignoring those assignments
as well so we have to make it not ignore certain fake assignments...
It's a bit hacky, but I think it should work.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>