checkpatch.pl bug for EXPORT_SYMBOL when struct initialization follows define

From: Joe Simmons-Talbott
Date: Tue Jun 28 2022 - 18:10:57 EST


I believe I've found a bug in checkpatch.pl where an EXPORT_SYMBOL for
an initialized struct following a simple #define without an intervening
blank line falsely reports that EXPORT_SYMBOL doesn't follow the symbol
definition. Here's an example:

#define SOMETHING_ELSE 1
struct blah foo = {
.a = 1
};
EXPORT_SYMBOL(foo);

You can see from the debug print that the full statement has not been
identified.

FOO A<+EXPORT_SYMBOL(foo);> stat<+ .a = 1
};> name<foo>

Unfortunately my perl skills were not sufficient to find a fix.

Thanks,
Joe