Re: [PATCH] locks: remove trailing semicolon in macro definition

From: Tom Rix
Date: Sun Nov 29 2020 - 12:48:51 EST



On 11/27/20 11:53 AM, Matthew Wilcox wrote:
> On Fri, Nov 27, 2020 at 11:07:07AM -0800, trix@xxxxxxxxxx wrote:
>> +++ b/fs/fcntl.c
>> @@ -526,7 +526,7 @@ SYSCALL_DEFINE3(fcntl64, unsigned int, fd, unsigned int, cmd,
>> (dst)->l_whence = (src)->l_whence; \
>> (dst)->l_start = (src)->l_start; \
>> (dst)->l_len = (src)->l_len; \
>> - (dst)->l_pid = (src)->l_pid;
>> + (dst)->l_pid = (src)->l_pid
> This should be wrapped in a do { } while (0).
>
> Look, this warning is clearly great at finding smelly code, but the
> fixes being generated to shut up the warning are low quality.
>
Multiline macros not following the do {} while (0) pattern are likely a larger problem.

I'll take a look.

Thanks,

Tom