osmo-bts/src
Vadim Yanitskiy e464ef6524 osmo-bts-{sysmo,lc15,oc2g}: fix segfault in ph_tch_req()
ph_tch_req() is a recursive function and conditionally calls itself at
the very bottom.  The recursive call happens iff all of the following
conditions are met:

* DTXd is enabled,
* AMR codec is in use,
* DTX DL AMR FSM state is recursive.

The problem is that ph_tch_req() may pull sizeof(*lsap) from the given
msgb twice: during the initial and the recursive calls.  The second
attempt to pull sizeof(*lsap) causes the process to abort, because
the remaining room is less than it's attempting to pull.

AFAICT, doing msgb_pull() is not really necessary, given that
l1sap_tch_rts_ind() thankfully does set msg->l2h before pushing
the lsap header in front of the actual frame.

Update osmo-bts-sysmo and its copy-pasted siblings, which are likely
affected too, except osmo-bts-octphy which does not do the recursion.

Change-Id: Ib349b74a9e4bd48c902286f872d3b0e9a068256c
Related: OS#5925
2023-03-24 18:24:01 +00:00
..
common rsl: rsl_handle_chan_mod_ie(): add missing GSM48_CMODE_* values 2023-03-23 20:09:49 +00:00
osmo-bts-lc15 osmo-bts-{sysmo,lc15,oc2g}: fix segfault in ph_tch_req() 2023-03-24 18:24:01 +00:00
osmo-bts-oc2g osmo-bts-{sysmo,lc15,oc2g}: fix segfault in ph_tch_req() 2023-03-24 18:24:01 +00:00
osmo-bts-octphy osmo-bts-{sysmo,lc15,oc2g}: fix segfault in ph_tch_req() 2023-03-24 18:24:01 +00:00
osmo-bts-omldummy Depend on libosmo-netif 2022-09-06 09:14:40 +02:00
osmo-bts-sysmo osmo-bts-{sysmo,lc15,oc2g}: fix segfault in ph_tch_req() 2023-03-24 18:24:01 +00:00
osmo-bts-trx bts-trx: Avoid pushing interf_meas for disabled TRX 2023-03-23 12:38:26 +01:00
osmo-bts-virtual osmo-bts-virtual: properly handle dynamic TS in vbts_set_ts() 2023-03-20 23:08:33 +07:00
Makefile.am osmo-bts-lc15: use consistent name for containing directory 2020-11-05 03:39:50 +07:00