Am 16.08.2013 18:12, schrieb Tejun Heo: > On Fri, Aug 16, 2013 at 05:56:46PM +0200, Richard Weinberger wrote: >> The function has a nice comment: >> /* >> * This function is called without any synchronization and @task >> * could be in any state. Be careful with dereferences. >> */ >> >> But a few lines later it blindly dereferences a few pointers. >> E.g. It can happen that the worker function is already done, >> then worker->current_pwq is NULL. > ... >> probe_kernel_read(&fn, &worker->current_func, sizeof(fn)); >> probe_kernel_read(&pwq, &worker->current_pwq, sizeof(pwq)); >> + if (!pwq) >> + goto print; >> + >> probe_kernel_read(&wq, &pwq->wq, sizeof(wq)); >> + if (!wq) >> + goto print; >> + > > But none of the above are dereferences. &ptr->field is offset > calculation, not a dereference.
On UML I hit the case that pwq is NULL. Then we oops at &pwq->wq... Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

