/* In particular, the fast memcpy routine is like this. It's fix-up is just to fall back to a slow byte-at-a-time copy, which is handled the conventional way. So it's functionally OK to just handle any trap occurring in the fast memcpy with that fixup.  */
static const struct exception_table_entry* check_exception_ranges(unsigned long addr)
/* In particular, the fast memcpy routine is like this. It's fix-up is just to fall back to a slow byte-at-a-time copy, which is handled the conventional way. So it's functionally OK to just handle any trap occurring in the fast memcpy with that fixup.  */
static const struct exception_table_entry* check_exception_ranges(unsigned long addr)
{
	if ((addr >= (unsigned long)&copy_user_memcpy) &&
	    (addr <= (unsigned long)&copy_user_memcpy_end))
		return &__copy_user_fixup_ex;
	return NULL;
}