summaryrefslogtreecommitdiffstats
path: root/net/tls
diff options
context:
space:
mode:
authorJakub Kicinski2019-06-11 06:39:59 +0200
committerDavid S. Miller2019-06-11 21:22:26 +0200
commit4967373959cd8a437df92413ea932e638a0518b1 (patch)
tree23e241c8223f9e59f118e7262f011d3dad463a5d /net/tls
parentpacket: remove unused variable 'status' in __packet_lookup_frame_in_block (diff)
downloadkernel-qcow2-linux-4967373959cd8a437df92413ea932e638a0518b1.tar.gz
kernel-qcow2-linux-4967373959cd8a437df92413ea932e638a0518b1.tar.xz
kernel-qcow2-linux-4967373959cd8a437df92413ea932e638a0518b1.zip
net/tls: simplify seq calculation in handle_device_resync()
We subtract "TLS_HEADER_SIZE - 1" from req_seq, then if they match we add the same constant to seq. Just add it to seq, and we don't have to touch req_seq. 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 'net/tls')
-rw-r--r--net/tls/tls_device.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/net/tls/tls_device.c b/net/tls/tls_device.c
index 43f2deb57078..59f0c8dacbcc 100644
--- a/net/tls/tls_device.c
+++ b/net/tls/tls_device.c
@@ -576,14 +576,13 @@ void handle_device_resync(struct sock *sk, u32 seq, u64 rcd_sn)
rx_ctx = tls_offload_ctx_rx(tls_ctx);
resync_req = atomic64_read(&rx_ctx->resync_req);
- req_seq = (resync_req >> 32) - ((u32)TLS_HEADER_SIZE - 1);
+ req_seq = resync_req >> 32;
+ seq += TLS_HEADER_SIZE - 1;
is_req_pending = resync_req;
if (unlikely(is_req_pending) && req_seq == seq &&
- atomic64_try_cmpxchg(&rx_ctx->resync_req, &resync_req, 0)) {
- seq += TLS_HEADER_SIZE - 1;
+ atomic64_try_cmpxchg(&rx_ctx->resync_req, &resync_req, 0))
tls_device_resync_rx(tls_ctx, sk, seq, rcd_sn);
- }
}
static int tls_device_reencrypt(struct sock *sk, struct sk_buff *skb)