xtensa: switch to ->regset_get()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2020-06-16 14:43:54 -04:00
Родитель bd0409a856
Коммит a6ea5b4588
1 изменённых файлов: 6 добавлений и 10 удалений

Просмотреть файл

@ -37,8 +37,7 @@
static int gpr_get(struct task_struct *target,
const struct user_regset *regset,
unsigned int pos, unsigned int count,
void *kbuf, void __user *ubuf)
struct membuf to)
{
struct pt_regs *regs = task_pt_regs(target);
struct user_pt_regs newregs = {
@ -60,8 +59,7 @@ static int gpr_get(struct task_struct *target,
regs->areg,
(WSBITS - regs->windowbase) * 16);
return user_regset_copyout(&pos, &count, &kbuf, &ubuf,
&newregs, 0, -1);
return membuf_write(&to, &newregs, sizeof(newregs));
}
static int gpr_set(struct task_struct *target,
@ -115,8 +113,7 @@ static int gpr_set(struct task_struct *target,
static int tie_get(struct task_struct *target,
const struct user_regset *regset,
unsigned int pos, unsigned int count,
void *kbuf, void __user *ubuf)
struct membuf to)
{
int ret;
struct pt_regs *regs = task_pt_regs(target);
@ -141,8 +138,7 @@ static int tie_get(struct task_struct *target,
newregs->cp6 = ti->xtregs_cp.cp6;
newregs->cp7 = ti->xtregs_cp.cp7;
#endif
ret = user_regset_copyout(&pos, &count, &kbuf, &ubuf,
newregs, 0, -1);
ret = membuf_write(&to, newregs, sizeof(*newregs));
kfree(newregs);
return ret;
}
@ -197,7 +193,7 @@ static const struct user_regset xtensa_regsets[] = {
.n = sizeof(struct user_pt_regs) / sizeof(u32),
.size = sizeof(u32),
.align = sizeof(u32),
.get = gpr_get,
.regset_get = gpr_get,
.set = gpr_set,
},
[REGSET_TIE] = {
@ -205,7 +201,7 @@ static const struct user_regset xtensa_regsets[] = {
.n = sizeof(elf_xtregs_t) / sizeof(u32),
.size = sizeof(u32),
.align = sizeof(u32),
.get = tie_get,
.regset_get = tie_get,
.set = tie_set,
},
};