[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAOQ4uxg_Tf3O787hGmMka9D1x3ZahnU3q2OB-M3Gk1hnPso0=g@mail.gmail.com>
Date: Fri, 5 Jul 2019 18:47:45 +0300
From: Amir Goldstein <amir73il@...il.com>
To: paulmck@...ux.ibm.com
Cc: Dmitry Vyukov <dvyukov@...gle.com>,
"Theodore Ts'o" <tytso@....edu>,
syzbot <syzbot+4bfbbf28a2e50ab07368@...kaller.appspotmail.com>,
Andreas Dilger <adilger.kernel@...ger.ca>,
David Miller <davem@...emloft.net>, eladr@...lanox.com,
Ido Schimmel <idosch@...lanox.com>,
Jiri Pirko <jiri@...lanox.com>,
John Stultz <john.stultz@...aro.org>,
Ext4 <linux-ext4@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
netdev <netdev@...r.kernel.org>,
syzkaller-bugs <syzkaller-bugs@...glegroups.com>,
Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...nel.org>
Subject: Re: INFO: rcu detected stall in ext4_write_checks
> Does the (untested, probably does not even build) patch shown below help?
> This patch assumes that the kernel was built with CONFIG_PREEMPT=n.
> And that I found all the tight loops on the do_sendfile() code path.
>
I *think* you have.
FWIW, it would have been nicer for sendfile(2) and copy_file_range(2)
if the do_splice_direct() loop was also killable/interruptible.
Users may want to back off from asking the kernel to copy/send a huge file.
Thanks,
Amir.
> > If this is semi-intended, the only option I see is to disable
> > something in syzkaller: sched_setattr entirely, or drop CAP_SYS_NICE,
> > or ...? Any preference either way?
>
> Long-running tight loops in the kernel really should contain
> cond_resched() or better.
>
> Thanx, Paul
>
> ------------------------------------------------------------------------
>
> diff --git a/fs/splice.c b/fs/splice.c
> index 25212dcca2df..50aa3286764a 100644
> --- a/fs/splice.c
> +++ b/fs/splice.c
> @@ -985,6 +985,7 @@ ssize_t splice_direct_to_actor(struct file *in, struct splice_desc *sd,
> sd->pos = prev_pos + ret;
> goto out_release;
> }
> + cond_resched();
> }
>
> done:
>
Powered by blists - more mailing lists