commit | a88e395316bf2d04f4998e397c50b7ffe5e6db7c | [log] [tgz] |
---|---|---|
author | Prathmesh Prabhu <pprabhu@chromium.org> | Fri Aug 15 18:05:51 2014 -0700 |
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | Sat Aug 16 16:49:43 2014 +0000 |
tree | 045d36b4c97843d596f550a0c766fa7c15d65e81 | |
parent | 69e32cd08a5b727cfbb9b6bd6db866ab3f07c486 [diff] |
shill: Bearer disconnect should not process deferred registration drop. On a connected cellular service, shill defers a registration drop to smooth over network glitches. If the user disconnects while the registration update is deferred, we used to process the deferred drop synchronously in the disconnect code path. This led to memory corruption that could lead to shill crash. The right thing is to leave the deferred registration update untouched -- it will eventually get processed, and if the service is still alive, it will destroy the service. BUG=chromium:403082 TEST=(1) Using the shill patch attached on the bug, verify that shill does not crash in the event of a deferred registration drop. (2) Manually test that if the user disconnects during the 15 seconds after the registration drop, the service is eventually destroyed. Change-Id: Icfb9306e944c1eafea1f9f45f9b8d7797c9992be Reviewed-on: https://chromium-review.googlesource.com/212765 Tested-by: Prathmesh Prabhu <pprabhu@chromium.org> Reviewed-by: Ben Chan <benchan@chromium.org> Commit-Queue: Prathmesh Prabhu <pprabhu@chromium.org>