All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net] net/ulp: use consistent error code when blocking ULP
@ 2023-01-18 12:24 Paolo Abeni
  2023-01-19  9:58 ` Sabrina Dubroca
  2023-01-19 17:30 ` patchwork-bot+netdevbpf
  0 siblings, 2 replies; 3+ messages in thread
From: Paolo Abeni @ 2023-01-18 12:24 UTC (permalink / raw
  To: netdev; +Cc: Eric Dumazet, David S. Miller, Jakub Kicinski, Sabrina Dubroca

The referenced commit changed the error code returned by the kernel
when preventing a non-established socket from attaching the ktls
ULP. Before to such a commit, the user-space got ENOTCONN instead
of EINVAL.

The existing self-tests depend on such error code, and the change
caused a failure:

  RUN           global.non_established ...
 tls.c:1673:non_established:Expected errno (22) == ENOTCONN (107)
 non_established: Test failed at step #3
          FAIL  global.non_established

In the unlikely event existing applications do the same, address
the issue by restoring the prior error code in the above scenario.

Note that the only other ULP performing similar checks at init
time - smc_ulp_ops - also fails with ENOTCONN when trying to attach
the ULP to a non-established socket.

Reported-by: Sabrina Dubroca <sd@queasysnail.net>
Fixes: 2c02d41d71f9 ("net/ulp: prevent ULP without clone op from entering the LISTEN status")
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
---
 net/ipv4/tcp_ulp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/ipv4/tcp_ulp.c b/net/ipv4/tcp_ulp.c
index 05b6077b9f2c..2aa442128630 100644
--- a/net/ipv4/tcp_ulp.c
+++ b/net/ipv4/tcp_ulp.c
@@ -139,7 +139,7 @@ static int __tcp_set_ulp(struct sock *sk, const struct tcp_ulp_ops *ulp_ops)
 	if (sk->sk_socket)
 		clear_bit(SOCK_SUPPORT_ZC, &sk->sk_socket->flags);
 
-	err = -EINVAL;
+	err = -ENOTCONN;
 	if (!ulp_ops->clone && sk->sk_state == TCP_LISTEN)
 		goto out_err;
 
-- 
2.39.0


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

* Re: [PATCH net] net/ulp: use consistent error code when blocking ULP
  2023-01-18 12:24 [PATCH net] net/ulp: use consistent error code when blocking ULP Paolo Abeni
@ 2023-01-19  9:58 ` Sabrina Dubroca
  2023-01-19 17:30 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 3+ messages in thread
From: Sabrina Dubroca @ 2023-01-19  9:58 UTC (permalink / raw
  To: Paolo Abeni; +Cc: netdev, Eric Dumazet, David S. Miller, Jakub Kicinski

2023-01-18, 13:24:12 +0100, Paolo Abeni wrote:
> The referenced commit changed the error code returned by the kernel
> when preventing a non-established socket from attaching the ktls
> ULP. Before to such a commit, the user-space got ENOTCONN instead
> of EINVAL.
> 
> The existing self-tests depend on such error code, and the change
> caused a failure:
> 
>   RUN           global.non_established ...
>  tls.c:1673:non_established:Expected errno (22) == ENOTCONN (107)
>  non_established: Test failed at step #3
>           FAIL  global.non_established
> 
> In the unlikely event existing applications do the same, address
> the issue by restoring the prior error code in the above scenario.
> 
> Note that the only other ULP performing similar checks at init
> time - smc_ulp_ops - also fails with ENOTCONN when trying to attach
> the ULP to a non-established socket.
> 
> Reported-by: Sabrina Dubroca <sd@queasysnail.net>
> Fixes: 2c02d41d71f9 ("net/ulp: prevent ULP without clone op from entering the LISTEN status")
> Signed-off-by: Paolo Abeni <pabeni@redhat.com>

Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>

Thanks Paolo.

-- 
Sabrina


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

* Re: [PATCH net] net/ulp: use consistent error code when blocking ULP
  2023-01-18 12:24 [PATCH net] net/ulp: use consistent error code when blocking ULP Paolo Abeni
  2023-01-19  9:58 ` Sabrina Dubroca
@ 2023-01-19 17:30 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-01-19 17:30 UTC (permalink / raw
  To: Paolo Abeni; +Cc: netdev, edumazet, davem, kuba, sd

Hello:

This patch was applied to netdev/net.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Wed, 18 Jan 2023 13:24:12 +0100 you wrote:
> The referenced commit changed the error code returned by the kernel
> when preventing a non-established socket from attaching the ktls
> ULP. Before to such a commit, the user-space got ENOTCONN instead
> of EINVAL.
> 
> The existing self-tests depend on such error code, and the change
> caused a failure:
> 
> [...]

Here is the summary with links:
  - [net] net/ulp: use consistent error code when blocking ULP
    https://git.kernel.org/netdev/net/c/8ccc99362b60

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

end of thread, other threads:[~2023-01-19 17:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-18 12:24 [PATCH net] net/ulp: use consistent error code when blocking ULP Paolo Abeni
2023-01-19  9:58 ` Sabrina Dubroca
2023-01-19 17:30 ` patchwork-bot+netdevbpf

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.