net/tls: dedup the record cleanup
authorJakub Kicinski <jakub.kicinski@netronome.com>
Tue, 3 Sep 2019 04:31:06 +0000 (21:31 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Sep 2019 07:49:49 +0000 (09:49 +0200)
If retransmit record hint fall into the cleanup window we will
free it by just walking the list. No need to duplicate the code.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: John Hurley <john.hurley@netronome.com>
Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tls/tls_device.c

index 9e1bec1a0a280ca1a145830fb805994379ad6c3d..41c106e45f0170857e96b3838601ae1e95d24811 100644 (file)
@@ -159,12 +159,8 @@ static void tls_icsk_clean_acked(struct sock *sk, u32 acked_seq)
 
        spin_lock_irqsave(&ctx->lock, flags);
        info = ctx->retransmit_hint;
-       if (info && !before(acked_seq, info->end_seq)) {
+       if (info && !before(acked_seq, info->end_seq))
                ctx->retransmit_hint = NULL;
-               list_del(&info->list);
-               destroy_record(info);
-               deleted_records++;
-       }
 
        list_for_each_entry_safe(info, temp, &ctx->records_list, list) {
                if (before(acked_seq, info->end_seq))