fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/27005 )
Change subject: gsm_utils: use talloc API in gsm_7bit_encode_n()
......................................................................
Abandoned
In favor of I6956cbd83b2999dbcf8e2d210134b0a166c33efb.
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/27005
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I8a38c493eff25b4f16af1740a1bcecb5098673d9
Gerrit-Change-Number: 27005
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-MessageType: abandon
fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/27004 )
Change subject: gsm_utils: get rid of calloc() / free() in gsm_septets2octets()
......................................................................
Abandoned
This patch predates Ib1aac538afeb0a5c76a1df472d555139a496e12e, which changes typeof(septet_len) to size_t.
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/27004
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Id2bb31b4d00bb91d3dcc302910e5d2da95be9a25
Gerrit-Change-Number: 27004
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-MessageType: abandon
Attention is currently required from: fixeria.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/27005
to look at the new patch set (#2).
Change subject: gsm_utils: use talloc API in gsm_7bit_encode_n()
......................................................................
gsm_utils: use talloc API in gsm_7bit_encode_n()
Unfortunately, in this case we cannot make any assumptions on the
maximum size of the input string, so we cannot allocate the buffer
on the stack. Let's at least use talloc API.
Change-Id: I8a38c493eff25b4f16af1740a1bcecb5098673d9
---
M src/gsm/gsm_utils.c
1 file changed, 2 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/05/27005/2
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/27005
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I8a38c493eff25b4f16af1740a1bcecb5098673d9
Gerrit-Change-Number: 27005
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/27005 )
Change subject: gsm_utils: use talloc API in gsm_7bit_encode_n()
......................................................................
gsm_utils: use talloc API in gsm_7bit_encode_n()
Unfortunately, in this case we cannot make any assumptions on the
maximum size of the input string, so we cannot allocate the buffer
on the stack. Let's at least use talloc API.
Change-Id: I8a38c493eff25b4f16af1740a1bcecb5098673d9
---
M src/gsm/gsm_utils.c
1 file changed, 2 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/05/27005/1
diff --git a/src/gsm/gsm_utils.c b/src/gsm/gsm_utils.c
index ba24291..511de79 100644
--- a/src/gsm/gsm_utils.c
+++ b/src/gsm/gsm_utils.c
@@ -382,7 +382,7 @@
size_t max_septets = n * 8 / 7;
/* prepare for the worst case, every character expanding to two bytes */
- uint8_t *rdata = calloc(strlen(data) * 2, sizeof(uint8_t));
+ uint8_t *rdata = talloc_zero(OTC_GLOBAL, strlen(data) * 2);
y = gsm_septet_encode(rdata, data);
if (y > max_septets) {
@@ -398,7 +398,7 @@
if (octets)
*octets = o;
- free(rdata);
+ talloc_free(rdata);
/*
* We don't care about the number of octets, because they are not
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/27005
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I8a38c493eff25b4f16af1740a1bcecb5098673d9
Gerrit-Change-Number: 27005
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/27004 )
Change subject: gsm_utils: get rid of calloc() / free() in gsm_septets2octets()
......................................................................
gsm_utils: get rid of calloc() / free() in gsm_septets2octets()
Given that 'septet_len' is of type 'uint8_t', plus one optional
padding octet, the maximum buffer size is 256. No need to use
the heap for that, a buffer on the stack is enough in this case.
Change-Id: Id2bb31b4d00bb91d3dcc302910e5d2da95be9a25
---
M src/gsm/gsm_utils.c
1 file changed, 1 insertion(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/04/27004/1
diff --git a/src/gsm/gsm_utils.c b/src/gsm/gsm_utils.c
index f8bb58e..ba24291 100644
--- a/src/gsm/gsm_utils.c
+++ b/src/gsm/gsm_utils.c
@@ -322,10 +322,10 @@
* \returns number of bytes used in \a result */
int gsm_septet_pack(uint8_t *result, const uint8_t *rdata, size_t septet_len, uint8_t padding)
{
+ uint8_t data[UINT8_MAX + 1] = { 0 };
int i = 0, z = 0;
uint8_t cb, nb;
int shift = 0;
- uint8_t *data = calloc(septet_len + 1, sizeof(uint8_t));
if (padding) {
shift = 7 - padding;
@@ -360,8 +360,6 @@
shift++;
}
- free(data);
-
return z;
}
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/27004
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: Id2bb31b4d00bb91d3dcc302910e5d2da95be9a25
Gerrit-Change-Number: 27004
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: neels, daniel, dexter.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-iuh/+/27002 )
Change subject: ranap_common_cn: add functions for direct access to decoder
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-iuh/+/27002
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-iuh
Gerrit-Branch: master
Gerrit-Change-Id: I14d2ed8e597a5d12024a6a6c72ff011dbeb2549d
Gerrit-Change-Number: 27002
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: daniel <dwillmann(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 28 Jan 2022 16:58:02 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-uecups/+/27003 )
Change subject: daemon: enable multithread logging in main()
......................................................................
daemon: enable multithread logging in main()
It may happen that multiple threads trying to log at the same time,
and the msgb containing a logging message gets corrupted in
libosmocore's _file_wq_write_cb():
msgb(0x7f5ca2a38150): msgb too small to pull 240 (len 120)
Aborted (core dumped)
'''
rc = write(ofd->fd, msgb_data(msg), msgb_length(msg));
if (rc < 0)
return rc;
if (rc != msgb_length(msg)) { // 240 != 120
/* pull the number of bytes we have already written */
msgb_pull(msg, rc); // <-- we abort() here
/* ask write_queue to re-insert the msgb at the head of the queue */
return -EAGAIN;
}
'''
The return value of write() cannot be greater than the given length.
Most likely, the msgb gets corrupted during the write() system call.
Enabling multithread logging in libosmocore solves the problem.
Change-Id: Ib14d0e36e8cd72465bfe55d19b68dbe3423f7f05
Related: SYS#5602
Fixes: OS#5424
---
M daemon/main.c
1 file changed, 1 insertion(+), 0 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/daemon/main.c b/daemon/main.c
index fec6f84..788ed70 100644
--- a/daemon/main.c
+++ b/daemon/main.c
@@ -726,6 +726,7 @@
osmo_init_ignore_signals();
osmo_init_logging2(g_tall_ctx, &log_info);
+ log_enable_multithread();
g_daemon = gtp_daemon_alloc(g_tall_ctx);
OSMO_ASSERT(g_daemon);
--
To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/27003
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-uecups
Gerrit-Branch: master
Gerrit-Change-Id: Ib14d0e36e8cd72465bfe55d19b68dbe3423f7f05
Gerrit-Change-Number: 27003
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: merged
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-uecups/+/27003 )
Change subject: daemon: enable multithread logging in main()
......................................................................
daemon: enable multithread logging in main()
It may happen that multiple threads trying to log at the same time,
and the msgb containing a logging message gets corrupted in
libosmocore's _file_wq_write_cb():
msgb(0x7f5ca2a38150): msgb too small to pull 240 (len 120)
Aborted (core dumped)
'''
rc = write(ofd->fd, msgb_data(msg), msgb_length(msg));
if (rc < 0)
return rc;
if (rc != msgb_length(msg)) { // 240 != 120
/* pull the number of bytes we have already written */
msgb_pull(msg, rc); // <-- we abort() here
/* ask write_queue to re-insert the msgb at the head of the queue */
return -EAGAIN;
}
'''
The return value of write() cannot be greater than the given length.
Most likely, the msgb gets corrupted during the write() system call.
Enabling multithread logging in libosmocore solves the problem.
Change-Id: Ib14d0e36e8cd72465bfe55d19b68dbe3423f7f05
Related: SYS#5602
Fixes: OS#5424
---
M daemon/main.c
1 file changed, 1 insertion(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-uecups refs/changes/03/27003/1
diff --git a/daemon/main.c b/daemon/main.c
index fec6f84..788ed70 100644
--- a/daemon/main.c
+++ b/daemon/main.c
@@ -726,6 +726,7 @@
osmo_init_ignore_signals();
osmo_init_logging2(g_tall_ctx, &log_info);
+ log_enable_multithread();
g_daemon = gtp_daemon_alloc(g_tall_ctx);
OSMO_ASSERT(g_daemon);
--
To view, visit https://gerrit.osmocom.org/c/osmo-uecups/+/27003
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-uecups
Gerrit-Branch: master
Gerrit-Change-Id: Ib14d0e36e8cd72465bfe55d19b68dbe3423f7f05
Gerrit-Change-Number: 27003
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange