diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-06 17:00:12 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-06 17:00:12 -0500 |
commit | cf3f33551b6d0acf8d21a53c9aa9cf8a0d73afa3 (patch) | |
tree | b657e1b85befbcdff5b2ee39e5ff026d6342e694 /arch/x86/kernel/process_64.c | |
parent | 69734b644bf19f20d2989e1a8e5bf59c837ee5c1 (diff) | |
parent | 1affc46cffad9f2bc7c9ffec85726446903a58f9 (diff) |
Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
* 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86: Use "do { } while(0)" for empty lock_cmos()/unlock_cmos() macros
x86: Use "do { } while(0)" for empty flush_tlb_fix_spurious_fault() macro
x86, CPU: Drop superfluous get_cpu_cap() prototype
arch/x86/mm/pageattr.c: Quiet sparse noise; local functions should be static
arch/x86/kernel/ptrace.c: Quiet sparse noise
x86: Use kmemdup() in copy_thread(), rather than duplicating its implementation
x86: Replace the EVT_TO_HPET_DEV() macro with an inline function
Diffstat (limited to 'arch/x86/kernel/process_64.c')
-rw-r--r-- | arch/x86/kernel/process_64.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index 64e926c89a6f..9b9fe4a85c87 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c | |||
@@ -299,13 +299,12 @@ int copy_thread(unsigned long clone_flags, unsigned long sp, | |||
299 | memset(p->thread.ptrace_bps, 0, sizeof(p->thread.ptrace_bps)); | 299 | memset(p->thread.ptrace_bps, 0, sizeof(p->thread.ptrace_bps)); |
300 | 300 | ||
301 | if (unlikely(test_tsk_thread_flag(me, TIF_IO_BITMAP))) { | 301 | if (unlikely(test_tsk_thread_flag(me, TIF_IO_BITMAP))) { |
302 | p->thread.io_bitmap_ptr = kmalloc(IO_BITMAP_BYTES, GFP_KERNEL); | 302 | p->thread.io_bitmap_ptr = kmemdup(me->thread.io_bitmap_ptr, |
303 | IO_BITMAP_BYTES, GFP_KERNEL); | ||
303 | if (!p->thread.io_bitmap_ptr) { | 304 | if (!p->thread.io_bitmap_ptr) { |
304 | p->thread.io_bitmap_max = 0; | 305 | p->thread.io_bitmap_max = 0; |
305 | return -ENOMEM; | 306 | return -ENOMEM; |
306 | } | 307 | } |
307 | memcpy(p->thread.io_bitmap_ptr, me->thread.io_bitmap_ptr, | ||
308 | IO_BITMAP_BYTES); | ||
309 | set_tsk_thread_flag(p, TIF_IO_BITMAP); | 308 | set_tsk_thread_flag(p, TIF_IO_BITMAP); |
310 | } | 309 | } |
311 | 310 | ||