[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <alpine.LSU.2.11.1907041408040.1762@eggly.anvils>
Date: Thu, 4 Jul 2019 14:15:33 -0700 (PDT)
From: Hugh Dickins <hughd@...gle.com>
To: Andrew Morton <akpm@...ux-foundation.org>
cc: Oleg Nesterov <oleg@...hat.com>, Qian Cai <cai@....pw>,
axboe@...nel.dk, hch@....de, peterz@...radead.org,
gkohli@...eaurora.org, mingo@...hat.com, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, Hugh Dickins <hughd@...gle.com>
Subject: Re: [PATCH] swap_readpage: avoid blk_wake_io_task() if
!synchronous
On Thu, 4 Jul 2019, Andrew Morton wrote:
> On Thu, 4 Jul 2019 18:03:01 +0200 Oleg Nesterov <oleg@...hat.com> wrote:
>
> > swap_readpage() sets waiter = bio->bi_private even if synchronous = F,
> > this means that the caller can get the spurious wakeup after return. This
> > can be fatal if blk_wake_io_task() does set_current_state(TASK_RUNNING)
> > after the caller does set_special_state(), in the worst case the kernel
> > can crash in do_task_dead().
>
> I think we need a Fixes: and a cc:stable here?
>
> IIRC, we're fixing 0619317ff8baa2 ("block: add polled wakeup task helper").
Yes, you are right.
But catch me by surprise: I had been thinking this was a 5.2 regression.
I guess something in 5.2 (doesn't matter what) has made it significantly
easier to hit: but now I look at old records, see that I hit it once on
5.0-rc1, then never again until 5.2.
Thanks, and to Oleg,
Hugh
Powered by blists - more mailing lists