Subject: Re: linux-next: build failure after merge of the ext3 tree

From: Jan Kara <[email-masked]>
Date: Thu, 7 Mar 2024 13:03:25 +0100

On Thu 07-03-24 14:18:37, Winston Wen wrote:
> On Thu, 7 Mar 2024 11:07:17 +1100
> Stephen Rothwell <[email-masked]> wrote:
> 
> > Hi all,
> > 
> > After merging the ext3 tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> > 
> > In file included from include/linux/sysctl.h:27,
> >                  from include/linux/fanotify.h:5,
> >                  from fs/notify/fanotify/fanotify.c:2:
> > fs/notify/fanotify/fanotify.c: In function 'fanotify_get_response':
> > fs/notify/fanotify/fanotify.c:233:48: error: suggest parentheses
> > around arithmetic in operand of '|' [-Werror=parentheses] 233 |
> >                             TASK_KILLABLE|TASK_FREEZABLE); |
> >                                       ^ include/linux/wait.h:283:11:
> > note: in definition of macro '___wait_is_interruptible' 283 |
> >  (state & (TASK_INTERRUPTIBLE | TASK_WAKEKILL))) |           ^~~~~
> > include/linux/wait.h:935:9: note: in expansion of macro
> > '___wait_event' 935 |         ___wait_event(wq, condition, state, 0,
> > 0, schedule()) |         ^~~~~~~~~~~~~
> > include/linux/wait.h:958:25: note: in expansion of macro
> > '__wait_event_state' 958 |                 __ret =
> > __wait_event_state(wq_head, condition, state);          \ |
> >               ^~~~~~~~~~~~~~~~~~
> > fs/notify/fanotify/fanotify.c:231:15: note: in expansion of macro
> > 'wait_event_state' 231 |         ret =
> > wait_event_state(group->fanotify_data.access_waitq, |
> > ^~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors
> > 
> > Caused by commit
> > 
> >   3440e7e55ced ("fanotify: allow freeze when waiting response for
> > permission events")
> > 
> > Though, I guess, you could argue that the ___wait_is_interruptible
> > macro should parenthesise the use of its "state" argument.
> > 
> > I have used the ext3 tree from next-20240306 for today.
> > 
> 
> Sorry I missed this warning. And agreed! I can add parentheses on the
> call side, but it may be more reasonable to add them in the macro.

Thanks for fixing this and I agree. For now, I've also pushed out a new
version of your patch with additional parentheses into my tree to unblock
it for linux-next.

								Honza
-- 
Jan Kara <[email-masked]>
SUSE Labs, CR