|
@@ -65,6 +65,7 @@ static int genregs32_get(struct task_struct *target,
|
|
|
*k++ = regs->u_regs[pos++];
|
|
|
|
|
|
reg_window = (unsigned long __user *) regs->u_regs[UREG_I6];
|
|
|
+ reg_window -= 16;
|
|
|
for (; count > 0 && pos < 32; count--) {
|
|
|
if (get_user(*k++, ®_window[pos++]))
|
|
|
return -EFAULT;
|
|
@@ -76,6 +77,7 @@ static int genregs32_get(struct task_struct *target,
|
|
|
}
|
|
|
|
|
|
reg_window = (unsigned long __user *) regs->u_regs[UREG_I6];
|
|
|
+ reg_window -= 16;
|
|
|
for (; count > 0 && pos < 32; count--) {
|
|
|
if (get_user(reg, ®_window[pos++]) ||
|
|
|
put_user(reg, u++))
|
|
@@ -141,6 +143,7 @@ static int genregs32_set(struct task_struct *target,
|
|
|
regs->u_regs[pos++] = *k++;
|
|
|
|
|
|
reg_window = (unsigned long __user *) regs->u_regs[UREG_I6];
|
|
|
+ reg_window -= 16;
|
|
|
for (; count > 0 && pos < 32; count--) {
|
|
|
if (put_user(*k++, ®_window[pos++]))
|
|
|
return -EFAULT;
|
|
@@ -153,6 +156,7 @@ static int genregs32_set(struct task_struct *target,
|
|
|
}
|
|
|
|
|
|
reg_window = (unsigned long __user *) regs->u_regs[UREG_I6];
|
|
|
+ reg_window -= 16;
|
|
|
for (; count > 0 && pos < 32; count--) {
|
|
|
if (get_user(reg, u++) ||
|
|
|
put_user(reg, ®_window[pos++]))
|