dexter has submitted this change. (
https://gerrit.osmocom.org/c/libosmo-abis/+/32569 )
Change subject: e1d: get rid of strange file descriptor registered check
......................................................................
e1d: get rid of strange file descriptor registered check
When the line update happens the list.next member of the file descriptor
is checked for NULL and != LLIST_POISON1. This directly tampers with the
llist API and might be problematic. Also we can tell by the file
descriptor number if the file descriptor is registered or not. An open
file descriptor is always registered.
Change-Id: I92c426271dc5455427471030fcf0749566e4c2ee
Related: OS#5983
---
M src/input/e1d.c
1 file changed, 18 insertions(+), 2 deletions(-)
Approvals:
pespin: Looks good to me, but someone else must approve
Jenkins Builder: Verified
laforge: Looks good to me, approved
diff --git a/src/input/e1d.c b/src/input/e1d.c
index e1a1526..cf50e27 100644
--- a/src/input/e1d.c
+++ b/src/input/e1d.c
@@ -410,8 +410,8 @@
struct e1inp_ts *e1i_ts = &line->ts[idx];
struct osmo_fd *bfd = &e1i_ts->driver.e1d.fd;
- /* unregister FD if it was already registered */
- if (bfd->list.next && bfd->list.next != LLIST_POISON1)
+ /* unregister FD if it was already registered/in use */
+ if (osmo_fd_is_registered(bfd))
osmo_fd_unregister(bfd);
if (e1i_ts->type != E1INP_TS_TYPE_NONE && ts >= num_ts_info) {
--
To view, visit
https://gerrit.osmocom.org/c/libosmo-abis/+/32569
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: I92c426271dc5455427471030fcf0749566e4c2ee
Gerrit-Change-Number: 32569
Gerrit-PatchSet: 4
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: tnt <tnt(a)246tNt.com>
Gerrit-MessageType: merged