Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1685928
| From | James Morse <james.morse@arm.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 1/2] arm64: mm: abort uaccess retries upon fatal signal |
| Date | 2017-07-12 19:30 +0200 |
| Message-ID | <u2tCy-2IA-21@gated-at.bofh.it> (permalink) |
| References | <u24kN-3rk-13@gated-at.bofh.it> <u24kP-3rk-51@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Hi Mark, On 11/07/17 15:19, Mark Rutland wrote: > When there's a fatal signal pending, arm64's do_page_fault() > implementation returns 0. The intent is that we'll return to the > faulting userspace instruction, delivering the signal on the way. > > However, if we take a fatal signal during fixing up a uaccess, this > results in a return to the faulting kernel instruction, which will be > instantly retried, resulting in the same fault being taken forever. As > the task never reaches userspace, the signal is not delivered, and the > task is left unkillable. While the task is stuck in this state, it can > inhibit the forward progress of the system. > > To avoid this, we must ensure that when a fatal signal is pending, we > apply any necessary fixup for a faulting kernel instruction. Thus we > will return to an error path, and it is up to that code to make forward > progress towards delivering the fatal signal. VM_FAULT_RETRY's 'I released your locks' behaviour is pretty nasty, but this looks right. FWIW: Reviewed-by: James Morse <james.morse@arm.com> I also gave this a spin through LTP on Juno, based on v4.12-defconfig: Tested-by: James Morse <james.morse@arm.com> Thanks, James
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH 0/2] Fatal signal handing within uaccess faults Mark Rutland <mark.rutland@arm.com> - 2017-07-11 16:30 +0200
[PATCH 1/2] arm64: mm: abort uaccess retries upon fatal signal Mark Rutland <mark.rutland@arm.com> - 2017-07-11 16:30 +0200
Re: [PATCH 1/2] arm64: mm: abort uaccess retries upon fatal signal Will Deacon <will.deacon@arm.com> - 2017-07-11 17:00 +0200
Re: [PATCH 1/2] arm64: mm: abort uaccess retries upon fatal signal James Morse <james.morse@arm.com> - 2017-07-12 19:30 +0200
csiph-web