diff options
author | Jakub Kicinski | 2019-06-11 06:40:00 +0200 |
---|---|---|
committer | David S. Miller | 2019-06-11 21:22:26 +0200 |
commit | 89fec474fa1ab2c754e48d29e1081a2c2bd22dc6 (patch) | |
tree | 7c616c5ef6c27aaae2681c10cd852cc43253987d /drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.c | |
parent | net/tls: simplify seq calculation in handle_device_resync() (diff) | |
download | kernel-qcow2-linux-89fec474fa1ab2c754e48d29e1081a2c2bd22dc6.tar.gz kernel-qcow2-linux-89fec474fa1ab2c754e48d29e1081a2c2bd22dc6.tar.xz kernel-qcow2-linux-89fec474fa1ab2c754e48d29e1081a2c2bd22dc6.zip |
net/tls: pass record number as a byte array
TLS offload code casts record number to a u64. The buffer
should be aligned to 8 bytes, but its actually a __be64, and
the rest of the TLS code treats it as big int. Make the
offload callbacks take a byte array, drivers can make the
choice to do the ugly cast if they want to.
Prepare for copying the record number onto the stack by
defining a constant for max size of the byte array.
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.c index e88340e196f7..d65150aa8298 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/tls.c @@ -161,11 +161,12 @@ static void mlx5e_tls_del(struct net_device *netdev, } static void mlx5e_tls_resync_rx(struct net_device *netdev, struct sock *sk, - u32 seq, u64 rcd_sn) + u32 seq, u8 *rcd_sn_data) { struct tls_context *tls_ctx = tls_get_ctx(sk); struct mlx5e_priv *priv = netdev_priv(netdev); struct mlx5e_tls_offload_context_rx *rx_ctx; + u64 rcd_sn = *(u64 *)rcd_sn_data; rx_ctx = mlx5e_get_tls_rx_context(tls_ctx); |