/* We could optimize the case where the cache argument is not BCACHE but that seems very atypical use ...  */
SYSCALL_DEFINE3(cacheflush, unsigned long, addr, unsigned long, bytes, unsigned int, cache)
/* We could optimize the case where the cache argument is not BCACHE but that seems very atypical use ...  */
SYSCALL_DEFINE3(cacheflush, unsigned long, addr, unsigned long, bytes, unsigned int, cache)
{
	if (bytes == 0)
		return 0;
	if (!access_ok(VERIFY_WRITE, (void __user *) addr, bytes))
		return -EFAULT;
	flush_icache_range(addr, addr + bytes);
	return 0;
}