2024-03-07 00:08:17

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build failure after merge of the ext3 tree

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.

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2024-03-07 06:21:01

by Winston Wen

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the ext3 tree

On Thu, 7 Mar 2024 11:07:17 +1100
Stephen Rothwell <[email protected]> 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.


Hey Peter,

Could you please take a look at the patch attached at your convenience?
Thanks!

--
Thanks,
Winston


Attachments:
(No filename) (2.00 kB)
0001-wait-add-parentheses-to-state-argument-in-macro.patch (1.30 kB)
Download all attachments

2024-03-07 12:55:43

by Jan Kara

[permalink] [raw]
Subject: Re: linux-next: build failure after merge of the ext3 tree

On Thu 07-03-24 14:18:37, Winston Wen wrote:
> On Thu, 7 Mar 2024 11:07:17 +1100
> Stephen Rothwell <[email protected]> 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 protected]>
SUSE Labs, CR