another uninterruptable hang in sendfile

From: Dmitry Vyukov
Date: Fri Nov 20 2015 - 11:16:31 EST


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.

Thank you.
--
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/