|
@@ -293,13 +293,12 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,
|
|
|
memset(p->thread.ptrace_bps, 0, sizeof(p->thread.ptrace_bps));
|
|
|
|
|
|
if (unlikely(test_tsk_thread_flag(me, TIF_IO_BITMAP))) {
|
|
|
- p->thread.io_bitmap_ptr = kmalloc(IO_BITMAP_BYTES, GFP_KERNEL);
|
|
|
+ p->thread.io_bitmap_ptr = kmemdup(me->thread.io_bitmap_ptr,
|
|
|
+ IO_BITMAP_BYTES, GFP_KERNEL);
|
|
|
if (!p->thread.io_bitmap_ptr) {
|
|
|
p->thread.io_bitmap_max = 0;
|
|
|
return -ENOMEM;
|
|
|
}
|
|
|
- memcpy(p->thread.io_bitmap_ptr, me->thread.io_bitmap_ptr,
|
|
|
- IO_BITMAP_BYTES);
|
|
|
set_tsk_thread_flag(p, TIF_IO_BITMAP);
|
|
|
}
|
|
|
|