diff options
-rw-r--r-- | src/svm/message_queue.c | 7 | ||||
-rw-r--r-- | src/vnet/session/session.c | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/src/svm/message_queue.c b/src/svm/message_queue.c index dc0f6251120..4f3e7642740 100644 --- a/src/svm/message_queue.c +++ b/src/svm/message_queue.c @@ -21,6 +21,7 @@ svm_msg_q_alloc (svm_msg_q_cfg_t * cfg) { svm_msg_q_ring_t *ring; svm_msg_q_t *mq; + uword size; int i; if (!cfg) @@ -39,8 +40,10 @@ svm_msg_q_alloc (svm_msg_q_cfg_t * cfg) if (cfg->ring_cfgs[i].data) ring->data = cfg->ring_cfgs[i].data; else - ring->data = clib_mem_alloc_aligned (ring->nitems * ring->elsize, - CLIB_CACHE_LINE_BYTES); + { + size = (uword) ring->nitems * ring->elsize; + ring->data = clib_mem_alloc_aligned (size, CLIB_CACHE_LINE_BYTES); + } } return mq; diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c index 7131f51cdda..26bc70e6fd7 100644 --- a/src/vnet/session/session.c +++ b/src/vnet/session/session.c @@ -1217,7 +1217,11 @@ session_vpp_event_queues_allocate (session_manager_main_t * smm) eqs->name = format (0, "%s%c", "evt-qs-segment", 0); eqs->requested_va = smm->session_baseva; - ssvm_master_init (eqs, SSVM_SEGMENT_MEMFD); + if (ssvm_master_init (eqs, SSVM_SEGMENT_MEMFD)) + { + clib_warning ("failed to initialize queue segment"); + return; + } } if (smm->evt_qs_use_memfd_seg) |