mbox series

[PATCHv9,0/6] net/tls: fixes for NVMe-over-TLS

Message ID 20230726191556.41714-1-hare@suse.de (mailing list archive)
Headers show
Series net/tls: fixes for NVMe-over-TLS | expand

Message

Hannes Reinecke July 26, 2023, 7:15 p.m. UTC
Hi all,

here are some small fixes to get NVMe-over-TLS up and running.
The first set are just minor modifications to have MSG_EOR handled
for TLS, but the second set implements the ->read_sock() callback
for tls_sw.
The ->read_sock() callbacks return -EIO when encountering any TLS
Alert message, but as that's the default behaviour anyway I guess
we can get away with it.

As usual, comments and reviews are welcome.

Changes to the original submission:
- Add a testcase for MSG_EOR handling

Changes to v2:
- Bail out on conflicting message flags
- Rework flag handling

Changes to v3:
- Return -EINVAL on conflicting flags
- Rebase on top of net-next

Changes to v4:
- Add tlx_rx_reader_lock() to read_sock
- Add MSG_EOR handling to tls_sw_readpages()

Changes to v5:
- Rebase to latest upstream
- Split tls_rx_reader_lock() as suggested by Sagi

Changes to v6:
- Fixup tls_strp_read_copyin() to avoid infinite recursion
  in tls_read_sock()
  - Rework tls_read_sock() to read all available data

Changes to v7:
- Include reviews from Jakub

Changes to v8:
- Use tls_read_flush_backlog()

Hannes Reinecke (6):
  net/tls: handle MSG_EOR for tls_sw TX flow
  net/tls: handle MSG_EOR for tls_device TX flow
  selftests/net/tls: add test for MSG_EOR
  net/tls: Use tcp_read_sock() instead of ops->read_sock()
  net/tls: split tls_rx_reader_lock
  net/tls: implement ->read_sock()

 net/tls/tls.h                     |   2 +
 net/tls/tls_device.c              |   6 +-
 net/tls/tls_main.c                |   2 +
 net/tls/tls_strp.c                |   3 +-
 net/tls/tls_sw.c                  | 142 ++++++++++++++++++++++++++----
 tools/testing/selftests/net/tls.c |  11 +++
 6 files changed, 146 insertions(+), 20 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org July 28, 2023, 3:30 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Wed, 26 Jul 2023 21:15:50 +0200 you wrote:
> Hi all,
> 
> here are some small fixes to get NVMe-over-TLS up and running.
> The first set are just minor modifications to have MSG_EOR handled
> for TLS, but the second set implements the ->read_sock() callback
> for tls_sw.
> The ->read_sock() callbacks return -EIO when encountering any TLS
> Alert message, but as that's the default behaviour anyway I guess
> we can get away with it.
> 
> [...]

Here is the summary with links:
  - [1/6] net/tls: handle MSG_EOR for tls_sw TX flow
    https://git.kernel.org/netdev/net-next/c/e22e358bbeb3
  - [2/6] net/tls: handle MSG_EOR for tls_device TX flow
    https://git.kernel.org/netdev/net-next/c/c004b0e00c94
  - [3/6] selftests/net/tls: add test for MSG_EOR
    https://git.kernel.org/netdev/net-next/c/8790c6a4f54d
  - [4/6] net/tls: Use tcp_read_sock() instead of ops->read_sock()
    https://git.kernel.org/netdev/net-next/c/11863c6d440d
  - [5/6] net/tls: split tls_rx_reader_lock
    https://git.kernel.org/netdev/net-next/c/f9ae3204fb45
  - [6/6] net/tls: implement ->read_sock()
    https://git.kernel.org/netdev/net-next/c/662fbcec32f4

You are awesome, thank you!