<p>Harald Welte <strong>merged</strong> this change.</p><p><a href="https://gerrit.osmocom.org/10019">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  Harald Welte: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">sgsn: gtp: Use new API to send PDP DEL CTX REQ without freeing ctx locally<br><br>Previous API freed the ctx immediatelly after sending the packet, which<br>triggered a call to cb_delete_context() and dropped the entire<br>sgsn_pdp_ctx before the PDP DEL CTX ACCEPT was received. This new API<br>won't free the pdp ctx and we can tear down everything once we receive<br>the ACCEPT in cb_conf.<br><br>cb_conf is not automatically freed at cb_conf, user needs to free it, so<br>we need to remove setting pctx->lib to NULL in cb_conf to avoid leaking the<br>pdp ctx, as it needs to be freed inside sgsn_pdp_ctx_free().<br><br>Depends: osmo-ggsn (libgtp) Change-Id I29d366253bb98dcba328c7ce8aa3e4daf8f75e6c.<br>Change-Id: I304c59de5d137b81de3c6df0fdbe911ae3dbd1f3<br>---<br>M src/gprs/sgsn_libgtp.c<br>1 file changed, 2 insertions(+), 6 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/gprs/sgsn_libgtp.c b/src/gprs/sgsn_libgtp.c</span><br><span>index 23b8811..3813397 100644</span><br><span>--- a/src/gprs/sgsn_libgtp.c</span><br><span>+++ b/src/gprs/sgsn_libgtp.c</span><br><span>@@ -314,10 +314,10 @@</span><br><span> /* SGSN wants to delete a PDP context */</span><br><span> int sgsn_delete_pdp_ctx(struct sgsn_pdp_ctx *pctx)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-       LOGPDPCTXP(LOGL_ERROR, pctx, "Delete PDP Context\n");</span><br><span style="color: hsl(120, 100%, 40%);">+       LOGPDPCTXP(LOGL_INFO, pctx, "Delete PDP Context\n");</span><br><span> </span><br><span>   /* FIXME: decide if we need teardown or not ! */</span><br><span style="color: hsl(0, 100%, 40%);">-        return gtp_delete_context_req(pctx->ggsn->gsn, pctx->lib, pctx, 1);</span><br><span style="color: hsl(120, 100%, 40%);">+  return gtp_delete_context_req2(pctx->ggsn->gsn, pctx->lib, pctx, 1);</span><br><span> }</span><br><span> </span><br><span> struct cause_map {</span><br><span>@@ -573,10 +573,6 @@</span><br><span>                     "is not available\n");</span><br><span>  }</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   /* unlink the now non-existing library handle from the pdp</span><br><span style="color: hsl(0, 100%, 40%);">-       * context */</span><br><span style="color: hsl(0, 100%, 40%);">-   pctx->lib = NULL;</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span>         sgsn_pdp_ctx_free(pctx);</span><br><span> </span><br><span>         return rc;</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/10019">change 10019</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/10019"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-sgsn </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: merged </div>
<div style="display:none"> Gerrit-Change-Id: I304c59de5d137b81de3c6df0fdbe911ae3dbd1f3 </div>
<div style="display:none"> Gerrit-Change-Number: 10019 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: Pau Espin Pedrol <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: Harald Welte <laforge@gnumonks.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: Pau Espin Pedrol <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-CC: Neels Hofmeyr <nhofmeyr@sysmocom.de> </div>