|
@@ -663,8 +663,10 @@ static int compat_gpr_get(struct task_struct *target,
|
|
|
kbuf += sizeof(reg);
|
|
kbuf += sizeof(reg);
|
|
|
} else {
|
|
} else {
|
|
|
ret = copy_to_user(ubuf, ®, sizeof(reg));
|
|
ret = copy_to_user(ubuf, ®, sizeof(reg));
|
|
|
- if (ret)
|
|
|
|
|
|
|
+ if (ret) {
|
|
|
|
|
+ ret = -EFAULT;
|
|
|
break;
|
|
break;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
ubuf += sizeof(reg);
|
|
ubuf += sizeof(reg);
|
|
|
}
|
|
}
|
|
@@ -702,8 +704,10 @@ static int compat_gpr_set(struct task_struct *target,
|
|
|
kbuf += sizeof(reg);
|
|
kbuf += sizeof(reg);
|
|
|
} else {
|
|
} else {
|
|
|
ret = copy_from_user(®, ubuf, sizeof(reg));
|
|
ret = copy_from_user(®, ubuf, sizeof(reg));
|
|
|
- if (ret)
|
|
|
|
|
- return ret;
|
|
|
|
|
|
|
+ if (ret) {
|
|
|
|
|
+ ret = -EFAULT;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
ubuf += sizeof(reg);
|
|
ubuf += sizeof(reg);
|
|
|
}
|
|
}
|