linux/arch/m68k
Greg Ungerer 8044aad70a m68knommu: fix memcpy() out of bounds warning in get_user()
Newer versions of gcc are giving warnings in the non-MMU m68k version
of the get_user() macro:

    ./arch/m68k/include/asm/string.h:72:25: warning: ‘__builtin_memcpy’ forming offset [3, 4] is out of the bounds [0, 2] of object ‘__gu_val’ with type ‘short unsigned int’ [-Warray-bounds]

The warnings are generated when smaller sized variables are used as the
result of user space pointers to larger values. For example a
short/2-byte variable stores the result of a user space int (4-byte)
pointer. The warning is in the 8-byte branch of get_user() - even
though that branch is not the taken branch in the warning cases.

Refactor the 8-byte branch of get_user() so that it uses a correctly
formed union type to read and write the source and destination objects.
Keep using the memcpy() just in case the user space pointer is not
naturaly aligned (not required for ColdFire, but needed for early
68000).

Signed-off-by: Greg Ungerer <gerg@linux-m68k.org>
2020-02-03 14:43:35 +10:00
..
68000 m68k: Fix off-by-one calendar month 2018-05-22 10:31:50 +02:00
amiga treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
apollo treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
atari m68k/atari: Convert Falcon IDE drivers to platform drivers 2019-11-18 10:18:59 +01:00
bvme6000 treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
coldfire m68k/coldfire: Use CONFIG_PREEMPTION 2019-11-11 10:54:40 +10:00
configs m68k: configs: Cleanup old Kconfig IO scheduler options 2020-01-31 16:37:06 +10:00
emu treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
fpsp040 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
hp300 treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
ifpsp060 scripts/spelling.txt: add regsiter -> register spelling mistake 2017-05-08 17:15:13 -07:00
include m68knommu: fix memcpy() out of bounds warning in get_user() 2020-02-03 14:43:35 +10:00
kernel m68k: mm: use pgtable-nopXd instead of 4level-fixup 2019-12-04 19:44:15 -08:00
lib treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mac m68k: mac: Revisit floppy disc controller base addresses 2019-08-19 13:24:10 +02:00
math-emu treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 74 2019-05-24 17:36:47 +02:00
mm m68k: mm: use pgtable-nopXd instead of 4level-fixup 2019-12-04 19:44:15 -08:00
mvme16x treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
mvme147 treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
q40 m68k: q40: Fix info-leak in rtc_ioctl 2019-10-21 09:08:15 +02:00
sun3 treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
sun3x m68k: mm: use pgtable-nopXd instead of 4level-fixup 2019-12-04 19:44:15 -08:00
tools/amiga License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
install.sh
Kconfig Kbuild updates for v5.4 2019-09-20 08:36:47 -07:00
Kconfig.bus pcmcia: allow PCMCIA support independent of the architecture 2018-11-23 11:46:00 +09:00
Kconfig.cpu PCI: consolidate PCI config entry in drivers/pci 2018-11-23 11:45:34 +09:00
Kconfig.debug Kconfig: consolidate the "Kernel hacking" menu 2018-08-02 08:06:48 +09:00
Kconfig.devices License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig.machine m68k: Dispatch nvram_ops calls to Atari or Mac functions 2019-01-22 10:21:45 +01:00
Makefile kbuild: rebuild modules when module linker scripts are updated 2019-08-21 21:05:21 +09:00