osmo-pcu/src
Pau Espin 54faf023be Workaround ASan false positive runtime errors under some platforms
Under some platforms (RPI4, ARM) container older ASan, it will log false
positive log errors which will make unit test fail because then output
changes:
"""
pcu_l1_if.cpp:847:2: runtime error: member access within misaligned address 0xb3f0b78c for type 'struct GprsMs', which requires 8 byte alignment
"""

The pointer is indeed misaligned, but it's not actually a bug, because
the pointer is never derreferenced. That happens during
llist_for_each_entry operation where it does cast the pointer but it
only checks if the list has actually reached the end.

To workaround the issue, simply defer casting it by using llist_for_each
instead, where the pointer is assigned only in the case it really points
to a GprsMS struct.

Change-Id: I149fb42706501eb33f9c6fe48f76a03ddee5954a
2021-01-14 12:12:45 +01:00
..
osmo-bts-litecell15 Use osmo_fd_setup() whenever applicable 2020-10-19 11:36:33 +00:00
osmo-bts-oc2g Use osmo_fd_setup() whenever applicable 2020-10-19 11:36:33 +00:00
osmo-bts-sysmo Use osmo_fd_setup() whenever applicable 2020-10-19 11:36:33 +00:00
.gitignore
Makefile.am Convert GprsMS and helpers classes to C 2021-01-05 10:34:25 +00:00
bts.cpp bts: fix uninitialized memaccess in BTS::send_gsmtap() 2021-01-13 13:58:16 +01:00
bts.h Convert GprsMS and helpers classes to C 2021-01-05 10:34:25 +00:00
coding_scheme.c Fix mcs_is_valid(): UNKNOWN value is not a valid (M)CS 2020-11-05 15:48:04 +01:00
coding_scheme.h Get rid of class GprsCodingScheme 2020-05-20 11:07:07 +00:00
csn1.c csn1: Log CSN_VARIABLE_ARRAY values as hex 2020-11-24 11:24:11 +01:00
csn1.h csn1: fix: never use enumerated types in codec structures 2020-05-23 19:26:58 +07:00
cxx_linuxlist.h llist: Add missing const qualifier in llist cast method 2015-08-24 12:23:50 +02:00
decoding.cpp decoding.cpp: Improve logging in malformed UL data parsing 2020-06-30 21:33:49 +02:00
decoding.h Get rid of class GprsCodingScheme 2020-05-20 11:07:07 +00:00
egprs_rlc_compression.cpp decompress_crbb: add length argument for search_runlen 2019-06-24 13:51:06 +00:00
egprs_rlc_compression.h egprs_rlc_compression: fix white spaces 2019-06-17 02:04:09 +02:00
encoding.cpp Convert GprsMS and helpers classes to C 2021-01-05 10:34:25 +00:00
encoding.h Dl TBF: Get rid of LLC UI dummy blocks following other data 2020-12-01 15:57:37 +01:00
gprs_bssgp_pcu.cpp ns2: follow ns2 sns api changes 2020-12-16 12:51:08 +01:00
gprs_bssgp_pcu.h Rework NS configuration over the info indication 2020-10-13 08:45:30 +00:00
gprs_codel.c Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere 2020-03-16 10:31:56 +00:00
gprs_codel.h Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere 2020-03-16 10:31:56 +00:00
gprs_debug.cpp migrate to DLBSSGP as log sub-system for BSSGP 2020-12-12 20:05:51 +01:00
gprs_debug.h migrate to DLBSSGP as log sub-system for BSSGP 2020-12-12 20:05:51 +01:00
gprs_ms.c gprs_ms: Mark ms_ctrg_desc static 2021-01-12 20:57:56 +01:00
gprs_ms.h ms: Replace struct var with rate_ctr 2021-01-12 18:01:53 +00:00
gprs_ms_storage.cpp Convert GprsMS and helpers classes to C 2021-01-05 10:34:25 +00:00
gprs_ms_storage.h Convert GprsMS and helpers classes to C 2021-01-05 10:34:25 +00:00
gprs_rlcmac.cpp paging: pass struct osmo_mobile_identity, not encoded IE bytes 2020-08-24 01:12:16 +00:00
gprs_rlcmac.h pdch: rcv pkt meas rep: Allocate MS object early in path and use it 2020-08-24 07:50:49 +00:00
gprs_rlcmac_meas.cpp pdch: rcv pkt meas rep: Allocate MS object early in path and use it 2020-08-24 07:50:49 +00:00
gprs_rlcmac_sched.cpp ms: Replace struct var with rate_ctr 2021-01-12 18:01:53 +00:00
gprs_rlcmac_ts_alloc.cpp Convert GprsMS and helpers classes to C 2021-01-05 10:34:25 +00:00
gsm_rlcmac.c rlcmac: Fix typo in MT_PACKET_CELL_CHANGE_NOTIFICATION value_string 2020-12-11 19:57:29 +00:00
gsm_rlcmac.h gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance 2020-08-24 10:53:08 +00:00
gsm_timer.cpp gsm_timer: fix comparison of constant LONG_MAX with an integer 2020-01-29 06:14:54 +07:00
gsm_timer.h pcu_l1_if: add frame number to log output 2018-04-10 13:35:24 +02:00
llc.cpp Convert GprsMS and helpers classes to C 2021-01-05 10:34:25 +00:00
llc.h Convert GprsMS and helpers classes to C 2021-01-05 10:34:25 +00:00
mslot_class.c mslot_class: two more: use uint32_t to shift 1 << 31 2018-03-28 14:44:47 +02:00
mslot_class.h Simplify TS alloc: move slot check into functions 2018-02-21 12:08:40 +00:00
osmobts_sock.cpp Use osmo_fd_*_{disable,enable} 2020-11-11 20:15:37 +00:00
pcu_l1_if.cpp Workaround ASan false positive runtime errors under some platforms 2021-01-14 12:12:45 +01:00
pcu_l1_if.h Convert GprsMS and helpers classes to C 2021-01-05 10:34:25 +00:00
pcu_main.cpp migrate to DLBSSGP as log sub-system for BSSGP 2020-12-12 20:05:51 +01:00
pcu_utils.h Convert GprsMS and helpers classes to C 2021-01-05 10:34:25 +00:00
pcu_vty.c ns2: follow ns2 dialect changes 2020-12-16 12:50:50 +01:00
pcu_vty.h vty: add attributes to VTY commands indicating when they apply 2020-10-08 07:16:31 +00:00
pcu_vty_functions.cpp Workaround ASan false positive runtime errors under some platforms 2021-01-14 12:12:45 +01:00
pcu_vty_functions.h vty: Add 'show bts pdch' command 2020-09-22 20:56:53 +02:00
pdch.cpp Convert GprsMS and helpers classes to C 2021-01-05 10:34:25 +00:00
pdch.h Support multiplexing of GPRS and EGPRS TBFs in one PDCH 2020-11-17 16:42:15 +01:00
poll_controller.cpp Move out tbf subclasses from tbf.h to their own headers 2019-09-25 17:50:06 +02:00
poll_controller.h Update header includes 2018-02-19 08:43:46 +00:00
rlc.cpp Fix mcs_is_valid(): UNKNOWN value is not a valid (M)CS 2020-11-05 15:48:04 +01:00
rlc.h Get rid of class GprsCodingScheme 2020-05-20 11:07:07 +00:00
sba.cpp bts: Drop specific functions to increase counters 2020-05-14 11:19:05 +00:00
sba.h Update header includes 2018-02-19 08:43:46 +00:00
tbf.cpp tbf: remove 'software error' logs from tbf_free 2021-01-11 19:17:05 +01:00
tbf.h tbf: remove 'software error' logs from tbf_free 2021-01-11 19:17:05 +01:00
tbf.txt
tbf_dl.cpp Convert GprsMS and helpers classes to C 2021-01-05 10:34:25 +00:00
tbf_dl.h Convert GprsMS and helpers classes to C 2021-01-05 10:34:25 +00:00
tbf_ul.cpp Convert GprsMS and helpers classes to C 2021-01-05 10:34:25 +00:00
tbf_ul.h Convert GprsMS and helpers classes to C 2021-01-05 10:34:25 +00:00
wireshark_compat.h Move gsm_rlcmac.cpp -> .c 2020-03-30 10:08:02 +00:00