Cacheflush(0, 0, 0) was crashing the system.  This is because
flush_icache_range(start, end) tries to flushing whole address space
(0 - ~0UL) if both start and end are zero.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
 asmlinkage int sys_cacheflush(unsigned long __user addr,
        unsigned long bytes, unsigned int cache)
 {
+       if (bytes == 0)
+               return 0;
        if (!access_ok(VERIFY_WRITE, (void __user *) addr, bytes))
                return -EFAULT;