Data races in NR UE
A set of variables used in scheduled response:
NR_UE_CSI_IM *csiim_vars[NUMBER_OF_CONNECTED_gNB_MAX];
NR_UE_CSI_RS *csirs_vars[NUMBER_OF_CONNECTED_gNB_MAX];
These should be easy to fix.
RRC configuration races:
nr_rrc_mac_config_req_sib1
nr_rrc_mac_config_req_cg
nr_ue_decode_mib
nr_rrc_mac_config_req_reset
These require a different solution. Potential solutions:
- Create another thread for dealing with L2. Use existing fapi-like IF for communication between UE_thread/DL threads/UL threads and MAC.
- Only run MAC from the main UE_thread
- Create a fifo queue for configuration functions from RRC and poll it whenever MAC instance mutex is acquired.
- Possibly: Use mac_IF_mutex for this
get_ue_nas_info
Small impact race that might result in a leaked buffer
Solution is to properly initialize NAS before decoding SSB
rfsimulator
rfsimulator has data races but they are only present on termination of the software - low impact
Edited by Bartosz Podrygajlo