On 06/08, Konstantin Khlebnikov wrote: > > Oleg Nesterov wrote: >> On 06/08, Konstantin Khlebnikov wrote: >>> >>> As result you can see "BUG: Bad rss-counter state mm:ffff88040783a680 idx:1 >>> val:-1" in dmesg >>> >>> There left only one problem: nobody calls sync_mm_rss() after put_user() in >>> mm_release(). >> >> Both callers call sync_mm_rss() to make check_mm() happy. But please >> see the changelog, I think we should move it into mm_release(). See >> the patch below (on top of v2 I sent). I need to recheck. > > Patch below broken: it removes one hunk from kernel/exit.c twice. > And it does not add anything into mm_release().
Yes, sorry. But I guess you understand the intent, mm_release() should simply do sync_mm_rss() after put_user(clear_child_tid) unconditionally. If task->mm == NULL but task->rss_stat, then there is something wrong and probably OOPS makes sense. Oleg. -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
