• Paul Burton's avatar
    MIPS: math-emu: Correct user fault_addr type · 445a58ce
    Paul Burton authored
    The fault_addr argument to fpu_emulator_cop1Handler(), fpux_emu() and
    cop1Emulate() has up until now been declared as:
    
      void *__user *fault_addr
    
    This is essentially a pointer in user memory which points to a pointer
    to void. This is not the intent for our code, which is actually
    operating on a pointer to a pointer to void where the pointer to void is
    pointing at user memory. ie. the pointer is in kernel memory & points to
    user memory.
    
    This mismatch produces a lot of sparse warnings that look like this:
    
    arch/mips/math-emu/cp1emu.c:1485:45:
       warning: incorrect type in assignment (different address spaces)
          expected void *[noderef] <asn:1><noident>
          got unsigned int [noderef] [usertype] <asn:1>*[assigned] va
    
    Fix these by modifying the declaration of the fault_addr argument to:
    
      void __user **fault_addr
    Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Cc: trivial@kernel.org
    Patchwork: https://patchwork.linux-mips.org/patch/17173/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    445a58ce
cp1emu.c 63.5 KB