From e019a5049c9671126e6ee9787f1c0678b41ec527 Mon Sep 17 00:00:00 2001 From: "pageexec@freemail.hu" Date: Wed, 28 Jun 2006 20:44:16 +0200 Subject: [PATCH] --- yaml --- r: 30956 b: refs/heads/master c: 79bc79b07c9c6f8ae9290704e9e503a9327fcbb2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/i386/kernel/sysenter.c | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 1210e89b38c5..1acd5e0a2c7c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a39727f212426b9d5f9267b3318a2afaf9922d3b +refs/heads/master: 79bc79b07c9c6f8ae9290704e9e503a9327fcbb2 diff --git a/trunk/arch/i386/kernel/sysenter.c b/trunk/arch/i386/kernel/sysenter.c index c60419dee018..713ba39d32c6 100644 --- a/trunk/arch/i386/kernel/sysenter.c +++ b/trunk/arch/i386/kernel/sysenter.c @@ -148,8 +148,10 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int exstack) vma->vm_mm = mm; ret = insert_vm_struct(mm, vma); - if (ret) - goto free_vma; + if (unlikely(ret)) { + kmem_cache_free(vm_area_cachep, vma); + goto up_fail; + } current->mm->context.vdso = (void *)addr; current_thread_info()->sysenter_return = @@ -158,10 +160,6 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int exstack) up_fail: up_write(&mm->mmap_sem); return ret; - -free_vma: - kmem_cache_free(vm_area_cachep, vma); - return ret; } const char *arch_vma_name(struct vm_area_struct *vma)