[PATCH] x86: _edata should include all .data.* sections on X86_64

Catalin Marinas
2009-07-14T10:06:41Z

The .data.read_mostly and .data.cacheline_aligned sections aren't
covered by the _sdata .. _edata range on X86_64. This affects the
kmemleak reporting leading to possible false positives by not scanning
all the whole data section.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Ingo Molnar <mingo@elte.hu>
---

(I re-posted this patch with comments and cc'ing the relevant people)

arch/x86/kernel/vmlinux.lds.S | 7 -------
1 files changed, 0 insertions(+), 7 deletions(-)

diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
index 367e878..59f31d2 100644
--- a/arch/x86/kernel/vmlinux.lds.S
+++ b/arch/x86/kernel/vmlinux.lds.S
@@ -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