Re: checkpatch mistake on XA_STATE?

From: Joe Perches
Date: Wed May 25 2022 - 11:04:34 EST


On Wed, 2022-05-25 at 11:13 +0100, David Howells wrote:
> I see the following:
>
> WARNING: Missing a blank line after declarations
> #1921: FILE: fs/cifs/smb2ops.c:4684:
> + struct folio *folio;
> + XA_STATE(xas, buffer, 0);
>
> but XA_STATE() technically *is* a declaration.
>
> Should checkpatch treat it as such?

Probably.
---
scripts/checkpatch.pl | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 503e8abbb2c1e..2cf28014132f6 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -1042,7 +1042,8 @@ our $FuncArg = qr{$Typecast{0,1}($LvalOrFunc|$Constant|$String)};
our $declaration_macros = qr{(?x:
(?:$Storage\s+)?(?:[A-Z_][A-Z0-9]*_){0,2}(?:DEFINE|DECLARE)(?:_[A-Z0-9]+){1,6}\s*\(|
(?:$Storage\s+)?[HLP]?LIST_HEAD\s*\(|
- (?:SKCIPHER_REQUEST|SHASH_DESC|AHASH_REQUEST)_ON_STACK\s*\(
+ (?:SKCIPHER_REQUEST|SHASH_DESC|AHASH_REQUEST)_ON_STACK\s*\(|
+ (?:$Storage\s+)?(?:XA_ARRAY|XA_ARRAY_ORDER)\s*\(
)};

our %allow_repeated_words = (