Thread (17 messages) 17 messages, 4 authors, 2019-12-07

Re: [PATCH] net/tls: Fix return values for setsockopt

flat view

From: Jakub Kicinski <hidden>
Date: 2019-12-04 23:02:00
Also in: lkml

On Wed, 04 Dec 2019 12:51:35 -0800 (PST), David Miller wrote:
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Date: Wed, 4 Dec 2019 15:43:00 -0500
quoted
On Wed, Dec 4, 2019 at 2:36 PM Jakub Kicinski wrote:  
quoted
On Wed, 4 Dec 2019 14:22:55 -0500, Willem de Bruijn wrote:  
quoted
On Tue, Dec 3, 2019 at 6:08 PM Jakub Kicinski wrote:  
quoted
On Tue,  3 Dec 2019 23:44:58 +0100, Valentin Vidic wrote:  
quoted
ENOTSUPP is not available in userspace:

  setsockopt failed, 524, Unknown error 524

Signed-off-by: Valentin Vidic <redacted>  
I'm not 100% clear on whether we can change the return codes after they
had been exposed to user space for numerous releases..  
This has also come up in the context of SO_ZEROCOPY in the past. In my
opinion the answer is no. A quick grep | wc -l in net/ shows 99
matches for this error code. Only a fraction of those probably make it
to userspace, but definitely more than this single case.

If anything, it may be time to define it in uapi?  
No opinion but FWIW I'm toying with some CI for netdev, I've added a
check for use of ENOTSUPP, apparently checkpatch already sniffs out
uses of ENOSYS, so seems appropriate to add this one.  
Good idea if not exposing this in UAPI.  
I'm trying to understand this part of the discussion.

If we have been returning a non-valid error code, this 524 internal
kernel thing, it is _NOT_ an exposed UAPI.

It is a kernel bug and we should fix it.
I agree. We should just fix this.

As Willem points out the use of this error code has spread, but in
theory I'm a co-maintainer of the TLS code now, and my maintainer 
gut says "just fix it" :)
If userspace anywhere is checking for 524, that is what needs to be fixed.
FWIW I did a quick grep through openssl and gnutls and fbthrift and I
see no references to ENOTSUPP or 524.

Valentin, what's the strategy you're using for this fix? There's a
bunch of ENOTSUPP in net/tls/tls_sw.c as well, could you convert those,
too?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help