Messages in this thread | | | Date | Tue, 12 Feb 2013 09:37:37 -0800 | From | Tejun Heo <> | Subject | Re: [PATCH 1/2] stop_machine: check work->done while handling enqueued works |
| |
On Sun, Feb 10, 2013 at 01:22:43PM +0800, Hillf Danton wrote: > In cpu_stopper_thread(), @work->done may be NULL if the cpu stop work > is queued from stop_one_cpu_nowait(); however, cpu_stopper_thread() > updates @done->ret without checking whether @done exists or not when > the work function fails. > > While this can lead to oops, the only current user of > stop_one_cpu_nowait() - active_load_balance_cpu_stop() - always > returns 0 and thus there's no in-kernel user which triggers this bug. > > Fix it by checking whether @done exists before updating @done->ret. > > Thanks Tejun for sharing commit message. > > Signed-off-by: Hillf Danton <dhillf@gmail.com> > Reviewed-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Tejun Heo <tj@kernel.org>
Andrew, can you please take this?
Thanks.
-- tejun
| |