diff --git a/kernel/ptrace.c b/kernel/ptrace.c index 17ee7e5a34516f7485250b7a7ef94546907f9b39..656476eedb1bfe9a4de0286d7dd35aad8023c8d1 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c @@ -241,7 +241,8 @@ int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, in if (write) { copy_to_user_page(vma, page, addr, maddr + offset, buf, bytes); - set_page_dirty_lock(page); + if (!PageCompound(page)) + set_page_dirty_lock(page); } else { copy_from_user_page(vma, page, addr, buf, maddr + offset, bytes);