lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 12 Oct 2018 16:49:45 +0800
From:   Vincent Chen <vincentc@...estech.com>
To:     Arnd Bergmann <arnd@...db.de>
CC:     <deanbo422@...il.com>, <linux-kernel@...r.kernel.org>,
        <green.hu@...il.com>
Subject: Re: [PATCH v2 1/5] nds32: nds32 FPU port

On Thu, Oct 11, 2018 at 03:30:30PM +0800, Arnd Bergmann wrote:
> On Thu, Oct 11, 2018 at 4:56 AM Vincent Chen <vincentc@...estech.com> wrote:
> >
> > This commit contains basic components for nds32 FPU support such as
> > FPU exception handler and context switch for FPU register.
> >
> > diff --git a/arch/nds32/Kconfig.cpu b/arch/nds32/Kconfig.cpu
> > index b8c8984..7ee4e19 100644
> > --- a/arch/nds32/Kconfig.cpu
> > +++ b/arch/nds32/Kconfig.cpu
> > @@ -7,6 +7,28 @@ config CPU_LITTLE_ENDIAN
> >         bool "Little endian"
> >         default y
> >
> > +config FPU
> > +       bool "FPU support"
> > +       default n
> > +       help
> > +         If FPU ISA is used in user space, this configure shall be Y to make
> > +         the fpu context switch and fpu exception handler is enabled in kernel.
> > +         Lazy FPU is the default scheme for fpu context switch. If user wants
> > +         to disable Lazy FPU scheme, please enable CONFIG_UNLAZY_FPU.
> > +
> > +         If no FPU ISA is used in user space, say N.
> 
> There was a long discussion on RISC-V about what happens when
> FPU support is enabled or disabled, you may have seen that as well.
> 
> Can you confirm that:
> 
> a) A kernel with FPU support enabled running on a CPU without an FPU
>     will behave the same as a kernel without FPU support, and in particular
>     not crash while trying to access the FPU
> b) A kernel with FPU support disabled running on a CPU with an FPU
>     prevents user space from accessing the FPU, to avoid corrupting
>     FPU registers during a task switch when a process accidentally contains
>     FPU access

In this patch user program will be terminated when accessing FPU register
if the FPU support is disabled on kernel. Hence, condition b) is promised.
Condition a) is unsupported in this patch. I will add this support in
the next version patch.
 
> > +config UNLAZY_FPU
> > +       bool "Unlazy FPU support"
> > +       depends on FPU
> > +       default n
> > +       help
> > +         Say Y here to disable lazy FPU scheme. Disable lazy FPU scheme causes
> > +         some performance loss because the fpu register are loaded and stored
> > +         in each context switch.
> > +
> > +         For nomal case, say N.
> 
> I prefer Kconfig symbols to avoid using negatives, as this easily gets
> confusing. Why not do it like
> 
> config LAZY_FPU_SWITCHING
>            bool "Lazy FPU switching"
>            depends on FPU
>            default y
> 
>       Arnd

OK, I will modify it in the next version patch.

Thanks for your comments.


Regards
Vincent

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ