Skip to content

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:

  1. Create another thread for dealing with L2. Use existing fapi-like IF for communication between UE_thread/DL threads/UL threads and MAC.
  2. Only run MAC from the main UE_thread
  3. Create a fifo queue for configuration functions from RRC and poll it whenever MAC instance mutex is acquired.
  4. 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