Re: [PATCH] mm/compaction: Fix warning of 'flags' may be used uninitialized

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed 10-09-14 11:50:41, David Rientjes wrote:
> On Wed, 10 Sep 2014, Xiubo Li wrote:
> 
> > C      mm/compaction.o
> > mm/compaction.c: In function isolate_freepages_block:
> > mm/compaction.c:364:37: warning: flags may be used uninitialized in
> > this function [-Wmaybe-uninitialized]
> >        && compact_unlock_should_abort(&cc->zone->lock, flags,
> >                                      ^
> > In file included from include/linux/irqflags.h:15:0,
> >                  from ./arch/arm/include/asm/bitops.h:27,
> >                  from include/linux/bitops.h:33,
> >                  from include/linux/kernel.h:10,
> >                  from include/linux/list.h:8,
> >                  from include/linux/preempt.h:10,
> >                  from include/linux/spinlock.h:50,
> >                  from include/linux/swap.h:4,
> >                  from mm/compaction.c:10:
> > mm/compaction.c: In function isolate_migratepages_block:
> > ./arch/arm/include/asm/irqflags.h:152:2: warning: flags may be used
> > uninitialized in this function [-Wmaybe-uninitialized]
> >   asm volatile(
> >   ^
> > mm/compaction.c:576:16: note: flags as declared here
> >   unsigned long flags;
> >                 ^
> > 
> > Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx>
> 
> Arnd Bergmann already sent a patch for this to use uninitialized_var() 
> privately but it didn't get cc'd to any mailing list, sorry.

Besides that setting flags to 0 is certainly a misleading way to fix
this issue. uninitialized_var is a correct way because the warning is a
false possitive. compact_unlock_should_abort will not touch the flags if
locked is false and this is true only after a lock has been taken and
flags set. (this should be preferably in the patch description).

-- 
Michal Hocko
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]