Re: [PATCH] mm/vmscan: fix unsequenced modification and access warning

From: Michal Hocko
Date: Wed May 10 2017 - 05:25:11 EST


On Wed 10-05-17 01:46:03, Nick Desaulniers wrote:
> > You can add
>
> Something that's not clear to me when advised to add, should I be
> uploading a v3 with your acked by? I think I got that wrong the last
> time I asked (which was my first patch to Linux).

If there are no further changes to the patch/changelog then it is not
necessary. The maintainer usually just grabs ackes and reviewed-bys
from the list.

> > But I still do not understand which part of the code is undefined and
> > why.
>
> It's not immediately clear to me either, but it's super later here...

I would really like to understand that...

> > is this a bug in -Wunsequenced in Clang
>
> Possibly, I think I already found one earlier tonight.
>
> https://bugs.llvm.org/show_bug.cgi?id=32985

this seems unrelated. I would try to report this and clarify in the llvm
bugzilla.

> Tomorrow, I'll try to cut down a test case to see if this is indeed a
> compiler bug. Would you like me to change the commit message to call
> this just a simple clean up, in the meantime?

I would go with the following wording.
"
Clang and its -Wunsequenced emits a warning
(PUT THE FULL WARNING HERE).

While it is not clear to me whether the initialization code violates the
specification (6.7.8 par 19 (ISO/IEC 9899) looks it disagrees) the code
is quite confusing and worth cleaning up anyway. Fix this by reusing
sc.gfp_mask rather than the updated input gfp_mask parameter.
"
--
Michal Hocko
SUSE Labs