X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=fs%2Fcoredump.c;h=38a7ab87e10a80d9d62d80b74dd58c1f2989a966;hb=ecb0693d3e26470a49fbeb1b1f7fe197bb234725;hp=492c2db25dc9bd654a3fb6931dc3bdc1162ac42d;hpb=76b584d3125a1f7d8b64e9c522a4555bc2844bde;p=cascardo%2Flinux.git diff --git a/fs/coredump.c b/fs/coredump.c index 492c2db25dc9..38a7ab87e10a 100644 --- a/fs/coredump.c +++ b/fs/coredump.c @@ -413,7 +413,9 @@ static int coredump_wait(int exit_code, struct core_state *core_state) core_state->dumper.task = tsk; core_state->dumper.next = NULL; - down_write(&mm->mmap_sem); + if (down_write_killable(&mm->mmap_sem)) + return -EINTR; + if (!mm->core_state) core_waiters = zap_threads(tsk, mm, core_state, exit_code); up_write(&mm->mmap_sem);