Re: request for 4.14-stable: 1dc3039bc87a ("block: do not use interruptible wait anywhere")

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 20/07/18 11:26, Sudip Mukherjee wrote:
Hi Alan,
My thought was that since you said "or" in your commit message:
"When blk_queue_enter() waits for a queue to unfreeze, or unset the
PREEMPT_ONLY flag, do not allow it to be interrupted by a signal", so
the fault condition can be when it is waiting on the queue and is
interrupted. So even though 'PREEMPT_ONLY' is not there in v4.14.y, we
can see the problem just because of getting interrupted while on queue.

Plesase correct me if I was wrong.

You're absolutely right.

I suppose the original commit message might not be quite as clear when added in 4.14.x, so I had biased against that a bit.

pre-v4.15 doesn't fail the suspend test in the commit message, but a test was added to blktests afterwards, which should exactly cover the "or" part.

https://github.com/osandov/blktests/blob/master/tests/block/016

IIUC, the bugfix could be applied to *three* of the "longterm" kernel lines:
4.14.56, 4.9.113, 4.4.142.  Since the commit says this bug was introduced to
the single-queue block layer in v4.4, commit 3ef28e8 ("block: generic
request_queue reference counting").
I will send the backport for v4.9.y and v4.4.y also.




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux