x86: Include all of .data.* sections in _edata on 64-bit
authorCatalin Marinas <catalin.marinas@arm.com>
Tue, 14 Jul 2009 09:52:55 +0000 (10:52 +0100)
committerIngo Molnar <mingo@elte.hu>
Sat, 18 Jul 2009 11:59:20 +0000 (13:59 +0200)
The .data.read_mostly and .data.cacheline_aligned sections
aren't covered by the _sdata .. _edata range on x86-64. This
affects kmemleak reporting leading to possible false
positives by not scanning the whole data section.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: Alexey Fisher <bug-track@fisher-privat.net>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
LKML-Reference: <1247565175.28240.37.camel@pc1117.cambridge.arm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Sam Ravnborg <sam@ravnborg.org>
arch/x86/kernel/vmlinux.lds.S

index 367e878..59f31d2 100644 (file)
@@ -112,11 +112,6 @@ SECTIONS
                _sdata = .;
                DATA_DATA
                CONSTRUCTORS
-
-#ifdef CONFIG_X86_64
-               /* End of data section */
-               _edata = .;
-#endif
        } :data
 
 #ifdef CONFIG_X86_32
@@ -156,10 +151,8 @@ SECTIONS
        .data.read_mostly : AT(ADDR(.data.read_mostly) - LOAD_OFFSET) {
                *(.data.read_mostly)
 
-#ifdef CONFIG_X86_32
                /* End of data section */
                _edata = .;
-#endif
        }
 
 #ifdef CONFIG_X86_64