summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2009-03-15 07:19:38 +0100
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2009-03-17 20:56:52 +0100
commit0b1c723d0bd199300a1a2de57a46000d17577498 (patch)
treefbc5ae907b8bc9053ab3fc1f8a83c1bd938d2094
parentx86-32: tighten the bound on additional memory to map (diff)
downloadlinux-0b1c723d0bd199300a1a2de57a46000d17577498.tar.xz
linux-0b1c723d0bd199300a1a2de57a46000d17577498.zip
x86/brk: make the brk reservation symbols inaccessible from C
Impact: bulletproofing, clarification The brk reservation symbols are just there to document the amount of space reserved by brk users in the final vmlinux file. Their addresses are irrelevent, and using their addresses will cause certain havok. Name them ".brk.NAME", which is a valid asm symbol but C can't reference it; it also highlights their special role in the symbol table. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
-rw-r--r--arch/x86/include/asm/setup.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h
index 61b126b97885..fbf0521eeed8 100644
--- a/arch/x86/include/asm/setup.h
+++ b/arch/x86/include/asm/setup.h
@@ -116,13 +116,13 @@ void *extend_brk(size_t size, size_t align);
* executable.)
*/
#define RESERVE_BRK(name,sz) \
- static void __section(.discard) __used \
+ static void __section(.discard) __used \
__brk_reservation_fn_##name##__(void) { \
asm volatile ( \
".pushsection .brk_reservation,\"aw\",@nobits;" \
- "__brk_reservation_" #name "__:" \
+ ".brk." #name ":" \
" 1:.skip %c0;" \
- " .size __brk_reservation_" #name "__, . - 1b;" \
+ " .size .brk." #name ", . - 1b;" \
" .popsection" \
: : "i" (sz)); \
}
@@ -141,9 +141,9 @@ void __init x86_64_start_reservations(char *real_mode_data);
#else
#define RESERVE_BRK(name,sz) \
.pushsection .brk_reservation,"aw",@nobits; \
-__brk_reservation_##name##__: \
+.brk.name: \
1: .skip sz; \
- .size __brk_reservation_##name##__,.-1b; \
+ .size .brk.name,.-1b; \
.popsection
#endif /* __ASSEMBLY__ */
#endif /* __KERNEL__ */