linux/arch/m68k
Daniel Palmer 80a27fb114 m68k: nommu: fix memmove() with differently aligned src and dest for 68000
[ Upstream commit 590fe2f46c ]

68000 has different alignment needs to 68020+.
memcpy() checks if the destination is aligned and does a smaller copy
to fix the alignment and then critically for 68000 it checks if the
source is still unaligned and if it is reverts to smaller copies.

memmove() does not currently do the second part and malfunctions if
one of the pointers is aligned and the other isn't.

This is apparently getting triggered by printk. If I put breakpoints
into the new checks added by this commit the first hit looks like this:

memmove (n=205, src=0x2f3971 <printk_shared_pbufs+205>, dest=0x2f3980 <printk_shared_pbufs+220>) at arch/m68k/lib/memmove.c:82

Signed-off-by: Daniel Palmer <daniel@thingy.jp>
Signed-off-by: Greg Ungerer <gerg@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2026-03-04 07:20:31 -05:00
..
68000 m68knommu: updates and fixes for v6.7 2023-11-02 15:31:01 -10:00
amiga m68k: remove unneeded tty includes 2025-06-17 13:42:33 +02:00
apollo m68k: remove unneeded tty includes 2025-06-17 13:42:33 +02:00
atari m68k: remove unneeded tty includes 2025-06-17 13:42:33 +02:00
bvme6000 m68k: Replace GPL 2.0+ README.legal boilerplate with SPDX 2023-10-06 10:03:04 +02:00
coldfire net: phy: fixed: let fixed_phy_add always use addr 0 and remove return value 2025-08-26 17:19:02 -07:00
configs Ext4 bug fixes for 6.18-rc2, including 2025-10-15 07:51:57 -07:00
emu block: switch ->getgeo() to struct gendisk 2025-08-13 02:59:29 -04:00
fpsp040 m68k: fpsp040: Fix indentation by 5 spaces 2023-10-16 14:30:40 +02:00
hp300 serial: 8250: Move hp300_setup_serial_console() to <linux/serial_8250.h> 2024-01-27 19:01:39 -08:00
ifpsp060 m68k: Replace GPL 2.0+ README.legal boilerplate with SPDX 2023-10-06 10:03:04 +02:00
include assorted dead code removal around asm/pgtable.h 2025-10-03 11:37:50 -07:00
kernel pci-v6.18-changes 2025-10-06 10:41:03 -07:00
lib m68k: nommu: fix memmove() with differently aligned src and dest for 68000 2026-03-04 07:20:31 -05:00
mac m68k updates for v6.17 2025-07-29 20:19:47 -07:00
math-emu m68k: Replace __ASSEMBLY__ with __ASSEMBLER__ in non-uapi headers 2025-07-06 12:50:50 +02:00
mm m68k: mm: Convert pointer table macros to use ptdescs 2025-06-30 21:20:17 +02:00
mvme16x m68k: mvme147, mvme16x: Adopt rtc-m48t59 platform driver 2024-11-22 20:59:40 +01:00
mvme147 RTC for 6.13 2024-11-30 11:18:16 -08:00
q40 m68k: remove unneeded tty includes 2025-06-17 13:42:33 +02:00
sun3 m68k: sun3: Fix DEBUG_MMU_EMU build 2025-02-03 14:32:51 +01:00
sun3x m68k: sun3/3x: Add and use "sun3.h" 2023-10-06 10:03:04 +02:00
tools/amiga m68k: tools: Replace zero-length array with flexible-array member 2020-05-25 10:55:56 +02:00
virt m68k: Rework BI_VIRT_RNG_SEED as BI_RNG_SEED 2022-09-28 22:16:44 +02:00
install.sh kbuild: Abort make on install failures 2024-07-20 13:34:54 +09:00
Kbuild m68k: Introduce a virtual m68k machine 2022-04-11 11:48:01 +02:00
Kconfig m68k: Enable dead code elimination 2025-07-06 12:50:50 +02:00
Kconfig.bus m68k: coldfire: drop ISA_DMA_API support 2022-05-16 13:18:30 +10:00
Kconfig.cpu m68k: Select M68020 as fallback for classic 2024-11-06 15:10:14 +01:00
Kconfig.debug m68k: Don't unregister boot console needlessly 2025-07-06 12:50:50 +02:00
Kconfig.devices m68k: /proc/hardware should depend on PROC_FS 2023-02-13 11:34:49 +01:00
Kconfig.machine m68k: Move Sun 3 into a top-level platform option 2024-11-06 15:10:14 +01:00
Makefile kbuild: use 4-space indentation when followed by conditionals 2024-02-15 06:05:44 +09:00