Re: error value for "internal error"

From: Linus Torvalds
Date: Tue May 02 2017 - 14:37:39 EST

On Tue, May 2, 2017 at 7:03 AM, Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
> I've been wondering what to return for soft asserts like this:
> if (WARN_ON(something unexpected))
> return -E????;
> EINVAL doesn't fit because it means the input from userspace was
> wrong. EIO means something went bad with the hardware.

I think we've traditionally just used EIO for "something went wrong".
It's not necessarily hardware that went wrong.

That's particularly true when there is a WARN_ON() that then gives
more details of where this actually happened in the system logs - at
that point the error number really doesn't matter all that much.

(Ambiguous error numbers are much more annoying when something goes
wrong, but you can't tell which of 48 different cases it was that
triggered that error number).