Re: sparc/ppc/arm compat siginfo ABI regressions: sending SIGFPE via kill() returns wrong values in si_pid and si_uid
From: Dave Martin
Date: Fri Apr 13 2018 - 14:45:36 EST
On Fri, Apr 13, 2018 at 11:23:36AM -0700, Linus Torvalds wrote:
> On Fri, Apr 13, 2018 at 10:54 AM, Russell King - ARM Linux
> <linux@xxxxxxxxxxxxxxx> wrote:
> >
> > FPE_FLTINV means "floating point invalid operation". Does it really
> > cover the case where hardware has failed, or is it intended to cover
> > the case where userspace did something wrong and asked for an invalid
> > operation from the FP hardware?
>
> Note that the number of people who actually look at the si_code is
> approximately zero.
>
> But the ones that _do_ check the si_code are certainly not going to
> check it against a new code that they don't know about.
>
> I suspect that if you start searching for FLT_xyz occurrences in code,
> approximately 100% of them are from the kernel code that generates
> them, not from any actual users.
>
> So I'd be very surprised if you can find *anybody* who cares about
> that exact value (with the possible exceptions of test-suites).
>
> Sadly, google code-search is no more. It was useful for things like that.
I've found https://codesearch.debian.net/ useful for digging into this
kind of question, though it tends to throw up a lot of false positives.
Most uses I've seen do nothing more than use the FPE_xyz value to
format diagnostic messages while dying. I struggled to find code that
made a meaningful functional decision based on the value, though that's
not proof...
Cheers
---Dave