From d6b0bc710523dbbe203cd6e2a3968504cf89b971 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 16 Mar 2009 13:07:21 +0100 Subject: [PATCH] --- yaml --- r: 138624 b: refs/heads/master c: 250981e6e1ef04947eccaa55e8c25ddcaa47a02e h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/process.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index afe83933b292..29caf4c47a69 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0f3fa48a7eaf5d1118cfda1650e8c759b2a116e4 +refs/heads/master: 250981e6e1ef04947eccaa55e8c25ddcaa47a02e diff --git a/trunk/arch/x86/kernel/process.c b/trunk/arch/x86/kernel/process.c index 6afa5232dbb7..156f87582c6c 100644 --- a/trunk/arch/x86/kernel/process.c +++ b/trunk/arch/x86/kernel/process.c @@ -65,11 +65,11 @@ void exit_thread(void) { struct task_struct *me = current; struct thread_struct *t = &me->thread; + unsigned long *bp = t->io_bitmap_ptr; - if (me->thread.io_bitmap_ptr) { + if (bp) { struct tss_struct *tss = &per_cpu(init_tss, get_cpu()); - kfree(t->io_bitmap_ptr); t->io_bitmap_ptr = NULL; clear_thread_flag(TIF_IO_BITMAP); /* @@ -78,6 +78,7 @@ void exit_thread(void) memset(tss->io_bitmap, 0xff, t->io_bitmap_max); t->io_bitmap_max = 0; put_cpu(); + kfree(bp); } ds_exit_thread(current);