Hi,
IIRC Harald et all. were seeing GSM subscriber leakage at HAR2009 and we have
not yet explored the cause of this problem. I would like to have no subscriber
leaks for the congress and propose the following changes.
I have pushed the "holger/subscr-ref-handling" branch to our repository and
would be happy if people could give it a spin. My testing here is pretty
limited.
Currently I have two commits. The second is removing a leak in the vty console
for SMS sending and subscriber usage and the other patch is trying to stop
borrowing someone else's gsm_subscriber reference. More details below.
Currently we do lchan->subscr = new_subscr and then we have two flavors of
checking if the channel is already used. I have changed this to use a new
assignment function that will do the check consistently and updated call
sites.
I would establish the following guideline for gsm_subscriber handling:
In every method where subscr_get* is called the subscriber must be released at
the exit with subscr_put unless the referenced provider is assigned to a
struct that is created in the same method, then the subscriber must be
released next to the talloc_free.
More details:
- paging.c seems fine
- gsm_subscriber_chan seems fine
- gsm_04_08_utils.c seems fine
- gsm_04_08.c seems fine now as well. subscr_get/_put should be balanced
- gsm_04_11.c if we leak a subscriber we also leak a sms I have not
checked all SMS paths to be sure we don't leak there.
I would be very happy if people could test this.
z,
Show replies by date