All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] net/tls: Fix return values for setsockopt
@ 2019-12-03 22:44 Valentin Vidic
  2019-12-03 22:55 ` Jakub Kicinski
  0 siblings, 1 reply; 20+ messages in thread
From: Valentin Vidic @ 2019-12-03 22:44 UTC (permalink / raw)
  To: Boris Pismenny, Aviad Yehezkel, John Fastabend, Daniel Borkmann,
	Jakub Kicinski
  Cc: David S. Miller, netdev, linux-kernel, Valentin Vidic

ENOTSUPP is not available in userspace:

  setsockopt failed, 524, Unknown error 524

Signed-off-by: Valentin Vidic <vvidic@valentin-vidic.from.hr>
---
 net/tls/tls_main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/tls/tls_main.c b/net/tls/tls_main.c
index bdca31ffe6da..5830b8e02a36 100644
--- a/net/tls/tls_main.c
+++ b/net/tls/tls_main.c
@@ -496,7 +496,7 @@ static int do_tls_setsockopt_conf(struct sock *sk, char __user *optval,
 	/* check version */
 	if (crypto_info->version != TLS_1_2_VERSION &&
 	    crypto_info->version != TLS_1_3_VERSION) {
-		rc = -ENOTSUPP;
+		rc = -EINVAL;
 		goto err_crypto_info;
 	}
 
@@ -723,7 +723,7 @@ static int tls_init(struct sock *sk)
 	 * share the ulp context.
 	 */
 	if (sk->sk_state != TCP_ESTABLISHED)
-		return -ENOTSUPP;
+		return -ENOTCONN;
 
 	/* allocate tls context */
 	write_lock_bh(&sk->sk_callback_lock);
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 20+ messages in thread
* Re: Kernel TLS
@ 2019-11-30 10:34 Valdis Klētnieks
  2019-11-30 12:54 ` [PATCH] net/tls: Fix return values for setsockopt Valentin Vidic
  0 siblings, 1 reply; 20+ messages in thread
From: Valdis Klētnieks @ 2019-11-30 10:34 UTC (permalink / raw)
  To: Bj�rn Mork; +Cc: noloader, kernelnewbies


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.1: Type: text/plain; charset=utf-8, Size: 751 bytes --]

On Sat, 30 Nov 2019 11:10:50 +0100, Bjørn Mork said:

> My version of setsockopt(2) says
(...)
> ERRORS
>        EBADF     The  argument sockfd is not a valid file descrip‐
>                  tor.
>

Note that there is no general *guarantee* that a syscall cannot
return any values other than the ones in the manpage.

> If you look at e.g. udp_lib_setsockopt() you'll see that it conforms
> strictly to this.  I don't know why do_tcp_setsockopt() doesn't.

Probably because those are the only errors that the UDP version
can hit, but the TCP case can hit cases like "socket must be in
a connected state" and possibly other error codes.  Now, I admit
wondering why it uses ENOTSUPP rather than ENOTCONN for this
particular case.

[-- Attachment #1.2: Type: application/pgp-signature, Size: 832 bytes --]

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2019-12-07  4:17 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-03 22:44 [PATCH] net/tls: Fix return values for setsockopt Valentin Vidic
2019-12-03 22:55 ` Jakub Kicinski
2019-12-04 18:29   ` [PATCH v2] " Valentin Vidic
2019-12-04 19:22   ` [PATCH] " Willem de Bruijn
2019-12-04 19:35     ` Jakub Kicinski
2019-12-04 20:43       ` Willem de Bruijn
2019-12-04 20:51         ` David Miller
2019-12-04 23:01           ` Jakub Kicinski
2019-12-05  0:55             ` David Miller
2019-12-05  6:41               ` [PATCH v3] net/tls: Fix return values to avoid ENOTSUPP Valentin Vidic
2019-12-05 19:34                 ` Jakub Kicinski
2019-12-05 20:06                   ` Willem de Bruijn
2019-12-05 20:43                     ` Valentin Vidić
2019-12-05 20:45                       ` Jakub Kicinski
2019-12-05 21:26                       ` Willem de Bruijn
2019-12-05 23:08                         ` Valentin Vidić
2019-12-07  4:17                 ` David Miller
  -- strict thread matches above, loose matches on Subject: below --
2019-11-30 10:34 Kernel TLS Valdis Klētnieks
2019-11-30 12:54 ` [PATCH] net/tls: Fix return values for setsockopt Valentin Vidic
2019-11-30 13:15   ` Jeffrey Walton
2019-11-30 13:31     ` Valentin Vidić

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.