Subject: emulate_load_store_insn

From: Carsten Langgaard <[email-masked]>
Date: Fri, 8 Jun 2001 18:51:01 -0700 (PDT)

Can anyone please explain the whole deal with the emulate_load_store_insn 
function in arch/mips/kernel/unaligned.c.
Isn't there a potential hole there, where a user application makes an illegal 
memory access to an unaligned address and then the kernel tries to emulate that 
and crashes.
It also look like the MF_FIXADE flag is set by default, why is that ? Shouldn't 
one suppose to make a syscall setting this MF_FIXADE flag ?

/Carsten

---

From: Ralf Baechle <[email-masked]>
Date: Sat, 9 Jun 2001 04:45:20 +0200

> function in arch/mips/kernel/unaligned.c.

Some software does of unaligned accesses.  Typical userspace example is fdisk
and the network stack which generally tries hard to avoid unaligned loads
and stores may make unaligned stores at times though.

> memory access to an unaligned address and then the kernel tries to emulate
> that and crashes.

The addresses are verified the same way as any other userspace address
passed to the kernel.

> It also look like the MF_FIXADE flag is set by default, why is that ?

Two reasons 1) other MIPS OSes such as Risc/OS and IRIX also do it 2) crappy
software doesn't know how to enable this feature ...

> Shouldn't one suppose to make a syscall setting this MF_FIXADE flag ?

Sysmips(2) allows to toggle this flag.

  Ralf