Change in osmo-sgsn[master]: sgsn: gtp: Use new API to send PDP DEL CTX REQ without freeing ctx lo...

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Tue Jul 24 19:03:23 UTC 2018


Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/10019 )

Change subject: sgsn: gtp: Use new API to send PDP DEL CTX REQ without freeing ctx locally
......................................................................

sgsn: gtp: Use new API to send PDP DEL CTX REQ without freeing ctx locally

Previous API freed the ctx immediatelly after sending the packet, which
triggered a call to cb_delete_context() and dropped the entire
sgsn_pdp_ctx before the PDP DEL CTX ACCEPT was received. This new API
won't free the pdp ctx and we can tear down everything once we receive
the ACCEPT in cb_conf.

cb_conf is not automatically freed at cb_conf, user needs to free it, so
we need to remove setting pctx->lib to NULL in cb_conf to avoid leaking the
pdp ctx, as it needs to be freed inside sgsn_pdp_ctx_free().

Depends: osmo-ggsn (libgtp) Change-Id I29d366253bb98dcba328c7ce8aa3e4daf8f75e6c.
Change-Id: I304c59de5d137b81de3c6df0fdbe911ae3dbd1f3
---
M src/gprs/sgsn_libgtp.c
1 file changed, 2 insertions(+), 6 deletions(-)

Approvals:
  Jenkins Builder: Verified
  Harald Welte: Looks good to me, approved



diff --git a/src/gprs/sgsn_libgtp.c b/src/gprs/sgsn_libgtp.c
index 23b8811..3813397 100644
--- a/src/gprs/sgsn_libgtp.c
+++ b/src/gprs/sgsn_libgtp.c
@@ -314,10 +314,10 @@
 /* SGSN wants to delete a PDP context */
 int sgsn_delete_pdp_ctx(struct sgsn_pdp_ctx *pctx)
 {
-	LOGPDPCTXP(LOGL_ERROR, pctx, "Delete PDP Context\n");
+	LOGPDPCTXP(LOGL_INFO, pctx, "Delete PDP Context\n");
 
 	/* FIXME: decide if we need teardown or not ! */
-	return gtp_delete_context_req(pctx->ggsn->gsn, pctx->lib, pctx, 1);
+	return gtp_delete_context_req2(pctx->ggsn->gsn, pctx->lib, pctx, 1);
 }
 
 struct cause_map {
@@ -573,10 +573,6 @@
 			   "is not available\n");
 	}
 
-	/* unlink the now non-existing library handle from the pdp
-	 * context */
-	pctx->lib = NULL;
-
 	sgsn_pdp_ctx_free(pctx);
 
 	return rc;

-- 
To view, visit https://gerrit.osmocom.org/10019
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-sgsn
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I304c59de5d137b81de3c6df0fdbe911ae3dbd1f3
Gerrit-Change-Number: 10019
Gerrit-PatchSet: 3
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>
Gerrit-CC: Neels Hofmeyr <nhofmeyr at sysmocom.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180724/20c1cfab/attachment.htm>


More information about the gerrit-log mailing list