Re: [PATCH 2/2] riscv: Make __fstate_clean() can work correctly.

From: Vincent Chen
Date: Tue Aug 13 2019 - 21:55:14 EST


On Thu, Aug 8, 2019 at 6:17 PM Anup Patel <anup@xxxxxxxxxxxxxx> wrote:
>
> On Thu, Aug 8, 2019 at 1:30 PM Vincent Chen <vincent.chen@xxxxxxxxxx> wrote:
> >
> > Make the __fstate_clean() function can correctly set the
> > state of sstatus.FS in pt_regs to SR_FS_CLEAN.
> >
> > Tested on both QEMU and HiFive Unleashed using BBL + Linux.
> >
> > Signed-off-by: Vincent Chen <vincent.chen@xxxxxxxxxx>
> > ---
> > arch/riscv/include/asm/switch_to.h | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/arch/riscv/include/asm/switch_to.h b/arch/riscv/include/asm/switch_to.h
> > index d5fe573..544f99a 100644
> > --- a/arch/riscv/include/asm/switch_to.h
> > +++ b/arch/riscv/include/asm/switch_to.h
> > @@ -16,7 +16,7 @@ extern void __fstate_restore(struct task_struct *restore_from);
> >
> > static inline void __fstate_clean(struct pt_regs *regs)
> > {
> > - regs->sstatus |= (regs->sstatus & ~(SR_FS)) | SR_FS_CLEAN;
> > + regs->sstatus = (regs->sstatus & ~(SR_FS)) | SR_FS_CLEAN;
> > }
> >
> > static inline void fstate_off(struct task_struct *task,
> > --
> > 2.7.4
> >
>
> Looks good to me.
>
> Reviewed-by: Anup Patel <anup@xxxxxxxxxxxxxx>
>
> This should be a RC fix.
>
> Please add "Fixes:" in your commit description and
> CC stable kernel.
>
OK, I will follow your suggestions and resend this patch
Thanks for your comments.

Regards,
Vincent Chen