Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1335910
| From | Catalin Marinas <catalin.marinas@arm.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v2] arm64: add alignment fault hanling |
| Date | 2016-02-17 00:10 +0100 |
| Message-ID | <r2WUO-6a6-5@gated-at.bofh.it> (permalink) |
| References | (3 earlier) <r2MVs-7Lj-3@gated-at.bofh.it> <r2Qmn-1Is-29@gated-at.bofh.it> <r2Rip-2mN-1@gated-at.bofh.it> <r2T0S-3ha-3@gated-at.bofh.it> <r2VvI-530-37@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Tue, Feb 16, 2016 at 01:31:36PM -0800, Arjan van de Ven wrote: > On 2/16/2016 10:50 AM, Linus Torvalds wrote: > >On Tue, Feb 16, 2016 at 9:04 AM, Will Deacon <will.deacon@arm.com> wrote: > >>[replying to self and adding some x86 people] > >> > >>Background: Euntaik reports a problem where userspace has ended up with > >>a memory page mapped adjacent to an MMIO page (e.g. from /dev/mem or a > >>PCI memory bar from someplace in /sys). strncpy_from_user happens with > >>the word-at-a-time implementation, and we end up reading into the MMIO > >>page. > > how does this work if the adjacent page is not accessible? do_strncpy_from_user() assumes by default that it can read a word at a time using get_user() but checks its return value in case it failed and falls back to byte at a time. What happens on arm64 is that for alignment faults we don't have a handler that would search the exception table and run the get_user() fixup. > isn't the general rule for such basic functions "don't touch memory > unless you KNOW it is there" Well, user access routines are in general safe with this via the exception handling + fixup mechanism (which usually returns -EFAULT). That's what do_strncpy_from_user() tries to do by optimising away the boundary checks. -- Catalin
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v2] arm64: add alignment fault hanling EunTaik Lee <eun.taik.lee@samsung.com> - 2016-02-16 05:50 +0100
Re: [PATCH v2] arm64: add alignment fault hanling Will Deacon <will.deacon@arm.com> - 2016-02-16 11:40 +0100
Re: [PATCH v2] arm64: add alignment fault hanling Robin Murphy <robin.murphy@arm.com> - 2016-02-16 12:00 +0100
Re: [PATCH v2] arm64: add alignment fault hanling Catalin Marinas <catalin.marinas@arm.com> - 2016-02-16 13:30 +0100
Re: [PATCH v2] arm64: add alignment fault hanling Will Deacon <will.deacon@arm.com> - 2016-02-16 17:10 +0100
Re: [PATCH v2] arm64: add alignment fault hanling Will Deacon <will.deacon@arm.com> - 2016-02-16 18:10 +0100
Re: [PATCH v2] arm64: add alignment fault hanling Linus Torvalds <torvalds@linux-foundation.org> - 2016-02-16 20:00 +0100
Re: [PATCH v2] arm64: add alignment fault hanling Arjan van de Ven <arjan@linux.intel.com> - 2016-02-16 22:40 +0100
Re: [PATCH v2] arm64: add alignment fault hanling Catalin Marinas <catalin.marinas@arm.com> - 2016-02-17 00:10 +0100
Re: [PATCH v2] arm64: add alignment fault hanling Linus Torvalds <torvalds@linux-foundation.org> - 2016-02-17 01:30 +0100
Re: [PATCH v2] arm64: add alignment fault hanling Catalin Marinas <catalin.marinas@arm.com> - 2016-02-19 19:20 +0100
Re: [PATCH v2] arm64: add alignment fault hanling Linus Torvalds <torvalds@linux-foundation.org> - 2016-02-19 23:10 +0100
Re: [PATCH v2] arm64: add alignment fault hanling Catalin Marinas <catalin.marinas@arm.com> - 2016-02-16 18:20 +0100
Re: [PATCH v2] arm64: add alignment fault hanling Catalin Marinas <catalin.marinas@arm.com> - 2016-02-16 18:20 +0100
csiph-web