Re: another uninterruptable hang in sendfile

From: Jan Kara
Date: Mon Nov 23 2015 - 06:56:34 EST


On Fri 20-11-15 17:16:06, Dmitry Vyukov wrote:
> Hello,
>
> On commit 8005c49d9aea74d382f474ce11afbbc7d7130bec (Nov 15).
>
> The program is:
>
> // autogenerated by syzkaller (http://github.com/google/syzkaller)
> #define _GNU_SOURCE
> #include <unistd.h>
> #include <sys/syscall.h>
> #include <sys/eventfd.h>
> #include <sys/sendfile.h>
> #include <fcntl.h>
>
> #define SYS_memfd_create 319
>
> int main()
> {
> int r1 = eventfd(0, 0);
> int r2 = syscall(SYS_memfd_create, "", 0);
> unsigned long n = 1<<30;
> fallocate(r2, 0, 0, n);
> sendfile(r1, r2, 0, n);
> return 0;
> }
>
> It can be executed under non-privileged user and creates an unkillable
> process. It probably will terminate eventually, but it can take
> days/weeks. Note that "mm: make sendfile(2) killable"
> 296291cdd1629c308114504b850dc343eabc2782 is merged, so it is something
> different. Though, probably similar.

Thanks for the report. Yes, the nature of the problem is similar but here
we don't hit standard filesystem write path where a signal test is. I'll
send a fix which fixes the issue for me shortly.

BTW, this test actually doesn't hang for me but rather burns CPU all the
time and thus causes also softlockups / RCU stalls. I'll send a fix for
that as well.

Honza
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/