Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1274221 > unrolled thread

another uninterruptable hang in sendfile

Started byDmitry Vyukov <dvyukov@google.com>
First post2015-11-20 17:20 +0100
Last post2015-11-23 13:00 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  another uninterruptable hang in sendfile Dmitry Vyukov <dvyukov@google.com> - 2015-11-20 17:20 +0100
    Re: another uninterruptable hang in sendfile Jan Kara <jack@suse.cz> - 2015-11-23 13:00 +0100

#1274221 — another uninterruptable hang in sendfile

FromDmitry Vyukov <dvyukov@google.com>
Date2015-11-20 17:20 +0100
Subjectanother uninterruptable hang in sendfile
Message-ID<qwWzL-16r-7@gated-at.bofh.it>
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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1275259

FromJan Kara <jack@suse.cz>
Date2015-11-23 13:00 +0100
Message-ID<qxXWO-1fN-9@gated-at.bofh.it>
In reply to#1274221
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@suse.com>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web