@@ -185,7 +185,7 @@ static int tls_do_decryption(struct sock *sk,
185
185
int ret ;
186
186
187
187
aead_request_set_tfm (aead_req , ctx -> aead_recv );
188
- aead_request_set_ad (aead_req , TLS_AAD_SPACE_SIZE );
188
+ aead_request_set_ad (aead_req , tls_ctx -> rx . aad_size );
189
189
aead_request_set_crypt (aead_req , sgin , sgout ,
190
190
data_len + tls_ctx -> rx .tag_size ,
191
191
(u8 * )iv_recv );
@@ -289,12 +289,12 @@ static struct tls_rec *tls_get_rec(struct sock *sk)
289
289
290
290
sg_init_table (rec -> sg_aead_in , 2 );
291
291
sg_set_buf (& rec -> sg_aead_in [0 ], rec -> aad_space ,
292
- sizeof ( rec -> aad_space ) );
292
+ tls_ctx -> tx . aad_size );
293
293
sg_unmark_end (& rec -> sg_aead_in [1 ]);
294
294
295
295
sg_init_table (rec -> sg_aead_out , 2 );
296
296
sg_set_buf (& rec -> sg_aead_out [0 ], rec -> aad_space ,
297
- sizeof ( rec -> aad_space ) );
297
+ tls_ctx -> tx . aad_size );
298
298
sg_unmark_end (& rec -> sg_aead_out [1 ]);
299
299
300
300
return rec ;
@@ -455,7 +455,7 @@ static int tls_do_encryption(struct sock *sk,
455
455
msg_en -> sg .curr = start ;
456
456
457
457
aead_request_set_tfm (aead_req , ctx -> aead_send );
458
- aead_request_set_ad (aead_req , TLS_AAD_SPACE_SIZE );
458
+ aead_request_set_ad (aead_req , tls_ctx -> tx . aad_size );
459
459
aead_request_set_crypt (aead_req , rec -> sg_aead_in ,
460
460
rec -> sg_aead_out ,
461
461
data_len , rec -> iv_data );
@@ -1317,7 +1317,7 @@ static int decrypt_internal(struct sock *sk, struct sk_buff *skb,
1317
1317
1318
1318
aead_size = sizeof (* aead_req ) + crypto_aead_reqsize (ctx -> aead_recv );
1319
1319
mem_size = aead_size + (nsg * sizeof (struct scatterlist ));
1320
- mem_size = mem_size + TLS_AAD_SPACE_SIZE ;
1320
+ mem_size = mem_size + tls_ctx -> rx . aad_size ;
1321
1321
mem_size = mem_size + crypto_aead_ivsize (ctx -> aead_recv );
1322
1322
1323
1323
/* Allocate a single block of memory which contains
@@ -1333,7 +1333,7 @@ static int decrypt_internal(struct sock *sk, struct sk_buff *skb,
1333
1333
sgin = (struct scatterlist * )(mem + aead_size );
1334
1334
sgout = sgin + n_sgin ;
1335
1335
aad = (u8 * )(sgout + n_sgout );
1336
- iv = aad + TLS_AAD_SPACE_SIZE ;
1336
+ iv = aad + tls_ctx -> rx . aad_size ;
1337
1337
1338
1338
/* Prepare IV */
1339
1339
err = skb_copy_bits (skb , rxm -> offset + TLS_HEADER_SIZE ,
@@ -1352,7 +1352,7 @@ static int decrypt_internal(struct sock *sk, struct sk_buff *skb,
1352
1352
1353
1353
/* Prepare sgin */
1354
1354
sg_init_table (sgin , n_sgin );
1355
- sg_set_buf (& sgin [0 ], aad , TLS_AAD_SPACE_SIZE );
1355
+ sg_set_buf (& sgin [0 ], aad , tls_ctx -> rx . aad_size );
1356
1356
err = skb_to_sgvec (skb , & sgin [1 ],
1357
1357
rxm -> offset + tls_ctx -> rx .prepend_size ,
1358
1358
rxm -> full_len - tls_ctx -> rx .prepend_size );
@@ -1364,7 +1364,7 @@ static int decrypt_internal(struct sock *sk, struct sk_buff *skb,
1364
1364
if (n_sgout ) {
1365
1365
if (out_iov ) {
1366
1366
sg_init_table (sgout , n_sgout );
1367
- sg_set_buf (& sgout [0 ], aad , TLS_AAD_SPACE_SIZE );
1367
+ sg_set_buf (& sgout [0 ], aad , tls_ctx -> rx . aad_size );
1368
1368
1369
1369
* chunk = 0 ;
1370
1370
err = tls_setup_from_iter (sk , out_iov , data_len ,
@@ -2100,6 +2100,7 @@ int tls_set_sw_offload(struct sock *sk, struct tls_context *ctx, int tx)
2100
2100
goto free_priv ;
2101
2101
}
2102
2102
2103
+ cctx -> aad_size = TLS_AAD_SPACE_SIZE ;
2103
2104
cctx -> prepend_size = TLS_HEADER_SIZE + nonce_size ;
2104
2105
cctx -> tag_size = tag_size ;
2105
2106
cctx -> overhead_size = cctx -> prepend_size + cctx -> tag_size ;
0 commit comments