Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Issue 1685093002: Fix bug with TaskQueueSelector and blocked queues (Closed)

Created:
4 years, 10 months ago by alex clarke (OOO till 29th)
Modified:
4 years, 10 months ago
Reviewers:
Sami
CC:
chromium-reviews, scheduler-bugs_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix bug with TaskQueueSelector and blocked queues The TaskQueueSelector is only supposed to touch the blocked_selector_ iff queue->should_report_when_execution_blocked() is true. Unfortunately TaskQueueSelector::EnableQueue unconditionally added queues to the blocked_selector_ leading to a potential UAF. BUG=581973, 584544, 582712, 585744 Committed: https://crrev.com/fae98b1d855879a11105a17be6b095fa4446f2da Cr-Commit-Position: refs/heads/master@{#374692}

Patch Set 1 #

Patch Set 2 : Improve the dcheck #

Total comments: 12

Patch Set 3 : Address nits plus fix some tests #

Patch Set 4 : Try to fix CrOS compile #

Patch Set 5 : Fix UAF #

Unified diffs Side-by-side diffs Delta from patch set Stats (+191 lines, -102 lines) Patch
M components/scheduler/base/task_queue_impl.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M components/scheduler/base/task_queue_manager.cc View 1 2 3 4 2 chunks +4 lines, -2 lines 0 comments Download
M components/scheduler/base/task_queue_selector.h View 1 2 2 chunks +10 lines, -3 lines 0 comments Download
M components/scheduler/base/task_queue_selector.cc View 1 2 3 10 chunks +71 lines, -36 lines 0 comments Download
M components/scheduler/base/task_queue_selector_unittest.cc View 1 2 5 chunks +9 lines, -3 lines 0 comments Download
M components/scheduler/base/work_queue.h View 1 chunk +4 lines, -2 lines 0 comments Download
M components/scheduler/base/work_queue.cc View 1 4 chunks +10 lines, -12 lines 0 comments Download
M components/scheduler/base/work_queue_sets.h View 1 2 2 chunks +9 lines, -3 lines 0 comments Download
M components/scheduler/base/work_queue_sets.cc View 1 2 3 4 5 chunks +29 lines, -5 lines 0 comments Download
M components/scheduler/base/work_queue_sets_unittest.cc View 15 chunks +42 lines, -33 lines 0 comments Download

Messages

Total messages: 26 (11 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1685093002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1685093002/1
4 years, 10 months ago (2016-02-10 12:22:08 UTC) #2
alex clarke (OOO till 29th)
PTAL
4 years, 10 months ago (2016-02-10 12:26:13 UTC) #5
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1685093002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1685093002/20001
4 years, 10 months ago (2016-02-10 12:26:36 UTC) #6
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromeos_x86-generic_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_x86-generic_chromium_compile_only_ng/builds/91423)
4 years, 10 months ago (2016-02-10 12:40:56 UTC) #8
Sami
Thanks for tracking this down -- great find! https://codereview.chromium.org/1685093002/diff/20001/components/scheduler/base/task_queue_selector.cc File components/scheduler/base/task_queue_selector.cc (right): https://codereview.chromium.org/1685093002/diff/20001/components/scheduler/base/task_queue_selector.cc#newcode35 components/scheduler/base/task_queue_selector.cc:35: DCHECK(!blocked_selector_.immediate_work_queue_sets() ...
4 years, 10 months ago (2016-02-10 13:15:48 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1685093002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1685093002/40001
4 years, 10 months ago (2016-02-10 14:35:55 UTC) #11
alex clarke (OOO till 29th)
PTAL https://codereview.chromium.org/1685093002/diff/20001/components/scheduler/base/task_queue_selector.cc File components/scheduler/base/task_queue_selector.cc (right): https://codereview.chromium.org/1685093002/diff/20001/components/scheduler/base/task_queue_selector.cc#newcode35 components/scheduler/base/task_queue_selector.cc:35: DCHECK(!blocked_selector_.immediate_work_queue_sets() On 2016/02/10 13:15:47, Sami wrote: > How ...
4 years, 10 months ago (2016-02-10 14:37:13 UTC) #12
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-generic_chromium_compile_only_ng/builds/91467)
4 years, 10 months ago (2016-02-10 14:52:40 UTC) #14
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1685093002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1685093002/60001
4 years, 10 months ago (2016-02-10 15:03:00 UTC) #16
Sami
lgtm with one suggestion. https://codereview.chromium.org/1685093002/diff/20001/components/scheduler/base/work_queue_sets.cc File components/scheduler/base/work_queue_sets.cc (right): https://codereview.chromium.org/1685093002/diff/20001/components/scheduler/base/work_queue_sets.cc#newcode27 components/scheduler/base/work_queue_sets.cc:27: enqueue_order_to_work_queue_maps_[set_index].insert( On 2016/02/10 14:37:12, alexclarke1 ...
4 years, 10 months ago (2016-02-10 15:30:38 UTC) #17
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/166376)
4 years, 10 months ago (2016-02-10 15:48:13 UTC) #19
alex clarke (OOO till 29th)
https://codereview.chromium.org/1685093002/diff/20001/components/scheduler/base/work_queue_sets.cc File components/scheduler/base/work_queue_sets.cc (right): https://codereview.chromium.org/1685093002/diff/20001/components/scheduler/base/work_queue_sets.cc#newcode27 components/scheduler/base/work_queue_sets.cc:27: enqueue_order_to_work_queue_maps_[set_index].insert( On 2016/02/10 15:30:38, Sami wrote: > On 2016/02/10 ...
4 years, 10 months ago (2016-02-10 17:26:08 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1685093002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1685093002/80001
4 years, 10 months ago (2016-02-10 17:28:14 UTC) #23
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 10 months ago (2016-02-10 18:48:31 UTC) #24
commit-bot: I haz the power
4 years, 10 months ago (2016-02-10 18:49:39 UTC) #26
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/fae98b1d855879a11105a17be6b095fa4446f2da
Cr-Commit-Position: refs/heads/master@{#374692}

Powered by Google App Engine
This is Rietveld 408576698