New check_stack.c: warn if kernel code puts too much data on the stack.
For now the threshold is 500 bytes on the stack. If you put more than
than that on the stack smatch will complain.
This has some false positives in handling typedefed pointers to aligned data.
typedef struct aligned_struct {
int a;
} __attribute__ ((aligned(1024))) ali_t;
...
ali_t *ptr; // smatch thinks ptr is aligned when really we want
// the data ptr points at to be aligned.
...
Signed-off-by: Dan Carpenter <error27@gmail.com>