linux/arch/m68k
Geert Uytterhoeven 571b78a1d8 m68k/atari: ARAnyM - Fix NatFeat module support
commit e8184e10f8 upstream.

As pointed out by Andreas Schwab, pointers passed to ARAnyM NatFeat calls
should be physical addresses, not virtual addresses.

Fortunately on Atari, physical and virtual kernel addresses are the same,
as long as normal kernel memory is concerned, so this usually worked fine
without conversion.

But for modules, pointers to literal strings are located in vmalloc()ed
memory. Depending on the version of ARAnyM, this causes the nf_get_id()
call to just fail, or worse, crash ARAnyM itself with e.g.

    Gotcha! Illegal memory access. Atari PC = $968c

This is a big issue for distro kernels, who want to have all drivers as
loadable modules in an initrd.

Add a wrapper for nf_get_id() that copies the literal to the stack to
work around this issue.

Reported-by: Thorsten Glaser <tg@debian.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-08-20 08:43:05 -07: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 Fix common misspellings 2011-03-31 11:26:23 -03:00
hp300 m68k: set arch_gettimeoffset directly 2012-12-24 09:36:34 -07:00
ifpsp060 Fix common misspellings 2011-03-31 11:26:23 -03:00
include m68k: Truncate base in do_div() 2013-08-20 08:43:05 -07:00
kernel m68k/mac: Fix unexpected interrupt with CONFIG_EARLY_PRINTK 2013-05-31 10:43:18 +02:00
lib m68k: Remove inline strlen() implementation 2013-04-16 21:35:43 +02:00
mac m68k: set arch_gettimeoffset directly 2012-12-24 09:36:34 -07:00
math-emu Fix misspellings of "whether" in comments. 2012-11-19 14:31:35 +01:00
mm mm/m68k: use common help functions to free reserved pages 2013-04-29 15:54:30 -07: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
install.sh
Kconfig idle: Remove GENERIC_IDLE_LOOP config switch 2013-04-17 10:39:38 +02: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 arch/m68k: remove CONFIG_EXPERIMENTAL 2012-11-14 08:50:54 +01:00
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