1. 09 Apr, 2026 4 commits
  2. 08 Apr, 2026 9 commits
  3. 07 Apr, 2026 10 commits
  4. 03 Apr, 2026 6 commits
  5. 02 Apr, 2026 11 commits
    • Cedric Roux's avatar
      nr rlc: tolerate bogus data · 6556c886
      Cedric Roux authored
      Some unfriendly entity may play with the RLC module and send bogus data to
      trigger funky behaviors here and there.
      
      A report sent by Dhanish, India, indentifies one such issue.
      
      From analyzing this report, a possible scenario is the following.
      
      Unfriendly entity sends an RLC PDU with:
      is_first=0
      is_last=0
      so=15
      lenght of data, whatever, let's say 1.
      
      This PDU is put in the RX list.
      
      Then later it sends another PDU (for the same SN, obviously), with:
      is_first=1
      is_last=1
      so=0 (well, since is_first=1, necessarily so=0; it is not transmitted,
      see 38.322 6.2.2.3 for UM and 38.322 6.2.2.4 for AM)
      length=10, let's say.
      
      This PDU is also put in the RX list, before the previous one.
      
      Then the function sdu_full() returns 1, so reassemble_and_deliver() is
      called and the 'while (pdu)' loop is executed for both PDUs. When the
      second (bogus one) is processed, so==10 (after processing the first
      PDU) and the line: int len = pdu->size - (so - pdu->so)
      is: int len = 1 - (10 - 15)
      which is not good.
      
      So we detect the case 'pdu->so > so' and reject the SDU. We could label
      the other entity as bogus, since no standard RLC implementation will
      produce such a case, but let's remain friendly, even with unfriendly
      entities. (To be changed later if needed.)
      
      The problem was reported for RLC AM but is also present in RLC UM.
      (Not in RLC TM, where there is no segmentation.)
      
      Note: according to the report, this bug was found using a fuzzer
      described as 'AI-assisted custom 5G NR protocol fuzzer'. It had
      to be said.
      6556c886
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/cleanup-split8-api' into integration_2026_w14 (!4023) · 5e6fd58d
      Jaroslava Fiedlerova authored
      Cleanup common_lib.h
      
      This change reduces the number of dependecies of common_lib.h and simplifies
      the task of implementing an external OAI radio library.
      5e6fd58d
    • Jaroslava Fiedlerova's avatar
      Merge remote-tracking branch 'origin/vrtsim-convolution-acceleration' into... · 978932e5
      Jaroslava Fiedlerova authored
      Merge remote-tracking branch 'origin/vrtsim-convolution-acceleration' into integration_2026_w14 (!3696)
      
      Acceleration of channel convolution
      
      Added two versions of channel convolution:
      - accelerated via threadpool
      - accelerated using CUDA
      978932e5
    • Robert Schmidt's avatar
      Merge remote-tracking branch 'origin/remove-unused-code' into integration_2026_w14 (!4020) · 0393a140
      Robert Schmidt authored
      Remove a lot of unused code, defines, and config options
      
      Remove unused header files and defines.
      
      Slightly clean up gnb_config.c by removing all _IDX variables. Remove
      these unused parameters:
      
      - MACRLCs.[0].num_cc
      - MACRLCs.[0].local_n_portc
      - MACRLCs.[0].remove_n_portc
      - MACRLCs.[0].remote_s_portc
      - MACRLCs.[0].remote_s_portd
      - L1s.[0].num_cc
      - L1s.[0].local_n_portc
      0393a140
    • Jaroslava Fiedlerova's avatar
    • Jaroslava Fiedlerova's avatar
    • Jaroslava Fiedlerova's avatar
      Jenkinsfile-GitLab-Container: declare local vars in slave job triggers · 6cf2570a
      Jaroslava Fiedlerova authored
      Declare `localStatus` and `localResult` as local variables in `triggerSlaveJob`
      and `triggerCN5GSlaveJob` functions by adding `def`.
      
      This prevents unintended use of global variables in pipeline and avoids
      potential variable leakage or conflicts between stages.
      
      Follows the Jenkins recommendation:
      Did you forget the `def` keyword? WorkflowScript seems to be setting a field named localStatus (to a value of type RunWrapper) which could lead to memory leaks or other issues.
      Did you forget the `def` keyword? WorkflowScript seems to be setting a field named localResult (to a value of type String) which could lead to memory leaks or other issues.
      6cf2570a
    • Jaroslava Fiedlerova's avatar
    • Robert Schmidt's avatar
      Remove L1s.local_n_portc: not used · e1a7a2e8
      Robert Schmidt authored
      Also remove intermediate variable eth_params_n that is not used
      anywhere.
      e1a7a2e8
    • Robert Schmidt's avatar
      Remove MACRLCs.remote_s_portc/d: not used · 16b1a031
      Robert Schmidt authored
      Remove the gNB_MAC_INST.eth_params_s, since it's only purpose is to
      store what can be on the stack.
      
      For the Aerial log message, don't print an empty prefix but what is
      actually used for Aerial.
      16b1a031
    • Robert Schmidt's avatar
      7ee619b0