On Fri, Dec 18, 2015 at 02:40:04PM -0800, Andrew Morton wrote: > On Fri, 18 Dec 2015 19:24:05 +0300 Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> wrote: > > > > > OK, got it, thanks. Here goes the incremental patch (it should also fix > > the warning regarding unused cmpxchg returned value): > > --- > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > > index fc25dc211eaf..908c075e04eb 100644 > > --- a/mm/memcontrol.c > > +++ b/mm/memcontrol.c > > @@ -864,7 +864,7 @@ struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root, > > * might block it. So we clear iter->position right > > * away. > > */ > > - cmpxchg(&iter->position, pos, NULL); > > + (void)cmpxchg(&iter->position, pos, NULL); > > No, this doesn't actually squish the __must_check warning. The warning was caused not by a __must_check annotation - using it for cmpxchg would be just wrong - it was caused by type conversion done in expansion of cmpxchg macro: arch/m68k/include/asm/cmpxchg.h:121:3: warning: value computed is not used [-Wunused-value] ((__typeof__(*(ptr)))__cmpxchg((ptr), (unsigned long)(o), \ ^ (see http://www.spinics.net/lists/linux-mm/msg99133.html) Type conversion to (void) helps suppressing this warning, and it seems this is what is done commonly (e.g. see kernel/rcu/tree_plugin.h) Thanks, Vladimir -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html