Changes of Revision 25

open5gs_2.4.8.202207210002.dsc -> open5gs_2.4.8.202207220002.dsc Changed
x
 
1
@@ -2,7 +2,7 @@
2
 Source: open5gs
3
 Binary: open5gs-common, open5gs-mme, open5gs-sgwc, open5gs-smf, open5gs-amf, open5gs-sgwu, open5gs-upf, open5gs-hss, open5gs-pcrf, open5gs-nrf, open5gs-ausf, open5gs-udm, open5gs-pcf, open5gs-nssf, open5gs-bsf, open5gs-udr, open5gs, open5gs-dbg
4
 Architecture: any
5
-Version: 2.4.8.202207210002
6
+Version: 2.4.8.202207220002
7
 Maintainer: Harald Welte <laforge@gnumonks.org>
8
 Uploaders: Sukchan Lee <acetcom@gmail.com>
9
 Homepage: https://open5gs.org
10
@@ -30,8 +30,8 @@
11
  open5gs-udr deb net optional arch=any
12
  open5gs-upf deb net optional arch=any
13
 Checksums-Sha1:
14
- 9aeb565535c5796ee2bcf8bac318791924653f35 11455792 open5gs_2.4.8.202207210002.tar.xz
15
+ b9efa502536ebab6ef50e36aa019d66b254e8eba 11456560 open5gs_2.4.8.202207220002.tar.xz
16
 Checksums-Sha256:
17
- d57540b32d028b863b463708eb4591b568c9096b2e93b40b965c0bc56b55737e 11455792 open5gs_2.4.8.202207210002.tar.xz
18
+ ed1cafb29ea9c5520eac58f97f01622e6fd70b567d6506b2f7d93d4d8655b5d4 11456560 open5gs_2.4.8.202207220002.tar.xz
19
 Files:
20
- e27e0d4b85f649c7ee146c02b822b449 11455792 open5gs_2.4.8.202207210002.tar.xz
21
+ 3e733ed0047a55252a9e5be45a3073d8 11456560 open5gs_2.4.8.202207220002.tar.xz
22
open5gs_2.4.8.202207210002.tar.xz/debian/changelog -> open5gs_2.4.8.202207220002.tar.xz/debian/changelog Changed
12
 
1
@@ -1,8 +1,8 @@
2
-open5gs (2.4.8.202207210002) UNRELEASED; urgency=medium
3
+open5gs (2.4.8.202207220002) UNRELEASED; urgency=medium
4
 
5
   * Snapshot build
6
 
7
- -- Sukchan Lee <acetcom@gmail.com>  Thu, 21 Jul 2022 00:10:35 +0000
8
+ -- Sukchan Lee <acetcom@gmail.com>  Fri, 22 Jul 2022 00:09:03 +0000
9
 
10
 open5gs (2.4.8) unstable; urgency=medium
11
 
12
open5gs_2.4.8.202207210002.tar.xz/debian/control -> open5gs_2.4.8.202207220002.tar.xz/debian/control Changed
163
 
1
@@ -31,7 +31,7 @@
2
 Package: open5gs-common
3
 Architecture: any
4
 Multi-Arch: same
5
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
6
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
7
          ${misc:Depends}
8
 Description: 5G Core and EPC (Shared Files)
9
  Open5GS is a C-language implementation of 5G Core and EPC
10
@@ -43,7 +43,7 @@
11
 Package: open5gs-mme
12
 Architecture: any
13
 Multi-Arch: same
14
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
15
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
16
          ${misc:Depends},
17
          open5gs-common (= ${binary:Version})
18
 Description: MME (Mobility Management Entity)
19
@@ -58,7 +58,7 @@
20
 Package: open5gs-sgwc
21
 Architecture: any
22
 Multi-Arch: same
23
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
24
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
25
          ${misc:Depends},
26
          open5gs-common (= ${binary:Version})
27
 Description: SGW-C (Serving Gateway - Control Plane)
28
@@ -72,7 +72,7 @@
29
 Package: open5gs-smf
30
 Architecture: any
31
 Multi-Arch: same
32
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
33
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
34
          ${misc:Depends},
35
          open5gs-common (= ${binary:Version})
36
 Description: SMF (Session Management Function)
37
@@ -84,7 +84,7 @@
38
 Package: open5gs-amf
39
 Architecture: any
40
 Multi-Arch: same
41
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
42
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
43
          ${misc:Depends},
44
          open5gs-common (= ${binary:Version})
45
 Description: AMF (Access and Mobility Management Function)
46
@@ -96,7 +96,7 @@
47
 Package: open5gs-sgwu
48
 Architecture: any
49
 Multi-Arch: same
50
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
51
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
52
          ${misc:Depends},
53
          open5gs-common (= ${binary:Version})
54
 Description: SGW-U (Serving Gateway - User Plane)
55
@@ -110,7 +110,7 @@
56
 Package: open5gs-upf
57
 Architecture: any
58
 Multi-Arch: same
59
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
60
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
61
          ${misc:Depends},
62
          udev,
63
          open5gs-common (= ${binary:Version})
64
@@ -123,7 +123,7 @@
65
 Package: open5gs-hss
66
 Architecture: any
67
 Multi-Arch: same
68
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
69
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
70
          ${misc:Depends},
71
          mongodb-org | mongodb,
72
          open5gs-common (= ${binary:Version})
73
@@ -140,7 +140,7 @@
74
 Package: open5gs-pcrf
75
 Architecture: any
76
 Multi-Arch: same
77
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
78
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
79
          ${misc:Depends},
80
          mongodb-org | mongodb,
81
          open5gs-common (= ${binary:Version})
82
@@ -156,7 +156,7 @@
83
 Package: open5gs-nrf
84
 Architecture: any
85
 Multi-Arch: same
86
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
87
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
88
          ${misc:Depends},
89
          open5gs-common (= ${binary:Version})
90
 Description: NRF (Network Repository Function)
91
@@ -168,7 +168,7 @@
92
 Package: open5gs-ausf
93
 Architecture: any
94
 Multi-Arch: same
95
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
96
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
97
          ${misc:Depends},
98
          open5gs-common (= ${binary:Version})
99
 Description: AUSF (Authentication Server Function)
100
@@ -180,7 +180,7 @@
101
 Package: open5gs-udm
102
 Architecture: any
103
 Multi-Arch: same
104
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
105
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
106
          ${misc:Depends},
107
          open5gs-common (= ${binary:Version})
108
 Description: UDM (Unified Data Management)
109
@@ -192,7 +192,7 @@
110
 Package: open5gs-pcf
111
 Architecture: any
112
 Multi-Arch: same
113
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
114
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
115
          ${misc:Depends},
116
          open5gs-common (= ${binary:Version})
117
 Description: PCF (Policy Control Function)
118
@@ -204,7 +204,7 @@
119
 Package: open5gs-nssf
120
 Architecture: any
121
 Multi-Arch: same
122
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
123
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
124
          ${misc:Depends},
125
          open5gs-common (= ${binary:Version})
126
 Description: NSSF (Network Slice Selection Function)
127
@@ -216,7 +216,7 @@
128
 Package: open5gs-bsf
129
 Architecture: any
130
 Multi-Arch: same
131
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
132
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
133
          ${misc:Depends},
134
          open5gs-common (= ${binary:Version})
135
 Description: BSF (Binding Support Function)
136
@@ -228,7 +228,7 @@
137
 Package: open5gs-udr
138
 Architecture: any
139
 Multi-Arch: same
140
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${shlibs:Depends},
141
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${shlibs:Depends},
142
          ${misc:Depends},
143
          open5gs-common (= ${binary:Version})
144
 Description: UDR (Unified Data Repository)
145
@@ -240,7 +240,7 @@
146
 Package: open5gs
147
 Architecture: any
148
 Multi-Arch: same
149
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${misc:Depends},
150
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${misc:Depends},
151
          open5gs-common (= ${binary:Version}),
152
          open5gs-mme (= ${binary:Version}),
153
          open5gs-sgwc (= ${binary:Version}),
154
@@ -266,7 +266,7 @@
155
 Package: open5gs-dbg
156
 Architecture: any
157
 Multi-Arch: same
158
-Depends: osmocom-nightly (= 1.0.0.202207210002), ${misc:Depends},
159
+Depends: osmocom-nightly (= 1.0.0.202207220002), ${misc:Depends},
160
          open5gs (= ${binary:Version})
161
 Description: Debug symbols for Open5GS
162
  Open5GS is a C-language implementation of 5G Core and EPC
163
open5gs_2.4.8.202207210002.tar.xz/docker/docker-compose.test.yml -> open5gs_2.4.8.202207220002.tar.xz/docker/docker-compose.test.yml Changed
7
 
1
@@ -15,4 +15,4 @@
2
     sysctls:
3
       - net.ipv6.conf.all.disable_ipv6=0
4
     hostname: open5gs-test
5
-    command: /bin/bash -c "/root/setup.sh; cd open5gs/build && meson test -v"
6
+    command: /bin/bash -c "/root/setup.sh; cd /open5gs/build && meson test -v"
7
open5gs_2.4.8.202207210002.tar.xz/lib/sbi/context.c -> open5gs_2.4.8.202207220002.tar.xz/lib/sbi/context.c Changed
26
 
1
@@ -1448,12 +1448,6 @@
2
 
3
     ogs_assert(xact);
4
 
5
-    xact = ogs_pool_cycle(&xact_pool, xact);
6
-    if (!xact) {
7
-        ogs_error("SBI transaction has already been removed");
8
-        return;
9
-    }
10
-
11
     sbi_object = xact->sbi_object;
12
     ogs_assert(sbi_object);
13
 
14
@@ -1477,6 +1471,11 @@
15
         ogs_sbi_xact_remove(xact);
16
 }
17
 
18
+ogs_sbi_xact_t *ogs_sbi_xact_cycle(ogs_sbi_xact_t *xact)
19
+{
20
+    return ogs_pool_cycle(&xact_pool, xact);
21
+}
22
+
23
 ogs_sbi_subscription_t *ogs_sbi_subscription_add(void)
24
 {
25
     ogs_sbi_subscription_t *subscription = NULL;
26
open5gs_2.4.8.202207210002.tar.xz/lib/sbi/context.h -> open5gs_2.4.8.202207220002.tar.xz/lib/sbi/context.h Changed
9
 
1
@@ -348,6 +348,7 @@
2
         void (*timer_cb)(void *data));
3
 void ogs_sbi_xact_remove(ogs_sbi_xact_t *xact);
4
 void ogs_sbi_xact_remove_all(ogs_sbi_object_t *sbi_object);
5
+ogs_sbi_xact_t *ogs_sbi_xact_cycle(ogs_sbi_xact_t *xact);
6
 
7
 ogs_sbi_subscription_t *ogs_sbi_subscription_add(void);
8
 void ogs_sbi_subscription_set_id(
9
open5gs_2.4.8.202207210002.tar.xz/src/amf/amf-sm.c -> open5gs_2.4.8.202207220002.tar.xz/src/amf/amf-sm.c Changed
79
 
1
@@ -357,6 +357,14 @@
2
             sbi_xact = e->sbi.data;
3
             ogs_assert(sbi_xact);
4
 
5
+            sbi_xact = ogs_sbi_xact_cycle(sbi_xact);
6
+            if (!sbi_xact) {
7
+                /* CLIENT_WAIT timer could remove SBI transaction
8
+                 * before receiving SBI message */
9
+                ogs_error("SBI transaction has already been removed");
10
+                break;
11
+            }
12
+
13
             amf_ue = (amf_ue_t *)sbi_xact->sbi_object;
14
             ogs_assert(amf_ue);
15
 
16
@@ -380,6 +388,14 @@
17
             sbi_xact = e->sbi.data;
18
             ogs_assert(sbi_xact);
19
 
20
+            sbi_xact = ogs_sbi_xact_cycle(sbi_xact);
21
+            if (!sbi_xact) {
22
+                /* CLIENT_WAIT timer could remove SBI transaction
23
+                 * before receiving SBI message */
24
+                ogs_error("SBI transaction has already been removed");
25
+                break;
26
+            }
27
+
28
             state = sbi_xact->state;
29
 
30
             ogs_sbi_xact_remove(sbi_xact);
31
@@ -489,6 +505,14 @@
32
             sbi_xact = e->sbi.data;
33
             ogs_assert(sbi_xact);
34
 
35
+            sbi_xact = ogs_sbi_xact_cycle(sbi_xact);
36
+            if (!sbi_xact) {
37
+                /* CLIENT_WAIT timer could remove SBI transaction
38
+                 * before receiving SBI message */
39
+                ogs_error("SBI transaction has already been removed");
40
+                break;
41
+            }
42
+
43
             sess = (amf_sess_t *)sbi_xact->sbi_object;
44
             ogs_assert(sess);
45
 
46
@@ -584,7 +608,7 @@
47
                 }
48
 
49
                 ogs_error("%s Cannot receive SBI message", amf_ue->suci);
50
-                ogs_assert(OGS_OK ==
51
+                ogs_expect(OGS_OK ==
52
                     nas_5gs_send_gmm_reject_from_sbi(amf_ue,
53
                         OGS_SBI_HTTP_STATUS_GATEWAY_TIMEOUT));
54
                 break;
55
@@ -601,12 +625,12 @@
56
                 ogs_error("%d:%d Cannot receive SBI message",
57
                         sess->psi, sess->pti);
58
                 if (sess->payload_container_type) {
59
-                    ogs_assert(OGS_OK ==
60
+                    ogs_expect(OGS_OK ==
61
                         nas_5gs_send_back_gsm_message(sess,
62
                             OGS_5GMM_CAUSE_PAYLOAD_WAS_NOT_FORWARDED,
63
                             AMF_NAS_BACKOFF_TIME));
64
                 } else {
65
-                    ogs_assert(OGS_OK ==
66
+                    ogs_expect(OGS_OK ==
67
                         ngap_send_error_indication2(amf_ue,
68
                             NGAP_Cause_PR_transport,
69
                             NGAP_CauseTransport_transport_resource_unavailable)
70
@@ -825,7 +849,7 @@
71
                 /* De-associate NG with NAS/EMM */
72
                 ran_ue_deassociate(amf_ue->ran_ue);
73
 
74
-                ogs_assert(OGS_OK ==
75
+                ogs_expect(OGS_OK ==
76
                     ngap_send_ran_ue_context_release_command(amf_ue->ran_ue,
77
                         NGAP_Cause_PR_nas, NGAP_CauseNas_normal_release,
78
                         NGAP_UE_CTX_REL_NG_CONTEXT_REMOVE, 0));
79
open5gs_2.4.8.202207210002.tar.xz/src/amf/event.c -> open5gs_2.4.8.202207220002.tar.xz/src/amf/event.c Changed
41
 
1
@@ -21,23 +21,28 @@
2
 #include "context.h"
3
 
4
 static OGS_POOL(pool, amf_event_t);
5
+static ogs_thread_mutex_t amf_event_alloc_mutex;
6
 
7
 void amf_event_init(void)
8
 {
9
     ogs_pool_init(&pool, ogs_app()->pool.event);
10
+    ogs_thread_mutex_init(&amf_event_alloc_mutex);
11
 }
12
 
13
 void amf_event_final(void)
14
 {
15
     ogs_pool_final(&pool);
16
+    ogs_thread_mutex_destroy(&amf_event_alloc_mutex);
17
 }
18
 
19
 amf_event_t *amf_event_new(amf_event_e id)
20
 {
21
     amf_event_t *e = NULL;
22
 
23
+    ogs_thread_mutex_lock(&amf_event_alloc_mutex);
24
     ogs_pool_alloc(&pool, &e);
25
-    if (!e) return NULL;
26
+    ogs_thread_mutex_unlock(&amf_event_alloc_mutex);
27
+    ogs_assert(e);
28
     memset(e, 0, sizeof(*e));
29
 
30
     e->id = id;
31
@@ -48,7 +53,9 @@
32
 void amf_event_free(amf_event_t *e)
33
 {
34
     ogs_assert(e);
35
+    ogs_thread_mutex_lock(&amf_event_alloc_mutex);
36
     ogs_pool_free(&pool, e);
37
+    ogs_thread_mutex_unlock(&amf_event_alloc_mutex);
38
 }
39
 
40
 const char *amf_event_get_name(amf_event_t *e)
41
open5gs_2.4.8.202207210002.tar.xz/src/amf/nas-path.c -> open5gs_2.4.8.202207220002.tar.xz/src/amf/nas-path.c Changed
63
 
1
@@ -24,13 +24,16 @@
2
 
3
 int nas_5gs_send_to_gnb(amf_ue_t *amf_ue, ogs_pkbuf_t *pkbuf)
4
 {
5
-    ran_ue_t *ran_ue = NULL;
6
+    ogs_assert(pkbuf);
7
 
8
-    ogs_assert(amf_ue);
9
-    ran_ue = ran_ue_cycle(amf_ue->ran_ue);
10
-    ogs_expect_or_return_val(ran_ue, OGS_ERROR);
11
+    amf_ue = amf_ue_cycle(amf_ue);
12
+    if (!amf_ue) {
13
+        ogs_warn("UE(amf-ue) context has already been removed");
14
+        ogs_pkbuf_free(pkbuf);
15
+        return OGS_ERROR;
16
+    }
17
 
18
-    return ngap_send_to_ran_ue(ran_ue, pkbuf);
19
+    return ngap_send_to_ran_ue(amf_ue->ran_ue, pkbuf);
20
 }
21
 
22
 int nas_5gs_send_to_downlink_nas_transport(amf_ue_t *amf_ue, ogs_pkbuf_t *pkbuf)
23
@@ -40,22 +43,29 @@
24
     ran_ue_t *ran_ue = NULL;
25
 
26
     ogs_assert(pkbuf);
27
-    ogs_assert(amf_ue);
28
+
29
+    amf_ue = amf_ue_cycle(amf_ue);
30
+    if (!amf_ue) {
31
+        ogs_warn("UE(amf-ue) context has already been removed");
32
+        ogs_pkbuf_free(pkbuf);
33
+        return OGS_ERROR;
34
+    }
35
+
36
     ran_ue = ran_ue_cycle(amf_ue->ran_ue);
37
     if (!ran_ue) {
38
         ogs_warn("NG context has already been removed");
39
         ogs_pkbuf_free(pkbuf);
40
-        return OGS_OK;
41
-    } else {
42
-        ngapbuf = ngap_build_downlink_nas_transport(
43
-                ran_ue, pkbuf, false, false);
44
-        ogs_expect_or_return_val(ngapbuf, OGS_ERROR);
45
+        return OGS_ERROR;
46
+    }
47
 
48
-        rv = nas_5gs_send_to_gnb(amf_ue, ngapbuf);
49
-        ogs_expect(rv == OGS_OK);
50
+    ngapbuf = ngap_build_downlink_nas_transport(
51
+            ran_ue, pkbuf, false, false);
52
+    ogs_expect_or_return_val(ngapbuf, OGS_ERROR);
53
 
54
-        return rv;
55
-    }
56
+    rv = nas_5gs_send_to_gnb(amf_ue, ngapbuf);
57
+    ogs_expect(rv == OGS_OK);
58
+
59
+    return rv;
60
 }
61
 
62
 int nas_5gs_send_registration_accept(amf_ue_t *amf_ue)
63
open5gs_2.4.8.202207210002.tar.xz/src/amf/ngap-build.c -> open5gs_2.4.8.202207220002.tar.xz/src/amf/ngap-build.c Changed
136
 
1
@@ -313,9 +313,10 @@
2
     NGAP_AllowedNSSAI_t *AllowedNSSAI = NULL;
3
 
4
     ogs_assert(gmmbuf);
5
+    ran_ue = ran_ue_cycle(ran_ue);
6
     ogs_assert(ran_ue);
7
-
8
-    amf_ue = ran_ue->amf_ue;
9
+    amf_ue = amf_ue_cycle(ran_ue->amf_ue);
10
+    ogs_assert(amf_ue);
11
 
12
     ogs_debug("DownlinkNASTransport");
13
 
14
@@ -468,6 +469,7 @@
15
     NGAP_MaskedIMEISV_t *MaskedIMEISV = NULL;
16
     NGAP_NAS_PDU_t *NAS_PDU = NULL;
17
 
18
+    amf_ue = amf_ue_cycle(amf_ue);
19
     ogs_assert(amf_ue);
20
     ran_ue = ran_ue_cycle(amf_ue->ran_ue);
21
     ogs_assert(ran_ue);
22
@@ -787,7 +789,7 @@
23
     NGAP_MaskedIMEISV_t *MaskedIMEISV = NULL;
24
 
25
     ogs_assert(sess);
26
-    amf_ue = sess->amf_ue;
27
+    amf_ue = amf_ue_cycle(sess->amf_ue);
28
     ogs_assert(amf_ue);
29
     ran_ue = ran_ue_cycle(amf_ue->ran_ue);
30
     ogs_assert(ran_ue);
31
@@ -1076,6 +1078,7 @@
32
     NGAP_UE_NGAP_IDs_t *UE_NGAP_IDs = NULL;
33
     NGAP_Cause_t *Cause = NULL;
34
 
35
+    ran_ue = ran_ue_cycle(ran_ue);
36
     ogs_assert(ran_ue);
37
 
38
     ogs_debug("UEContextReleaseCommand");
39
@@ -1151,6 +1154,7 @@
40
     NGAP_PDUSessionResourceSetupListSUReq_t *PDUSessionList = NULL;
41
     NGAP_PDUSessionResourceSetupItemSUReq_t *PDUSessionItem = NULL;
42
 
43
+    amf_ue = amf_ue_cycle(amf_ue);
44
     ogs_assert(amf_ue);
45
     ran_ue = ran_ue_cycle(amf_ue->ran_ue);
46
     ogs_assert(ran_ue);
47
@@ -1317,7 +1321,7 @@
48
     ogs_assert(n2smbuf);
49
     ogs_assert(sess);
50
 
51
-    amf_ue = sess->amf_ue;
52
+    amf_ue = amf_ue_cycle(sess->amf_ue);
53
     ogs_assert(amf_ue);
54
     ran_ue = ran_ue_cycle(amf_ue->ran_ue);
55
     ogs_assert(ran_ue);
56
@@ -1459,7 +1463,7 @@
57
     ogs_assert(n2smbuf);
58
     ogs_assert(sess);
59
 
60
-    amf_ue = sess->amf_ue;
61
+    amf_ue = amf_ue_cycle(sess->amf_ue);
62
     ogs_assert(amf_ue);
63
     ran_ue = ran_ue_cycle(amf_ue->ran_ue);
64
     ogs_assert(ran_ue);
65
@@ -1558,7 +1562,7 @@
66
     ogs_assert(n2smbuf);
67
     ogs_assert(sess);
68
 
69
-    amf_ue = sess->amf_ue;
70
+    amf_ue = amf_ue_cycle(sess->amf_ue);
71
     ogs_assert(amf_ue);
72
     ran_ue = ran_ue_cycle(amf_ue->ran_ue);
73
     ogs_assert(ran_ue);
74
@@ -1663,6 +1667,7 @@
75
     NGAP_TAIListForPagingItem_t *TAIItem = NULL;
76
     NGAP_TAI_t *tAI = NULL;
77
 
78
+    amf_ue = amf_ue_cycle(amf_ue);
79
     ogs_assert(amf_ue);
80
     ogs_debug("Paging");
81
 
82
@@ -1785,6 +1790,7 @@
83
     NGAP_PDUSessionResourceSwitchedList_t *PDUSessionResourceSwitchedList;
84
     NGAP_AllowedNSSAI_t *AllowedNSSAI = NULL;
85
 
86
+    amf_ue = amf_ue_cycle(amf_ue);
87
     ogs_assert(amf_ue);
88
     ran_ue = ran_ue_cycle(amf_ue->ran_ue);
89
     ogs_assert(ran_ue);
90
@@ -1951,8 +1957,9 @@
91
         *SourceToTarget_TransparentContainer = NULL;
92
     NGAP_GUAMI_t *GUAMI = NULL;
93
 
94
+    target_ue = ran_ue_cycle(target_ue);
95
     ogs_assert(target_ue);
96
-    amf_ue = target_ue->amf_ue;
97
+    amf_ue = amf_ue_cycle(target_ue->amf_ue);
98
     ogs_assert(amf_ue);
99
 
100
     ogs_debug("HandoverRequest");
101
@@ -2249,6 +2256,7 @@
102
     NGAP_RAN_UE_NGAP_ID_t *RAN_UE_NGAP_ID = NULL;
103
     NGAP_Cause_t *Cause = NULL;
104
 
105
+    source_ue = ran_ue_cycle(source_ue);
106
     ogs_assert(source_ue);
107
     ogs_assert(cause);
108
 
109
@@ -2332,8 +2340,9 @@
110
     NGAP_TargetToSource_TransparentContainer_t
111
         *TargetToSource_TransparentContainer = NULL;
112
 
113
+    source_ue = ran_ue_cycle(source_ue);
114
     ogs_assert(source_ue);
115
-    amf_ue = source_ue->amf_ue;
116
+    amf_ue = amf_ue_cycle(source_ue->amf_ue);
117
     ogs_assert(amf_ue);
118
 
119
     ogs_debug("HandoverCommand");
120
@@ -2449,6 +2458,7 @@
121
     NGAP_AMF_UE_NGAP_ID_t *AMF_UE_NGAP_ID = NULL;
122
     NGAP_RAN_UE_NGAP_ID_t *RAN_UE_NGAP_ID = NULL;
123
 
124
+    source_ue = ran_ue_cycle(source_ue);
125
     ogs_assert(source_ue);
126
 
127
     ogs_debug("HandoverCancelAcknowledge");
128
@@ -2513,6 +2523,7 @@
129
     NGAP_RANStatusTransfer_TransparentContainer_t
130
         *RANStatusTransfer_TransparentContainer = NULL;
131
 
132
+    target_ue = ran_ue_cycle(target_ue);
133
     ogs_assert(target_ue);
134
     ogs_assert(transfer);
135
 
136
open5gs_2.4.8.202207210002.tar.xz/src/amf/ngap-handler.c -> open5gs_2.4.8.202207220002.tar.xz/src/amf/ngap-handler.c Changed
11
 
1
@@ -4022,7 +4022,8 @@
2
          * where PartOfNG_interface was requested
3
          * REMOVED */
4
         ogs_assert(gnb->ng_reset_ack);
5
-        ngap_send_to_gnb(gnb, gnb->ng_reset_ack, NGAP_NON_UE_SIGNALLING);
6
+        ogs_expect(OGS_OK ==
7
+            ngap_send_to_gnb(gnb, gnb->ng_reset_ack, NGAP_NON_UE_SIGNALLING));
8
 
9
         /* Clear NG-Reset Ack Buffer */
10
         gnb->ng_reset_ack = NULL;
11
open5gs_2.4.8.202207210002.tar.xz/src/amf/ngap-path.c -> open5gs_2.4.8.202207220002.tar.xz/src/amf/ngap-path.c Changed
42
 
1
@@ -50,15 +50,15 @@
2
 {
3
     char bufOGS_ADDRSTRLEN;
4
 
5
-    ogs_assert(gnb);
6
+    ogs_assert(pkbuf);
7
+
8
     gnb = amf_gnb_cycle(gnb);
9
     if (!gnb) {
10
         ogs_warn("gNB has already been removed");
11
         ogs_pkbuf_free(pkbuf);
12
-        return OGS_OK;
13
+        return OGS_ERROR;
14
     }
15
 
16
-    ogs_assert(pkbuf);
17
     ogs_assert(gnb->sctp.sock);
18
     if (gnb->sctp.sock->fd == INVALID_SOCKET) {
19
         ogs_fatal("gNB SCTP socket has already been destroyed");
20
@@ -83,13 +83,16 @@
21
 
22
 int ngap_send_to_ran_ue(ran_ue_t *ran_ue, ogs_pkbuf_t *pkbuf)
23
 {
24
-    amf_gnb_t *gnb = NULL;
25
+    ogs_assert(pkbuf);
26
 
27
-    ogs_assert(ran_ue);
28
-    gnb = ran_ue->gnb;
29
-    ogs_assert(gnb);
30
+    ran_ue = ran_ue_cycle(ran_ue);
31
+    if (!ran_ue) {
32
+        ogs_warn("NG context has already been removed");
33
+        ogs_pkbuf_free(pkbuf);
34
+        return OGS_ERROR;
35
+    }
36
 
37
-    return ngap_send_to_gnb(gnb, pkbuf, ran_ue->gnb_ostream_id);
38
+    return ngap_send_to_gnb(ran_ue->gnb, pkbuf, ran_ue->gnb_ostream_id);
39
 }
40
 
41
 int ngap_delayed_send_to_ran_ue(
42
open5gs_2.4.8.202207210002.tar.xz/src/amf/nsmf-handler.c -> open5gs_2.4.8.202207220002.tar.xz/src/amf/nsmf-handler.c Changed
13
 
1
@@ -667,8 +667,9 @@
2
                          * where PartOfNG_interface was requested
3
                          * REMOVED */
4
                         ogs_assert(gnb->ng_reset_ack);
5
-                        ngap_send_to_gnb(
6
-                                gnb, gnb->ng_reset_ack, NGAP_NON_UE_SIGNALLING);
7
+                        ogs_expect(OGS_OK ==
8
+                            ngap_send_to_gnb(gnb,
9
+                                gnb->ng_reset_ack, NGAP_NON_UE_SIGNALLING));
10
 
11
                         /* Clear NG-Reset Ack Buffer */
12
                         gnb->ng_reset_ack = NULL;
13
open5gs_2.4.8.202207210002.tar.xz/src/ausf/ausf-sm.c -> open5gs_2.4.8.202207220002.tar.xz/src/ausf/ausf-sm.c Changed
16
 
1
@@ -279,6 +279,14 @@
2
             sbi_xact = e->sbi.data;
3
             ogs_assert(sbi_xact);
4
 
5
+            sbi_xact = ogs_sbi_xact_cycle(sbi_xact);
6
+            if (!sbi_xact) {
7
+                /* CLIENT_WAIT timer could remove SBI transaction
8
+                 * before receiving SBI message */
9
+                ogs_error("SBI transaction has already been removed");
10
+                break;
11
+            }
12
+
13
             ausf_ue = (ausf_ue_t *)sbi_xact->sbi_object;
14
             ogs_assert(ausf_ue);
15
 
16
open5gs_2.4.8.202207210002.tar.xz/src/pcf/pcf-sm.c -> open5gs_2.4.8.202207220002.tar.xz/src/pcf/pcf-sm.c Changed
46
 
1
@@ -395,6 +395,14 @@
2
                     sbi_xact = e->sbi.data;
3
                     ogs_assert(sbi_xact);
4
 
5
+                    sbi_xact = ogs_sbi_xact_cycle(sbi_xact);
6
+                    if (!sbi_xact) {
7
+                        /* CLIENT_WAIT timer could remove SBI transaction
8
+                         * before receiving SBI message */
9
+                        ogs_error("SBI transaction has already been removed");
10
+                        break;
11
+                    }
12
+
13
                     pcf_ue = (pcf_ue_t *)sbi_xact->sbi_object;
14
                     ogs_assert(pcf_ue);
15
 
16
@@ -423,6 +431,14 @@
17
                     sbi_xact = e->sbi.data;
18
                     ogs_assert(sbi_xact);
19
 
20
+                    sbi_xact = ogs_sbi_xact_cycle(sbi_xact);
21
+                    if (!sbi_xact) {
22
+                        /* CLIENT_WAIT timer could remove SBI transaction
23
+                         * before receiving SBI message */
24
+                        ogs_error("SBI transaction has already been removed");
25
+                        break;
26
+                    }
27
+
28
                     sess = (pcf_sess_t *)sbi_xact->sbi_object;
29
                     ogs_assert(sess);
30
 
31
@@ -474,6 +490,14 @@
32
                 sbi_xact = e->sbi.data;
33
                 ogs_assert(sbi_xact);
34
 
35
+                sbi_xact = ogs_sbi_xact_cycle(sbi_xact);
36
+                if (!sbi_xact) {
37
+                    /* CLIENT_WAIT timer could remove SBI transaction
38
+                     * before receiving SBI message */
39
+                    ogs_error("SBI transaction has already been removed");
40
+                    break;
41
+                }
42
+
43
                 sess = (pcf_sess_t *)sbi_xact->sbi_object;
44
                 ogs_assert(sess);
45
 
46
open5gs_2.4.8.202207210002.tar.xz/src/smf/smf-sm.c -> open5gs_2.4.8.202207220002.tar.xz/src/smf/smf-sm.c Changed
16
 
1
@@ -739,6 +739,14 @@
2
             sbi_xact = e->sbi.data;
3
             ogs_assert(sbi_xact);
4
 
5
+            sbi_xact = ogs_sbi_xact_cycle(sbi_xact);
6
+            if (!sbi_xact) {
7
+                /* CLIENT_WAIT timer could remove SBI transaction
8
+                 * before receiving SBI message */
9
+                ogs_error("SBI transaction has already been removed");
10
+                break;
11
+            }
12
+
13
             sess = (smf_sess_t *)sbi_xact->sbi_object;
14
             ogs_assert(sess);
15
 
16
open5gs_2.4.8.202207210002.tar.xz/src/udm/udm-sm.c -> open5gs_2.4.8.202207220002.tar.xz/src/udm/udm-sm.c Changed
16
 
1
@@ -313,6 +313,14 @@
2
                 sbi_xact = e->sbi.data;
3
                 ogs_assert(sbi_xact);
4
 
5
+                sbi_xact = ogs_sbi_xact_cycle(sbi_xact);
6
+                if (!sbi_xact) {
7
+                    /* CLIENT_WAIT timer could remove SBI transaction
8
+                     * before receiving SBI message */
9
+                    ogs_error("SBI transaction has already been removed");
10
+                    break;
11
+                }
12
+
13
                 udm_ue = (udm_ue_t *)sbi_xact->sbi_object;
14
                 ogs_assert(udm_ue);
15
 
16
open5gs_2.4.8.202207210002.tar.xz/tests/af/af-sm.c -> open5gs_2.4.8.202207220002.tar.xz/tests/af/af-sm.c Changed
16
 
1
@@ -294,6 +294,14 @@
2
                 sbi_xact = e->sbi.data;
3
                 ogs_assert(sbi_xact);
4
 
5
+                sbi_xact = ogs_sbi_xact_cycle(sbi_xact);
6
+                if (!sbi_xact) {
7
+                    /* CLIENT_WAIT timer could remove SBI transaction
8
+                     * before receiving SBI message */
9
+                    ogs_error("SBI transaction has already been removed");
10
+                    break;
11
+                }
12
+
13
                 sess = (af_sess_t *)sbi_xact->sbi_object;
14
                 ogs_assert(sess);
15
 
16