We have to adjust 'reg_window' down by 16 becuase the 'pos' iterator
we'll use to index into the stack slots will be between 16 and 32.
Signed-off-by: David S. Miller <davem@davemloft.net>
*k++ = regs->u_regs[pos++];
reg_window = (unsigned long __user *) regs->u_regs[UREG_I6];
*k++ = regs->u_regs[pos++];
reg_window = (unsigned long __user *) regs->u_regs[UREG_I6];
for (; count > 0 && pos < 32; count--) {
if (get_user(*k++, ®_window[pos++]))
return -EFAULT;
for (; count > 0 && pos < 32; count--) {
if (get_user(*k++, ®_window[pos++]))
return -EFAULT;
}
reg_window = (unsigned long __user *) regs->u_regs[UREG_I6];
}
reg_window = (unsigned long __user *) regs->u_regs[UREG_I6];
for (; count > 0 && pos < 32; count--) {
if (get_user(reg, ®_window[pos++]) ||
put_user(reg, u++))
for (; count > 0 && pos < 32; count--) {
if (get_user(reg, ®_window[pos++]) ||
put_user(reg, u++))
regs->u_regs[pos++] = *k++;
reg_window = (unsigned long __user *) regs->u_regs[UREG_I6];
regs->u_regs[pos++] = *k++;
reg_window = (unsigned long __user *) regs->u_regs[UREG_I6];
for (; count > 0 && pos < 32; count--) {
if (put_user(*k++, ®_window[pos++]))
return -EFAULT;
for (; count > 0 && pos < 32; count--) {
if (put_user(*k++, ®_window[pos++]))
return -EFAULT;
}
reg_window = (unsigned long __user *) regs->u_regs[UREG_I6];
}
reg_window = (unsigned long __user *) regs->u_regs[UREG_I6];
for (; count > 0 && pos < 32; count--) {
if (get_user(reg, u++) ||
put_user(reg, ®_window[pos++]))
for (; count > 0 && pos < 32; count--) {
if (get_user(reg, u++) ||
put_user(reg, ®_window[pos++]))
*k++ = regs->u_regs[pos++];
reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
*k++ = regs->u_regs[pos++];
reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
if (target == current) {
for (; count > 0 && pos < 32; count--) {
if (get_user(*k++, ®_window[pos++]))
if (target == current) {
for (; count > 0 && pos < 32; count--) {
if (get_user(*k++, ®_window[pos++]))
}
reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
}
reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
if (target == current) {
for (; count > 0 && pos < 32; count--) {
if (get_user(reg, ®_window[pos++]) ||
if (target == current) {
for (; count > 0 && pos < 32; count--) {
if (get_user(reg, ®_window[pos++]) ||
regs->u_regs[pos++] = *k++;
reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
regs->u_regs[pos++] = *k++;
reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
if (target == current) {
for (; count > 0 && pos < 32; count--) {
if (put_user(*k++, ®_window[pos++]))
if (target == current) {
for (; count > 0 && pos < 32; count--) {
if (put_user(*k++, ®_window[pos++]))
}
reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
}
reg_window = (compat_ulong_t __user *) regs->u_regs[UREG_I6];
if (target == current) {
for (; count > 0 && pos < 32; count--) {
if (get_user(reg, u++) ||
if (target == current) {
for (; count > 0 && pos < 32; count--) {
if (get_user(reg, u++) ||