Commit Graph
100 Commits
Author SHA1 Message Date
Guido Casati 4957f446e9 Refactor includes in NGAP files
* used open source IWYU tool
2024-11-18 11:25:02 +01:00
Guido Casati e8f9d577cd Use DL_SCH_LCID_DCCH in NR and remove dependency from mac.h 2024-11-18 11:25:02 +01:00
Guido Casati 69df3598f3 Redefine NGAP_MAX_PDUSESSION and removed LTE dependency
* limit to 16 instead of specs value 256
2024-11-18 11:25:02 +01:00
Guido Casati 9c94203e49 Move transport_layer_addr_t to platform_types.h
* tunnel address is the same for NR and LTE and used in both
* Remove LTE dependency in gtpv1_u_messages_types.h
2024-11-18 11:25:02 +01:00
Guido Casati d585aa0041 Add UL PRBs Blacklist section to NR_SA_Tutorial_COTS_UE.md 2024-11-08 10:12:19 +01:00
Guido Casati b61de6453a Refactor NRRCConfig
* the goal of this function is to initialize and configure the RAN Context
* the goal of get_options is to get command line options
* this commit aims at making the implementation more consistent
* move initialization of RC.nb_nr_CC to this function
* cleanup redundant initializations of RC.nb_nr_macrlc_inst outside NRRCConfig
* cleanup redundant initization of RC.nb_nr_macrlc_inst from getter function (get_node_type)
* cleanup RC initialization in RCconfig_NR_L1
* removed redundant log lines (print number of instances in NRRCConfig only)
* do RC init after getting CL options and configuration
* get_node_type shall access configuration only, not RC context
* NRRCConfig shall be called only once: made it thread-safe
2024-11-06 10:16:39 +01:00
Guido Casati 14a379cb75 Removed global variable NB_RU
* this variable was set after RC.nb_RU, which is set in NRRCConfig
  therefore it was redundant since it can be easily replaced by
  the original
2024-11-06 10:16:11 +01:00
Guido Casati b7063c8b75 Return a pointer to a new RRC instance (gNB_RRC_INST) from RCconfig_NRRRC 2024-11-06 10:15:43 +01:00
Guido Casati f80b09ac99 Simplified use of nb_nr_inst
* nb_nr_inst represents the number of gNB instances and the number of RAN contexts
* it used also to count the number of RRC instances in the node
* it is set from config file in NRRCConfig, therefore redundant checks after
  this function have been removed
* redundant global variable NB_gNB_INST, set after nb_nr_inst, was removed
2024-11-06 10:15:42 +01:00
Guido Casati eaeae880d0 Removed unused wait_for_sync 2024-11-06 10:15:26 +01:00
Guido Casati dfb90a173d Cleanup commented out code in nr_init.c 2024-11-06 10:15:26 +01:00
Guido Casati 881c6b0c1a Refactor l1_north_init_gNB
* code cleanup
* clang-formatted
* simplified code
2024-11-06 10:15:25 +01:00
Guido Casati 3e5292ca0b Cleanup unused global vars in executables/nr-softmodem.c 2024-11-06 10:14:58 +01:00
Guido Casati 3698881849 Removed redundant initialization of pre-processor function pointers
* done already in mac_top_init_gNB
2024-11-06 10:14:58 +01:00
Guido Casati ba43ebb5a8 Cleanup of dump_nr_prach_config 2024-11-06 10:14:58 +01:00
Guido Casati ebeedbfe7f Cleanup of unused set_default_frame_parms 2024-11-06 10:14:57 +01:00
Guido Casati e828d0e6a4 Removed unused num_ulprbbl in gNB_MAC_INST_s 2024-11-06 10:14:42 +01:00
Guido Casati 2ff25e688a Remove gNB and L1 init in RCconfig_nr_prs
* gNB and L1 init is done in init_gNB and RCconfig_NR_L1
* moved RCconfig_nr_prs out of create_gNB_tasks for consistency
* do RCconfig_nr_prs only for L1 instances
2024-11-06 10:14:42 +01:00
Guido Casati e57acf6190 Refactor RCconfig_NR_L1
* removed initialization of gNB
* separate function to get blacklisted UL PRBs
* call the getter in both L1 and MAC/RLC configuration
* other minor improvements
2024-11-06 10:14:41 +01:00
Guido Casati 2a9cb35348 Do L1 configuration right after gNB initialization
* do always gNB init for L1 instance
  and also for CU and CU-CP
* do L1 config only for L1 instances
2024-11-06 10:13:06 +01:00
Guido Casati d8c7ff4c2c Refactor init_gNB()
* code cleanup
* clang-formatted
* adopted calloc_or_fail
* allocate nb_nr_L1_inst of RC.gNB instead of (RC.nb_nr_L1_inst + 1)
2024-11-06 10:12:52 +01:00
Guido Casati c3f1824f0b Use capture_pdu_session_establishment_accept_msg in handleDownlinkNASTransport
* DL NAS Transport messages can piggy-back 5GSM messages
* the relevant decoding functions can be called in the handler (e.g. capture_pdu_session_establishment_accept_msg)
2024-10-25 12:43:44 +02:00
Guido Casati 9a67c5e5b5 Fix scoping issues for variable declarations in switch-case blocks (capture_pdu_session_establishment_accept_msg) 2024-10-25 11:52:28 +02:00
Guido Casati b5f4c55d88 Use capture_pdu_session_establishment_accept_msg with NAS_DOWNLINK_DATA_IND:FGS_PDU_SESSION_ESTABLISHMENT_ACC
* the capture_pdu_session_establishment_accept_msg function is already handling
  the code in the case FGS_PDU_SESSION_ESTABLISHMENT_ACC of NAS_DOWNLINK_DATA_IND

Closes: #841
2024-10-25 11:50:52 +02:00
Guido Casati 66231badaf Refactor PDU address IE in PDU Session Establishment Accept
* take 3 bits for PDU session type value
* add define for SMF's IPv6 link local address
2024-10-25 11:44:14 +02:00
Guido Casati a85be06c72 Add defines for IPv4 and IPv6 PDU address header fields 2024-10-25 11:42:22 +02:00
Guido Casati f85271a349 Free F1AP messages in RRC task after processing 2024-10-24 16:23:05 +02:00
Guido Casati b17f1d1b57 Free F1 UL RRC Message Transfer after use in F1AP_DU_task 2024-10-24 16:22:04 +02:00
Guido Casati 74804f2ba3 Free F1 DL RRC Message Transfer after use in F1AP_CU_task 2024-10-24 16:22:04 +02:00
Guido Casati 5e5d17b05b Free F1 Setup Response in the context where it was allocated 2024-10-24 16:22:03 +02:00
Guido Casati a29cbf0543 Cleanup of cast in gNB_DU_name memcpy 2024-10-24 16:22:03 +02:00
Guido Casati 46fadda22f Add license header to f1ap_lib_test.c 2024-10-24 16:22:03 +02:00
Guido Casati 52f96fd91b Complete adoption of Equality Check macros in f1ap_lib_common.c 2024-10-24 16:22:03 +02:00
Guido Casati d2fca6bba4 Update TESTBenches.md to reflect current testbench 2024-10-16 11:14:21 +02:00
Guido Casati 48bb594e30 Cleanup gnb_config.c 2024-10-02 11:39:24 +02:00
Guido Casati 1438dfbd35 Refactored fill_scc_sim
* clang formatted
* code cleanup
* improve readability
2024-10-02 11:39:24 +02:00
Guido Casati 8d222bc474 Refactoring of prepare_scc
* improved readability
* clang formatted
2024-10-02 11:39:23 +02:00
Guido Casati a32a8504c9 Use a macro to initialize NR_SetupRelease structs
* introduced macro INIT_SETUP_RELEASE to optimize code in gnb_config.c
2024-10-02 11:36:43 +02:00
Guido Casati 56e510b2f2 Use calloc_or_fail in gnb_config.c 2024-10-02 11:36:43 +02:00
Guido Casati ee26e51015 Use abort instead to exit in calloc_or_fail
* abort generates a core dump
2024-10-02 11:36:43 +02:00
Guido Casati 13757cfd28 Cleanup of long-time commented out code in prepare_scc 2024-10-02 11:36:43 +02:00
Guido Casati 5daad21ca6 Reworked F1AP documentation and added info about the library
* moved F1AP related docs to a separate folder in docs
2024-09-27 17:39:00 +02:00
Guido Casati 3aa9f4c0be Use F1 gNB-DU Configuration Update Acknowledge lib in stack 2024-09-27 17:39:00 +02:00
Guido Casati b8ee622f1c Add test for F1 DU Configuration Update Acknowledge lib 2024-09-27 17:38:55 +02:00
Guido Casati b91e1b0a12 Add enc/dec lib for F1AP gNB-DU Configuration Update Acknowledge (Interface Management) 2024-09-27 17:38:52 +02:00
Guido Casati 3ce1f0e2c5 Use F1 gNB-CU Configuration Update Acknowledge lib in stack 2024-09-27 17:38:51 +02:00
Guido Casati c936aabd9a Add test for CU Configuration Update Acknowledge lib 2024-09-27 17:38:43 +02:00
Guido Casati 3724e84fed Add enc library for F1 gNB-CU Configuration Update Acknowledge (Interface Management) 2024-09-27 17:38:38 +02:00
Guido Casati d2863d9693 Refactored f1ap_gnb_cu_configuration_update_acknowledge_t
* add transaction_id
* refactored remaining members
2024-09-27 17:38:38 +02:00
Guido Casati 80a05271d6 Use F1AP gNB-CU Configuration Update lib in stack 2024-09-27 17:38:38 +02:00
Guido Casati 3626366228 Add test for F1 gNB-CU Configuration Update enc/dec lib 2024-09-27 17:38:38 +02:00
Guido Casati 8e3d6583a5 Add enc/dec library for F1AP gNB-CU Configuration Update (Interface Management) 2024-09-27 17:38:38 +02:00
Guido Casati c416c57f92 Simplified F1AP gNB-CU Configuration Update message struct
* removed optional IEs, whose encoding/decoding is not done
2024-09-27 17:38:38 +02:00
Guido Casati 3b11764d1d Minor comments 2024-09-27 17:38:38 +02:00
Guido Casati 07da84ede2 Use F1 gNB-DU Configuration Update lib in stack 2024-09-27 17:38:38 +02:00
Guido Casati 2cc50832d1 Add test for F1AP gNB-DU Configuration Update enc/dec library 2024-09-27 17:38:38 +02:00
Guido Casati 9958e53cb1 Add encoding/decoding library for F1AP gNB-DU Configuration Update (Interface Management) 2024-09-27 17:38:38 +02:00
Guido Casati df62abca0c Removed gNB_CU_name from f1ap_gnb_du_configuration_update_t
* not defined in 9.2.1.8 of 3GPP TS 38.473
2024-09-27 17:38:38 +02:00
Guido Casati 289fdfe381 Use F1AP Setup Failure enc/dec lib in stack 2024-09-27 17:38:38 +02:00
Guido Casati 6146c470e2 Add test for F1AP Setup Failure enc/dec lib 2024-09-27 17:38:38 +02:00
Guido Casati 7e495db5ec Add encoding/decoding lib for F1 Setup Failure (interface management) 2024-09-27 17:38:38 +02:00
Guido Casati 28e2d67ee5 Fixes to F1 Setup Failure
* added missing Transaction ID to te F1 Setup Failure message struct
* fill F1 Setup Failure transaction ID in RRC before calling the F1 Setup Failure function
2024-09-27 17:38:38 +02:00
Guido Casati 3a5ace00d2 Use F1AP lib for F1 Setup Response in stack 2024-09-27 17:38:38 +02:00
Guido Casati df2c92e652 Add test for F1AP Setup Response enc/dec lib 2024-09-27 17:38:35 +02:00
Guido Casati 30628b820c Add encoding/decoding lib for F1AP Setup Response (Interface Management) 2024-09-27 17:38:30 +02:00
Guido Casati 1d8e896567 Use F1AP lib for F1 Setup Request in stack 2024-09-27 11:22:03 +02:00
Guido Casati c433f4de15 Add test for F1 Setup Request enc/dec lib 2024-09-27 11:22:03 +02:00
Guido Casati f278b00837 Add encoding/decoding library for F1AP Setup Request (Interface Management) 2024-09-27 11:22:03 +02:00
Guido Casati 1a8ed8642f Use F1AP lib for UL RRC Message Trasfer in stack 2024-09-27 11:22:03 +02:00
Guido Casati cc0ad07aa0 Add test for F1AP UL RRC Message Transfer enc/dec lib 2024-09-27 11:22:03 +02:00
Guido Casati b85fd159b8 Add encoding/decoding lib for UL RRC Message Trasfer 2024-09-27 11:22:03 +02:00
Guido Casati 1d0d7e7baf Use F1AP lib for DL RRC Message Transfer in stack 2024-09-27 11:22:03 +02:00
Guido Casati 718269f1eb Add test for F1AP DL RRC Transfer enc/dec messages 2024-09-27 11:22:03 +02:00
Guido Casati 3374327752 Add encoding/decoding lib for F1AP DL RRC Transfer message 2024-09-27 11:22:03 +02:00
Guido Casati 648ed19544 Use _F1_EQ_CHECK_INT in eq_f1ap_plmn 2024-09-27 11:22:03 +02:00
Guido Casati 11df3c743f Introduce new macros to improve debugging capabilities in F1AP library
* _F1_EQ_CHECK_GENERIC can be used to check the equality of two different members of F1AP structs
  and return `false` if the condition is not met.

When the condition fails, the macros will print a debug message to the standard error stream,
including the function name, line number, and the provided format string and arguments.
2024-09-27 11:22:01 +02:00
Guido Casati da6b1a4be4 Fixes to SI message struct item in CU messages
* num_SI is the size of the list of gNB-CU System Information messages
* the new struct member is an array, sized after the maximum nb
  of SIB types, which contains the SI container, the container length
  and the SIB type
2024-09-25 15:38:41 +02:00
Guido Casati deb63888d9 Cleanup of long-time unused F1AP interface management functions 2024-09-25 15:38:41 +02:00
Guido Casati 3554b33f37 Cleanup unused F1AP message transmission and system information files 2024-09-25 15:38:41 +02:00
Guido Casati 70dd524e2b Define softmodem bits in a separate header for either C and C++ 2024-09-05 15:19:26 +02:00
Guido Casati dbe5c5ee61 Minor additions to UnitTests.md 2024-09-03 09:51:29 +02:00
Guido Casati 5764422342 Section about connecting to an NG-Core in NR_SA_Tutorial_OAI_nrUE.md 2024-09-03 09:51:29 +02:00
Guido Casati 9102e10747 Updated F1-design.md
* restructured the documentation
* add details from specs
* add tables and Mermaid diagrams whenever possible
2024-09-03 09:51:23 +02:00
Guido Casati 47833b1aeb Free NAS PDU buffer in NAS task, which has ownership 2024-08-30 15:04:08 +02:00
Guido Casati 0265607a95 Fix memory leaks in NAS generatePduSessionEstablishRequest
>Direct leak of 7 byte(s) in 1 object(s) allocated from:
    >0 0x7ffff74b4887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    >1 0x55555819ab3c in generatePduSessionEstablishRequest /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:938
    >2 0x5555581a8a9f in nas_nrue /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1295
    >3 0x5555581a3078 in nas_nrue_task /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1215
    >4 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442

> Direct leak of 4 byte(s) in 1 object(s) allocated from:
    >0 0x7ffff74b4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
    >1 0x55555819c025 in generatePduSessionEstablishRequest /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:993
    >2 0x5555581a8a9f in nas_nrue /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1295
    >3 0x5555581a3078 in nas_nrue_task /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1215
    >4 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442

> Direct leak of 1 byte(s) in 1 object(s) allocated from:
    >0 0x7ffff74b4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
    >1 0x55555819c8f7 in generatePduSessionEstablishRequest /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:987
    >2 0x5555581a9b75 in nas_nrue /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1299
    >3 0x5555581a414e in nas_nrue_task /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1219
    >4 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442
2024-08-30 15:03:15 +02:00
Guido Casati 8e9f6385cc Fix memory leak in generateAuthenticationResp
> Direct leak of 16 byte(s) in 1 object(s) allocated from:
    >0 0x7ffff74b4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
    >1 0x55555818ef1c in generateAuthenticationResp /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:588
    >2 0x5555581b0fca in nas_nrue /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1405
    >3 0x5555581a3069 in nas_nrue_task /home/guido/repo/openairinterface5g/fix-ue-memory-leaks/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1213
    >4 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442
2024-08-30 14:57:45 +02:00
Guido Casati 0ef6153bb9 Fix memory leak of NAS buffer transfered to RRC with NAS_UPLINK_DATA_REQ
* Data buffer for NAS Registration Complete and Authentication Response is malloced in
  the NAS thread and transfered with ITTI message to RRC, where needs to be freed

Direct leak of 24 byte(s) in 1 object(s) allocated from:
    >0 0x7ffff74b4887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    >1 0x5555572b0607 in generateAuthenticationResp /repo/openairinterface5g/develop/openair3/NAS/NR_UE/nr_nas_msg_sim.c:608
    >2 0x5555572b0607 in nas_nrue /repo/openairinterface5g/develop/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1402
    >3 0x5555572baef6 in nas_nrue_task /repo/openairinterface5g/develop/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1198
    >4 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442

Direct leak of 10 byte(s) in 1 object(s) allocated from:
    >0 0x7ffff74b4887 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
    >1 0x55555729754e in generateRegistrationComplete /repo/openairinterface5g/develop/openair3/NAS/NR_UE/nr_nas_msg_sim.c:782
    >2 0x555557299ad3 in handle_registration_accept /repo/openairinterface5g/develop/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1212
    >3 0x5555572b06a0 in nas_nrue /repo/openairinterface5g/develop/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1411
    >4 0x5555572baef6 in nas_nrue_task /repo/openairinterface5g/develop/openair3/NAS/NR_UE/nr_nas_msg_sim.c:1198
    >5 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442
2024-08-30 14:51:54 +02:00
Guido Casati 031622b1a3 Review of CL options section in RUNMODEM
* place all NR UE CL optional options in the same section, in a table
* add a section for common CL options
* add subsection for UE capabilities
* removed redundant text
2024-08-27 10:04:15 +02:00
Guido Casati 9e6435758a Wrap multi-statement macros ENCODE_U8() and ENCODE_U32() in do { ... } while (0) statements 2024-08-26 10:13:18 +02:00
Guido Casati bac4f798f9 Fix misalignment issues in TLVEncoder macros ENCODE_U16, ENCODE_U24
This commit resolves undefined behaviour runtime errors related
to misaligned memory access. E.g.

> openair3/NAS/COMMON/IES/FGSMobileIdentity.c:193:3:
> runtime error: store to misaligned address 0x608000021e2b for type 'uint16_t',
> which requires 2 byte alignment 0x608000021e2b: note: pointer points here 00 f1 ...

* ENCODE_U24: safely encode 24-bit values into a buffer
  by using memcpy to copy 3 bytes in network byte order (big-endian).
* ENCODE_U16: safely encodes a 16-bit value into a buffer, handling
  misalignment by memcpy 2 bytes to buffer in network byte order (big-endian).
2024-08-23 11:34:44 +02:00
Guido Casati 21de8666d3 Updated Wireshark documentation 2024-08-19 17:06:03 +02:00
Guido Casati 94d59d5153 Fix link in documentation 2024-08-16 17:02:52 +02:00
Guido Casati 7c788be9e0 Cleanup of unused parallel/worker thread configuration in NR
* In LTE there is logic that checks the thread configurtion with the
  getters `get_thread_parallel_conf()` and `get_thread_worker_conf()`
  in NR these getters are not used, only setters, which have no impact
2024-08-12 14:59:03 +02:00
Guido Casati 14b7311bd8 Fix memory leak in do_NR_ULInformationTransfer
* buffer is allocated but not freed after use by PDCP

> Direct leak of 192 byte(s) in 3 object(s) allocated from:
    > 0 0x7ffff74b4c38 in __interceptor_realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:164
    > 1 0x55555775ee74 in encode_dyn_cb /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/per_encoder.c:23
    > 2 0x55555774776e in _uper_encode_flush_outp /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/uper_encoder.c:126
    > 3 0x55555774776e in uper_encode /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/uper_encoder.c:36
    > 4 0x555557747c91 in uper_encode_to_new_buffer /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/uper_encoder.c:85
    > 5 0x5555576c5172 in do_NR_ULInformationTransfer /openair2/RRC/NR/MESSAGES/asn1_msg.c:965
    > 6 0x555556fba691 in rrc_nrue /openair2/RRC/NR_UE/rrc_UE.c:1819
    > 7 0x555556fc4d2e in rrc_nrue_task /openair2/RRC/NR_UE/rrc_UE.c:1717
    > 8 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442
2024-08-12 10:06:54 +02:00
Guido Casati aa8cf7c41a Fix memory leak in nr_rrc_ue_decode_NR_BCCH_DL_SCH_Message
* bcch_message is malloced by ASN.1 decoder and needs to be always freed after use along with its contents

> Direct leak of 64 byte(s) in 1 object(s) allocated from:
   >0 0x7ffff74b4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
   >1 0x555557737ecd in SEQUENCE_decode_uper /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/constr_SEQUENCE_uper.c:37
   >2 0x555557746f81 in uper_decode /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/uper_decoder.c:83
   >3 0x5555577471fe in uper_decode_complete /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/uper_decoder.c:16
   >4 0x555556f8b1c9 in nr_rrc_ue_decode_NR_BCCH_DL_SCH_Message /openair2/RRC/NR_UE/rrc_UE.c:732
   >5 0x555556fbc365 in rrc_nrue /openair2/RRC/NR_UE/rrc_UE.c:1775
   >6 0x555556fc4c2e in rrc_nrue_task /openair2/RRC/NR_UE/rrc_UE.c:1718
   >7 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442
2024-08-12 10:06:54 +02:00
Guido Casati b1609e0534 Fix memory leak in nr-uesoftmodem
* strdup is returning a malloced string that needs to freed after use

> Direct leak of 90 byte(s) in 1 object(s) allocated from:
    >0 0x7ffff745b9a7 in __interceptor_strdup ../../../../src/libsanitizer/asan/asan_interceptors.cpp:454
    >1 0x555556c7b341 in main /executables/nr-uesoftmodem.c:461
    >2 0x7ffff5e29d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
2024-08-12 10:06:54 +02:00
Guido Casati e806315963 Fix memory leak in nr_rrc_ue_decode_dcch
* local dl_dcch_msg shall be freed after use

> Direct leak of 384 byte(s) in 6 object(s) allocated from:
    >0 0x7ffff74b4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
    >1 0x555557737ced in SEQUENCE_decode_uper /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/constr_SEQUENCE_uper.c:37
    >2 0x555557746da1 in uper_decode /cmake_targets/ran_build/build/openair2/RRC/LTE/MESSAGES/uper_decoder.c:83
    >3 0x555556fa4b31 in nr_rrc_ue_decode_dcch /openair2/RRC/NR_UE/rrc_UE.c:1612
    >4 0x555556fbb25c in rrc_nrue /openair2/RRC/NR_UE/rrc_UE.c:1792
    >5 0x555556fc4a4e in rrc_nrue_task /openair2/RRC/NR_UE/rrc_UE.c:1718
    >6 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442
2024-08-12 10:06:54 +02:00
Guido Casati 6435ed309c Fix memory leak in NR UE nr_rrc_ue_process_ueCapabilityEnquiry
* allocate memory in heap for the struct ue_CapabilityRAT_Container used locally for buffer encoding
* free the struct members only for the ul_dcch_msg allocated on the stack

> Direct leak of 40 byte(s) in 1 object(s) allocated from:
    > 0 0x7ffff74b4a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
    > 1 0x555556f7a89f in nr_rrc_ue_process_ueCapabilityEnquiry /openair2/RRC/NR_UE/rrc_UE.c:1861
    > 2 0x555556fa4d85 in nr_rrc_ue_decode_dcch /openair2/RRC/NR_UE/rrc_UE.c:1650
    > 3 0x555556fbb33c in rrc_nrue /openair2/RRC/NR_UE/rrc_UE.c:1790
    > 4 0x555556fc4b2e in rrc_nrue_task /openair2/RRC/NR_UE/rrc_UE.c:1716
    > 5 0x7ffff5e94ac2 in start_thread nptl/pthread_create.c:442
2024-08-12 10:03:16 +02:00
Guido Casati 869b78efe2 Use NGAP protocol cause IE in the stack 2024-07-25 13:58:08 +02:00
Guido Casati d581c671e9 Add enum for NGAP protocol cause IEs 2024-07-25 13:58:08 +02:00