diff options
author | Silesh C V <svellattu@mvista.com> | 2014-07-23 13:59:59 -0700 |
---|---|---|
committer | Jiri Slaby <jslaby@suse.cz> | 2014-07-30 18:02:40 +0200 |
commit | 1e6be3dd9849f2656a66fc3034cf0044f0f81d46 (patch) | |
tree | c4d57c00ce9dc30cdbc2127e1de765cf08e724e6 /fs/coredump.c | |
parent | b1e86fbd194436742e891f9b952edae638d1ccf7 (diff) | |
download | lwn-1e6be3dd9849f2656a66fc3034cf0044f0f81d46.tar.gz lwn-1e6be3dd9849f2656a66fc3034cf0044f0f81d46.zip |
coredump: fix the setting of PF_DUMPCORE
commit aed8adb7688d5744cb484226820163af31d2499a upstream.
Commit 079148b919d0 ("coredump: factor out the setting of PF_DUMPCORE")
cleaned up the setting of PF_DUMPCORE by removing it from all the
linux_binfmt->core_dump() and moving it to zap_threads().But this ended
up clearing all the previously set flags. This causes issues during
core generation when tsk->flags is checked again (eg. for PF_USED_MATH
to dump floating point registers). Fix this.
Signed-off-by: Silesh C V <svellattu@mvista.com>
Acked-by: Oleg Nesterov <oleg@redhat.com>
Cc: Mandeep Singh Baines <msb@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'fs/coredump.c')
-rw-r--r-- | fs/coredump.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/coredump.c b/fs/coredump.c index 02db009d1531..88adbdd15193 100644 --- a/fs/coredump.c +++ b/fs/coredump.c @@ -307,7 +307,7 @@ static int zap_threads(struct task_struct *tsk, struct mm_struct *mm, if (unlikely(nr < 0)) return nr; - tsk->flags = PF_DUMPCORE; + tsk->flags |= PF_DUMPCORE; if (atomic_read(&mm->mm_users) == nr + 1) goto done; /* |