• M
    mm: fix NR_SECTION_ROOTS == 0 when using using sparsemem extreme. · 0faa5638
    Marcelo Roberto Jimenez 提交于
    Got this while compiling for ARM/SA1100:
    
    mm/sparse.c: In function '__section_nr':
    mm/sparse.c:135: warning: 'root' is used uninitialized in this function
    
    This patch follows Russell King's suggestion for a new calculation for
    NR_SECTION_ROOTS.  Thanks also to Sergei Shtylyov for pointing out the
    existence of the macro DIV_ROUND_UP.
    
    Atsushi Nemoto observed:
    : This fix doesn't just silence the warning - it fixes a real problem.
    :
    : Without this fix, mem_section[] might have 0 size so mem_section[0]
    : will share other variable area.  For example, I got:
    :
    : c030c700 b __warned.16478
    : c030c700 B mem_section
    : c030c701 b __warned.16483
    :
    : This might cause very strange behavior.  Your patch actually fixes it.
    Signed-off-by: NMarcelo Roberto Jimenez <mroberto@cpti.cetuc.puc-rio.br>
    Cc: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
    Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Cc: Christoph Lameter <cl@linux-foundation.org>
    Cc: Mel Gorman <mel@csn.ul.ie>
    Cc: Minchan Kim <minchan.kim@gmail.com>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Cc: Sergei Shtylyov <sshtylyov@mvista.com>
    Cc: Russell King <rmk@arm.linux.org.uk>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    0faa5638
mmzone.h 34.9 KB