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>] [day] [month] [year] [list]
Date:   Thu, 8 Mar 2018 17:11:50 +0000
From:   Will Deacon <will.deacon@....com>
To:     Dave Martin <Dave.Martin@....com>
Cc:     linux-arm-kernel@...ts.infradead.org, linux-arch@...r.kernel.org,
        linux-api@...r.kernel.org,
        "Eric W. Biederman" <ebiederm@...ssion.com>,
        Catalin Marinas <catalin.marinas@....com>,
        James Morse <james.morse@....com>,
        linux-kernel@...r.kernel.org, tglx@...utronix.de, mingo@...hat.com,
        arnd@...db.de
Subject: Re: [PATCH v2 1/3] signal: Add FPE_FLTUNK si_code for undiagnosable
 fp exceptions

Hi Dave,

On Thu, Mar 01, 2018 at 05:44:06PM +0000, Dave Martin wrote:
> Some architectures cannot always report accurately what kind of
> floating-point exception triggered a floating-point exception trap.
> 
> This can occur with fp exceptions occurring on lanes in a vector
> instruction on arm64 for example.
> 
> Rather than have every architecture come up with its own way of
> describing such a condition, this patch adds a common FPE_FLTUNK
> si_code value to report that an fp exception caused a trap but we
> cannot be certain which kind of fp exception it was.

This looks straightforward to me, but I'll need Acks for the x86 and uapi
changes if I'm to take this via arm64. I've added some others to CC and
kept the patch intact below.

Cheers,

Will

> Signed-off-by: Dave Martin <Dave.Martin@....com>
> 
> --
> 
> Changes since v1:
> 
> Reported by James Morse:
> 
>  * Bump NSIGFPE BUILD_BUG_ON() check for x86 compat.
> 
>    FPE_FLTUNK does not current have any implications for x86, since it
>    is not currently used and has no implications for the way siginfo
>    is populated.
> ---
>  arch/x86/kernel/signal_compat.c    | 2 +-
>  include/uapi/asm-generic/siginfo.h | 3 ++-
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/kernel/signal_compat.c b/arch/x86/kernel/signal_compat.c
> index ac057f9..954ad99 100644
> --- a/arch/x86/kernel/signal_compat.c
> +++ b/arch/x86/kernel/signal_compat.c
> @@ -26,7 +26,7 @@ static inline void signal_compat_build_tests(void)
>  	 * new fields are handled in copy_siginfo_to_user32()!
>  	 */
>  	BUILD_BUG_ON(NSIGILL  != 11);
> -	BUILD_BUG_ON(NSIGFPE  != 13);
> +	BUILD_BUG_ON(NSIGFPE  != 14);
>  	BUILD_BUG_ON(NSIGSEGV != 4);
>  	BUILD_BUG_ON(NSIGBUS  != 5);
>  	BUILD_BUG_ON(NSIGTRAP != 4);
> diff --git a/include/uapi/asm-generic/siginfo.h b/include/uapi/asm-generic/siginfo.h
> index 85dc965..10304de 100644
> --- a/include/uapi/asm-generic/siginfo.h
> +++ b/include/uapi/asm-generic/siginfo.h
> @@ -229,7 +229,8 @@ typedef struct siginfo {
>  # define __FPE_INVASC	12	/* invalid ASCII digit */
>  # define __FPE_INVDEC	13	/* invalid decimal digit */
>  #endif
> -#define NSIGFPE		13
> +#define FPE_FLTUNK	14	/* undiagnosed floating-point exception */
> +#define NSIGFPE		14
>  
>  /*
>   * SIGSEGV si_codes
> -- 
> 2.1.4
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ