On Thu, 1 Apr 2010, Oleg Nesterov wrote: > > dump_header() always requires tasklist_lock to be held because it calls > > dump_tasks() which iterates through the tasklist. There are a few places > > where this isn't maintained, so make sure tasklist_lock is always held > > whenever calling dump_header(). > > Looks correct, but I'd suggest you to update the changelog. > > Not only dump_tasks() needs tasklist, oom_kill_process() needs it too > for list_for_each_entry(children). > > You fixed this: > > > @@ -724,8 +719,10 @@ void pagefault_out_of_memory(void) > > > > if (try_set_system_oom()) { > > constrained_alloc(NULL, 0, NULL, &totalpages); > > + read_lock(&tasklist_lock); > > err = oom_kill_process(current, 0, 0, 0, totalpages, NULL, > > "Out of memory (pagefault)"); > > + read_unlock(&tasklist_lock); > It's required for both that and because oom_kill_process() can call dump_header() which is mentioned in the changelog, so I don't think any update is needed. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>