Commit c98b2cc29af8e84e7364b53e9bb4cc7cfaf62555
Committed by
Jens Axboe
1 parent
fd63836811
Exists in
master
and in
38 other branches
block: remove WARN_ON_ONCE() in exit_io_context()
6e736be7 "block: make ioc get/put interface more conventional and fix race on alloction" added WARN_ON_ONCE() in exit_io_context() which triggers if !PF_EXITING. All tasks hitting exit_io_context() from task exit should have PF_EXITING set but task struct tearing down after fork failure calls into the function without PF_EXITING, triggering the condition. WARNING: at block/blk-ioc.c:234 exit_io_context+0x40/0x92() Pid: 17090, comm: trinity Not tainted 3.2.0-rc6-next-20111222-sasha-dirty #77 Call Trace: [<ffffffff810b69a3>] warn_slowpath_common+0x8f/0xb2 [<ffffffff810b6a77>] warn_slowpath_null+0x18/0x1a [<ffffffff8181a7a2>] exit_io_context+0x40/0x92 [<ffffffff810b58c9>] copy_process+0x126f/0x1453 [<ffffffff810b5c1b>] do_fork+0x120/0x3e9 [<ffffffff8106242f>] sys_clone+0x26/0x28 [<ffffffff82425803>] stub_clone+0x13/0x20 ---[ end trace a2e4eb670b375238 ]--- Reported-by: Sasha Levin <levinsasha928@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Showing 1 changed file with 0 additions and 3 deletions Side-by-side Diff
block/blk-ioc.c
... | ... | @@ -230,9 +230,6 @@ |
230 | 230 | { |
231 | 231 | struct io_context *ioc; |
232 | 232 | |
233 | - /* PF_EXITING prevents new io_context from being attached to @task */ | |
234 | - WARN_ON_ONCE(!(current->flags & PF_EXITING)); | |
235 | - | |
236 | 233 | task_lock(task); |
237 | 234 | ioc = task->io_context; |
238 | 235 | task->io_context = NULL; |