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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Wed, 3 May 2017 11:10:22 +0200
From:   Miklos Szeredi <miklos@...redi.hu>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Linux API <linux-api@...r.kernel.org>
Subject: Re: error value for "internal error"

On Tue, May 2, 2017 at 8:37 PM, Linus Torvalds
<torvalds@...ux-foundation.org> wrote:
> On Tue, May 2, 2017 at 7:03 AM, Miklos Szeredi <miklos@...redi.hu> 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.

Still, wouldn't it make sense to differentiate between

 a) something went wrong with the hardware

 b) the kernel is buggy

which are completely different things?

The only reason to use a traditional errno like EIO, is that userspace
may be able to handle it instead of just throwing up its hands and
exiting.   In case of a kernel internal error, it's unlikely that
userspace will be able to work around it, while hardware errors are
more promising.  But maybe I'm wrong about this one...

Thanks,
Miklos

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ