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
On Tue, Jun 28, 2022 at 06:10:41PM -0400, Joe Simmons-Talbott wrote:
> 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.
I created the following BZ https://bugzilla.kernel.org/show_bug.cgi?id=216374
Thanks,
Joe