]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
ARM: 8165/1: alignment: don't break misaligned NEON load/store
authorRobin Murphy <robin.murphy@arm.com>
Thu, 25 Sep 2014 10:56:19 +0000 (11:56 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 5 Oct 2014 20:41:02 +0000 (13:41 -0700)
commite5b83a046d6faaa75788b4e494e70c4d33e107a0
treed4bcb0c57486e83d4a260c9650ff212e4215f1e0
parent32e8dec8c2d2eec2098e4bc96969077c2a27323d
ARM: 8165/1: alignment: don't break misaligned NEON load/store

commit 5ca918e5e3f9df4634077c06585c42bc6a8d699a upstream.

The alignment fixup incorrectly decodes faulting ARM VLDn/VSTn
instructions (where the optional alignment hint is given but incorrect)
as LDR/STR, leading to register corruption. Detect these and correctly
treat them as unhandled, so that userspace gets the fault it expects.

Reported-by: Simon Hosie <simon.hosie@arm.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/mm/alignment.c