]> git.baikalelectronics.ru Git - kernel.git/commit
csky: Fixup regs.sr broken in ptrace
authorGuo Ren <guoren@linux.alibaba.com>
Fri, 24 Sep 2021 07:33:38 +0000 (15:33 +0800)
committerGuo Ren <guoren@linux.alibaba.com>
Fri, 15 Oct 2021 23:20:12 +0000 (07:20 +0800)
commitb80cead67045dcba822244e5f7a0b948e9d98fe7
tree42259e29611ea2266daeedb158aae45af783ba85
parent4ea2d734c0447eef770ab7a1d050e928c9ab09d4
csky: Fixup regs.sr broken in ptrace

gpr_get() return the entire pt_regs (include sr) to userspace, if we
don't restore the C bit in gpr_set, it may break the ALU result in
that context. So the C flag bit is part of gpr context, that's why
riscv totally remove the C bit in the ISA. That makes sr reg clear
from userspace to supervisor privilege.

Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: stable@vger.kernel.org
arch/csky/kernel/ptrace.c