_mali_osk_errcode_t _mali_ukk_mem_write_safe(_mali_uk_mem_write_safe_s *args) { MALI_DEBUG_ASSERT_POINTER(args); if (NULL == args->ctx) { return _MALI_OSK_ERR_INVALID_ARGS; } /* Return number of bytes actually copied */ args->size = _mali_osk_mem_write_safe(args->dest, args->src, args->size); return _MALI_OSK_ERR_OK; }
_mali_osk_errcode_t _mali_ukk_mem_write_safe(_mali_uk_mem_write_safe_s *args) { void __user *src; void __user *dst; struct mali_session_data *session; MALI_DEBUG_ASSERT_POINTER(args); session = (struct mali_session_data *)(uintptr_t)args->ctx; if (NULL == session) { return _MALI_OSK_ERR_INVALID_ARGS; } src = (void __user *)(uintptr_t)args->src; dst = (void __user *)(uintptr_t)args->dest; /* Return number of bytes actually copied */ args->size = _mali_osk_mem_write_safe(dst, src, args->size); return _MALI_OSK_ERR_OK; }