Neels Hofmeyr has submitted this change and it was merged.

Change subject: segfault: context_map gc: use llist_for_each_entry_safe()
......................................................................


segfault: context_map gc: use llist_for_each_entry_safe()

The context map garbage collector removes entries from the list, hence it must
use llist_for_each_entry_safe().

We haven't hit this before since nothing is yet flagging context maps to be
discarded.

Related: OS#2776
Change-Id: I9d5899923054d1bf862d542fec862fb1e6f07dce
---
M src/context_map.c
1 file changed, 2 insertions(+), 2 deletions(-)

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



diff --git a/src/context_map.c b/src/context_map.c
index 0c891cf..dca276a 100644
--- a/src/context_map.c
+++ b/src/context_map.c
@@ -146,10 +146,10 @@
 {
        struct hnb_gw *gw = data;
        struct hnbgw_cnlink *cn = gw->sccp.cnlink;
-       struct hnbgw_context_map *map;
+       struct hnbgw_context_map *map, *next_map;
 
        DEBUGP(DMAIN, "Running context mapper garbage collection\n");
-       llist_for_each_entry(map, &cn->map_list, cn_list) {
+       llist_for_each_entry_safe(map, next_map, &cn->map_list, cn_list) {
                switch (map->state) {
                case MAP_S_RESERVED1:
                        /* first time we see this reserved

-- 
To view, visit https://gerrit.osmocom.org/5574
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I9d5899923054d1bf862d542fec862fb1e6f07dce
Gerrit-PatchSet: 1
Gerrit-Project: osmo-iuh
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <[email protected]>
Gerrit-Reviewer: Harald Welte <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Neels Hofmeyr <[email protected]>

Reply via email to