android_kernel_samsung_msm8976/arch/m68k
Geert Uytterhoeven 31e29b7bfc m68k/uaccess: Fix asm constraints for userspace access
commit 631d8b674f5f8235e9cb7e628b0fe9e5200e3158 upstream.

When compiling a MMU kernel with CPU_HAS_ADDRESS_SPACES=n (e.g. "MMU=y
allnoconfig": "echo CONFIG_MMU=y > allno.config && make KCONFIG_ALLCONFIG=1
allnoconfig"), we use plain "move" instead of "moves", and I got:

  CC      arch/m68k/lib/uaccess.o
{standard input}: Assembler messages:
{standard input}:47: Error: operands mismatch -- statement `move.b %a0,(%a1)' ignored

This happens because plain "move" doesn't support byte transfers between
memory and address registers, while "moves" does.

Fix the asm constraints for __generic_copy_from_user(),
__generic_copy_to_user(), and __clear_user() to only use data registers
when accessing userspace.

Also, relax the asm constraints for 16-bit userspace accesses in
__put_user() and __get_user(), as both "move" and "moves" do support
such transfers between memory and address registers.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-10-27 09:44:49 +09:00
..
amiga m68k: set arch_gettimeoffset directly 2012-12-24 09:36:34 -07:00
apollo m68k: set arch_gettimeoffset directly 2012-12-24 09:36:34 -07:00
atari m68k/atari: USB - add platform devices for EtherNAT/NetUSBee ISP1160 HCD 2013-04-16 21:35:41 +02:00
bvme6000 m68k: set arch_gettimeoffset directly 2012-12-24 09:36:34 -07:00
configs m68k: Update defconfigs for v3.9 2013-05-28 10:22:06 +02:00
emu m68k/atari: ARAnyM - Fix NatFeat module support 2013-08-20 08:43:05 -07:00
fpsp040
hp300 m68k: set arch_gettimeoffset directly 2012-12-24 09:36:34 -07:00
ifpsp060
include m68k/uaccess: Fix asm constraints for userspace access 2015-10-27 09:44:49 +09:00
kernel m68k/mac: Fix unexpected interrupt with CONFIG_EARLY_PRINTK 2013-05-31 10:43:18 +02:00
lib m68k/uaccess: Fix asm constraints for userspace access 2015-10-27 09:44:49 +09:00
mac m68k: set arch_gettimeoffset directly 2012-12-24 09:36:34 -07:00
math-emu
mm vm: add VM_FAULT_SIGSEGV handling support 2015-04-29 10:34:00 +02:00
mvme16x m68k: set arch_gettimeoffset directly 2012-12-24 09:36:34 -07:00
mvme147 m68k: set arch_gettimeoffset directly 2012-12-24 09:36:34 -07:00
platform m68knommu: enable Timer on coldfire 532x 2013-04-29 09:17:59 +10:00
q40 m68k: set arch_gettimeoffset directly 2012-12-24 09:36:34 -07:00
sun3 m68k: set arch_gettimeoffset directly 2012-12-24 09:36:34 -07:00
sun3x m68k: set arch_gettimeoffset directly 2012-12-24 09:36:34 -07:00
tools/amiga
Kconfig m68k: Skip futex_atomic_cmpxchg_inatomic() test 2014-04-14 06:42:19 -07:00
Kconfig.bus m68k/atari: ROM port ISA adapter support 2013-04-16 21:08:11 +02:00
Kconfig.cpu Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu 2013-05-10 07:22:35 -07:00
Kconfig.debug
Kconfig.devices m68k/atari: EtherNEC - add platform device support 2013-04-16 21:20:14 +02:00
Kconfig.machine m68knommu: add support for configuring a Freescale M5373EVB board 2013-04-29 09:17:59 +10:00
Makefile m68knommu: add support for the ColdFire 537x family of CPUs 2013-04-29 09:17:58 +10:00
install.sh