Skip to content
Snippets Groups Projects
  1. Jul 10, 2018
    • Aleksander Morgado's avatar
      iface-modem-time: make sure timezone context is cleaned up properly · a77beaa2
      Aleksander Morgado authored
      If we're going to overwrite the timezone context, make sure everything
      is cleaned up, including the signal handler. Otherwise, we may end up
      running the signal handler without a context attached:
      
          (gdb) bt
          #0  network_timezone_state_changed (self=0x6aa1e8) at mm-iface-modem-time.c:266
          #1  0x76a8d418 in g_closure_invoke (closure=0x6c9810, return_value=0x0, return_value@entry=0x1, n_param_values=2, param_values=0x7edb58c0, param_values@entry=0x6cdab8,
              invocation_hint=invocation_hint@entry=0x7edb585c) at gclosure.c:804
          #2  0x76a9e674 in signal_emit_unlocked_R (node=node@entry=0x6794d0, detail=0, detail@entry=391, instance=instance@entry=0x6aa1e8, emission_return=0x6794a8, emission_return@entry=0x0,
              instance_and_params=instance_and_params@entry=0x7edb58c0) at gsignal.c:3629
          #3  0x76aa31f4 in g_signal_emit_valist (instance=instance@entry=0x6aa1e8, signal_id=signal_id@entry=1, detail=detail@entry=6767564, var_args=..., var_args@entry=...) at gsignal.c:3385
          #4  0x76aa34ec in g_signal_emit (instance=instance@entry=0x6aa1e8, signal_id=signal_id@entry=1, detail=391) at gsignal.c:3441
          #5  0x76a91698 in g_object_dispatch_properties_changed (object=0x6aa1e8, n_pspecs=1, pspecs=<optimized out>) at gobject.c:1062
          #6  0x76a90e7c in g_object_notify_queue_thaw (object=object@entry=0x6aa1e8, nqueue=nqueue@entry=0x75409418) at gobject.c:296
          #7  0x76a9470c in g_object_set_valist (object=object@entry=0x6aa1e8, first_property_name=first_property_name@entry=0xad566 "iface-modem-state", var_args=..., var_args@entry=...) at gobject.c:2171
          #8  0x76a94b18 in g_object_set (_object=_object@entry=0x6aa1e8, first_property_name=0xad566 "iface-modem-state") at gobject.c:2275
          #9  0x0004b8a4 in __iface_modem_update_state_internal (self=0x6aa1e8, new_state=MM_MODEM_STATE_DISABLED, reason=MM_MODEM_STATE_CHANGE_REASON_USER_REQUESTED, failed_reason=MM_MODEM_STATE_FAILED_REASON_NONE)
              at mm-iface-modem.c:1487
          #10 0x0007047c in disabling_context_free (ctx=0x6ba850) at mm-broadband-modem.c:9053
          #11 0x76b4e538 in g_task_finalize (object=0x682488) at gtask.c:636
          #12 0x76a92800 in g_object_unref (_object=0x682488) at gobject.c:3183
          #13 0x00072154 in iface_modem_disable_ready (self=0x6aa1e8, result=0x7011b0, task=0x682488) at mm-broadband-modem.c:9101
          #14 0x76b4e6ec in g_task_return_now (task=0x7011b0) at gtask.c:1107
          #15 0x76b4e720 in complete_in_idle_cb (task=0x7011b0) at gtask.c:1121
          #16 0x7694d144 in g_main_dispatch (context=0x6765a8) at gmain.c:3154
          #17 g_main_context_dispatch (context=context@entry=0x6765a8) at gmain.c:3769
          #18 0x7694d40c in g_main_context_iterate (context=0x6765a8, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840
          #19 0x7694d838 in g_main_loop_run (loop=0x6750d0) at gmain.c:4034
          #20 0x0002bec0 in main (argc=<optimized out>, argv=<optimized out>) at main.c:181
      a77beaa2
    • Alexander Couzens's avatar
      blacklist: remove OpenMoko Hubs from the blacklist · 62334b60
      Alexander Couzens authored and Aleksander Morgado's avatar Aleksander Morgado committed
      The problem of full vendor blacklist are hubs.
      Because ATTRS{} matches all devices in the tree,
      a modem connected to a OpenMoko hub will be blacklisted as well.
      62334b60
  2. Jun 29, 2018
  3. Jun 27, 2018
    • Aleksander Morgado's avatar
      libmm-glib,location-gps-raw: plug memleak · 066c9c1e
      Aleksander Morgado authored
          ==8663== 1 bytes in 1 blocks are definitely lost in loss record 5 of 4,864
          ==8663==    at 0x4C2CEDF: malloc (vg_replace_malloc.c:299)
          ==8663==    by 0x669FAC9: g_malloc (in /usr/lib/libglib-2.0.so.0.5600.1)
          ==8663==    by 0x66B9AEA: g_strndup (in /usr/lib/libglib-2.0.so.0.5600.1)
          ==8663==    by 0x66ACE52: g_match_info_fetch (in /usr/lib/libglib-2.0.so.0.5600.1)
          ==8663==    by 0x4E96DD2: mm_location_gps_raw_add_trace (mm-location-gps-raw.c:208)
          ==8663==    by 0x18721E: mm_iface_modem_location_gps_update (mm-iface-modem-location.c:264)
          ==8663==    by 0x1B9C7F: loc_location_nmea_indication_cb (mm-shared-qmi.c:712)
          ==8663==    by 0x640C9E7: g_cclosure_marshal_VOID__BOXEDv (in /usr/lib/libgobject-2.0.so.0.5600.1)
          ==8663==    by 0x6409C95: ??? (in /usr/lib/libgobject-2.0.so.0.5600.1)
          ==8663==    by 0x64259E8: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.5600.1)
          ==8663==    by 0x642612F: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.5600.1)
          ==8663==    by 0x54AAB2D: process_indication (qmi-loc.c:7454)
      
      Reported by: Thomas Weißschuh <thomas@weissschuh.net>
      066c9c1e
  4. Jun 26, 2018
    • Aleksander Morgado's avatar
      broadband-modem-qmi: fix segfault due to NULL task context · 746cf54b
      Aleksander Morgado authored
          ModemManager[18223]: <debug> [1530023432.028473] Modem has 3GPP capabilities, enabling the Modem 3GPP interface...
      
          Thread 1 "ModemManager" received signal SIGSEGV, Segmentation fault.
          0x0000555555618baa in common_enable_disable_unsolicited_events_signal_strength (task=0x5555558e4440) at mm-broadband-modem-qmi.c:6545
          6545	    if (ctx->enable)
          (gdb) bt
          #0  0x0000555555618baa in common_enable_disable_unsolicited_events_signal_strength (task=0x5555558e4440) at mm-broadband-modem-qmi.c:6545
          #1  0x0000555555618d70 in common_enable_disable_unsolicited_events (self=0x55555597a3f0, enable=1, callback=0x5555555c8c20 <enable_unsolicited_events_ready>, user_data=0x5555559779b0)
              at mm-broadband-modem-qmi.c:6719
          #2  0x0000555555618e5b in modem_3gpp_enable_unsolicited_events (self=0x55555597a3f0, callback=0x5555555c8c20 <enable_unsolicited_events_ready>, user_data=0x5555559779b0) at mm-broadband-modem-qmi.c:6749
          #3  0x00005555555c9095 in interface_enabling_step (task=0x5555559779b0) at mm-iface-modem-3gpp.c:1907
          #4  0x00005555555c8c0a in setup_unsolicited_events_ready (self=0x55555597a3f0, res=0x5555558efad0, task=0x5555559779b0) at mm-iface-modem-3gpp.c:1795
          #5  0x00007ffff681e204 in  () at /usr/lib/libgio-2.0.so.0
          #6  0x00007ffff681e239 in  () at /usr/lib/libgio-2.0.so.0
          #7  0x00007ffff62731d6 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
          #8  0x00007ffff62735b1 in  () at /usr/lib/libglib-2.0.so.0
          #9  0x00007ffff62738e2 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
          #10 0x000055555559182c in main (argc=2, argv=0x7fffffffe4a8) at main.c:181
      
      Fixes: baefe53a
      746cf54b
  5. Jun 22, 2018
    • Brian, Sam's avatar
      port-serial: don't close tty file descriptor twice · bb9e9a92
      Brian, Sam authored and Aleksander Morgado's avatar Aleksander Morgado committed
      After the tty is opened, the fd is passed off to a GIOChannel which
      manages it. When the serial port is closed with _close_internal(),
      g_io_channel_shutdown() is called which then calls g_io_unix_close() which
      in turn close()s the fd.
      _close_internal() performs a second explicit close() after the
      g_io_channel_shutdown() which *in the best case scenario* will fail with
      EBADF.
      This is a race condition that can result in other file descriptors being
      closed.
      
      This change avoids double closing the serial port fd -- the shutdown() call
      is removed in favour of the explicit close().
      bb9e9a92
  6. Jun 19, 2018
  7. Jun 17, 2018
  8. Jun 13, 2018
    • Lubomir Rintel's avatar
      service: set User=root so that gio doesn't have to look into /etc/passwd · cf3f3ffc
      Lubomir Rintel authored and Aleksander Morgado's avatar Aleksander Morgado committed
      GVfs' libgvfsdbus.so GIo module, when automatically loaded, attempts to
      discover if there's a session D-Bus instance to use. It tries real hard
      to get the socket name it would use -- in absence of XDG_RUNTIME_DIR it
      decides to make it up with user's home directory. When HOME is unset
      too, it just tries to figure it out by looking into /etc/passwd. Which
      upsets SELinux that would better not see us looking into it.
      
      We trigger the load of the GIo modules, by using the GFile API to access
      the the ports in /dev. They're utterly uesless to us, but there doesn't
      seem to be a way to disable their load. Oh well.
      
      For now, let's just ensure HOME is set and the problematic path in glib
      is not taken.
      cf3f3ffc
  9. Jun 11, 2018
  10. Jun 10, 2018
  11. Jun 09, 2018
  12. Jun 02, 2018
Loading