From 6504c038b2f8c2a76cd06b2490b6f03d54f27ea4 Mon Sep 17 00:00:00 2001 From: Cedric Roux Date: Tue, 8 Apr 2025 09:40:07 +0200 Subject: [PATCH] nr pdcp: 'count' is 32 bits, use explicit type instead of generic 'int' --- openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h | 4 ++-- openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.c | 2 +- openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.h | 2 +- openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia2.c | 3 +-- openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia2.h | 2 +- openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea1.c | 2 +- openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea1.h | 2 +- openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea2.c | 3 +-- openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea2.h | 2 +- 9 files changed, 10 insertions(+), 12 deletions(-) diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h index a5ef870749..b5de4c2b44 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_entity.h @@ -155,13 +155,13 @@ typedef struct nr_pdcp_entity_t { stream_security_context_t *security_context; void (*cipher)(stream_security_context_t *security_context, unsigned char *buffer, int length, - int bearer, int count, int direction); + int bearer, uint32_t count, int direction); void (*free_security)(stream_security_context_t *security_context); stream_security_context_t *integrity_context; void (*integrity)(stream_security_context_t *integrity_context, unsigned char *out, unsigned char *buffer, int length, - int bearer, int count, int direction); + int bearer, uint32_t count, int direction); void (*free_integrity)(stream_security_context_t *integrity_context); /* security/integrity algorithms need to know uplink/downlink information * which is reverse for gnb and ue, so we need to know if this diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.c index d21c98610e..cbcad2b401 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.c +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.c @@ -42,7 +42,7 @@ stream_security_context_t *nr_pdcp_integrity_nia1_init(unsigned char *integrity_ void nr_pdcp_integrity_nia1_integrity(stream_security_context_t *integrity_context, unsigned char *out, unsigned char *buffer, int length, - int bearer, int count, int direction) + int bearer, uint32_t count, int direction) { nas_stream_cipher_t *ctx = (nas_stream_cipher_t *)integrity_context; diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.h b/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.h index 89f6d9156a..da6b7a835e 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.h +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia1.h @@ -29,7 +29,7 @@ stream_security_context_t *nr_pdcp_integrity_nia1_init(unsigned char *integrity_ void nr_pdcp_integrity_nia1_integrity(stream_security_context_t *integrity_context, unsigned char *out, unsigned char *buffer, int length, - int bearer, int count, int direction); + int bearer, uint32_t count, int direction); void nr_pdcp_integrity_nia1_free_integrity(stream_security_context_t *integrity_context); diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia2.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia2.c index f6db1b10a6..f74353e8b9 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia2.c +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia2.c @@ -39,14 +39,13 @@ stream_security_context_t *nr_pdcp_integrity_nia2_init(uint8_t integrity_key[16] return (stream_security_context_t *)ctx; } -void nr_pdcp_integrity_nia2_integrity(stream_security_context_t *integrity_context, unsigned char *out, unsigned char *buffer, int length, int bearer, int count, int direction) +void nr_pdcp_integrity_nia2_integrity(stream_security_context_t *integrity_context, unsigned char *out, unsigned char *buffer, int length, int bearer, uint32_t count, int direction) { DevAssert(integrity_context != NULL); DevAssert(out != NULL); DevAssert(buffer != NULL); DevAssert(length > -1); DevAssert(bearer > 0 && bearer < 33); - DevAssert(count > -1); cbc_cmac_ctx_t *ctx = (cbc_cmac_ctx_t *)integrity_context; diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia2.h b/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia2.h index c9bd6cd881..7483b2c4b0 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia2.h +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_integrity_nia2.h @@ -31,7 +31,7 @@ stream_security_context_t *nr_pdcp_integrity_nia2_init(uint8_t integrity_key[16] void nr_pdcp_integrity_nia2_integrity(stream_security_context_t *integrity_context, unsigned char *out, unsigned char *buffer, int length, - int bearer, int count, int direction); + int bearer, uint32_t count, int direction); void nr_pdcp_integrity_nia2_free_integrity(stream_security_context_t *integrity_context); diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea1.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea1.c index 1cb29b3a81..d6df244e0c 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea1.c +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea1.c @@ -43,7 +43,7 @@ void nr_pdcp_security_nea1_cipher(stream_security_context_t *security_context, unsigned char *buffer, int length, int bearer, - int count, + uint32_t count, int direction) { nas_stream_cipher_t *ctx = (nas_stream_cipher_t *)security_context; diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea1.h b/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea1.h index 1338739298..508b4430f6 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea1.h +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea1.h @@ -30,7 +30,7 @@ void nr_pdcp_security_nea1_cipher(stream_security_context_t *security_context, unsigned char *buffer, int length, int bearer, - int count, + uint32_t count, int direction); void nr_pdcp_security_nea1_free_security(stream_security_context_t *security_context); diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea2.c b/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea2.c index 617d5c3372..27027d5324 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea2.c +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea2.c @@ -36,14 +36,13 @@ stream_security_context_t *nr_pdcp_security_nea2_init(unsigned char *ciphering_k return (stream_security_context_t *)ciphering_key; } -void nr_pdcp_security_nea2_cipher(stream_security_context_t *security_context, unsigned char *buffer, int length, int bearer, int count, int direction) +void nr_pdcp_security_nea2_cipher(stream_security_context_t *security_context, unsigned char *buffer, int length, int bearer, uint32_t count, int direction) { DevAssert(security_context != NULL); DevAssert(buffer != NULL); DevAssert(length > 0); DevAssert(bearer > -1 && bearer < 32); DevAssert(direction > -1 && direction < 2); - DevAssert(count > -1); aes_128_t p = {0}; const uint8_t *ciphering_key = (uint8_t const *)security_context; diff --git a/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea2.h b/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea2.h index 4550e7290d..cec7bc3bf1 100644 --- a/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea2.h +++ b/openair2/LAYER2/nr_pdcp/nr_pdcp_security_nea2.h @@ -28,7 +28,7 @@ stream_security_context_t *nr_pdcp_security_nea2_init(unsigned char *ciphering_k void nr_pdcp_security_nea2_cipher(stream_security_context_t *security_context, unsigned char *buffer, int length, - int bearer, int count, int direction); + int bearer, uint32_t count, int direction); void nr_pdcp_security_nea2_free_security(stream_security_context_t *security_context);