--- a/src/drv_vmmc_ioctl.c
+++ b/src/drv_vmmc_ioctl.c
@@ -108,9 +108,11 @@ extern IFX_int32_t VMMC_ChipAccessInit (
               {\
               arg* p_arg = VMMC_OS_Malloc (sizeof(arg));\
               VMMC_ASSERT (p_arg != IFX_NULL);\
-              copy_from_user (p_arg, (IFX_uint8_t*)ioarg, sizeof(arg));\
+              if (copy_from_user (p_arg, (IFX_uint8_t*)ioarg, sizeof(arg)))\
+                ret = -EFAULT;\
               ret = func((pContext), p_arg);\
-              copy_to_user ((IFX_uint8_t*)ioarg, p_arg, sizeof(arg));\
+              if (copy_to_user ((IFX_uint8_t*)ioarg, p_arg, sizeof(arg)))\
+                ret = -EFAULT;\
               VMMC_OS_Free (p_arg);\
               }\
               break
