x86_64: fix arch_vma_name
The function arch_vma_name() is declared weak and thus it was not noticed that x86_64 had two almost identical implementations. It was introduced in syscall32.c by:c633090e31
It was introduced in mm/init.c by:2aae950b21
Signed-off-by: Roland McGrath <roland@redhat.com> Acked-by: Sam Ravnborg <sam@ravnborg.org> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
26b97237f7
commit
2ebc3cc920
@@ -41,6 +41,7 @@ int sysctl_vsyscall32 = 1;
|
|||||||
#undef ARCH_DLINFO
|
#undef ARCH_DLINFO
|
||||||
#define ARCH_DLINFO do { \
|
#define ARCH_DLINFO do { \
|
||||||
if (sysctl_vsyscall32) { \
|
if (sysctl_vsyscall32) { \
|
||||||
|
current->mm->context.vdso = (void *)VSYSCALL32_BASE; \
|
||||||
NEW_AUX_ENT(AT_SYSINFO, (u32)(u64)VSYSCALL32_VSYSCALL); \
|
NEW_AUX_ENT(AT_SYSINFO, (u32)(u64)VSYSCALL32_VSYSCALL); \
|
||||||
NEW_AUX_ENT(AT_SYSINFO_EHDR, VSYSCALL32_BASE); \
|
NEW_AUX_ENT(AT_SYSINFO_EHDR, VSYSCALL32_BASE); \
|
||||||
} \
|
} \
|
||||||
|
@@ -49,14 +49,6 @@ int syscall32_setup_pages(struct linux_binprm *bprm, int exstack)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *arch_vma_name(struct vm_area_struct *vma)
|
|
||||||
{
|
|
||||||
if (vma->vm_start == VSYSCALL32_BASE &&
|
|
||||||
vma->vm_mm && vma->vm_mm->task_size == IA32_PAGE_OFFSET)
|
|
||||||
return "[vdso]";
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int __init init_syscall32(void)
|
static int __init init_syscall32(void)
|
||||||
{
|
{
|
||||||
char *syscall32_page = (void *)get_zeroed_page(GFP_KERNEL);
|
char *syscall32_page = (void *)get_zeroed_page(GFP_KERNEL);
|
||||||
|
Reference in New Issue
Block a user