Re: [ 11/48] mm: correctly synchronize rss-counters at exit/exec

From: Ben Hutchings
Date: Sun Jul 01 2012 - 22:02:10 EST


On Sun, 2012-07-01 at 12:02 -0700, Hugh Dickins wrote:
> On Sun, 1 Jul 2012, Ben Hutchings wrote:
>
> > 3.2-stable review patch. If anyone has any objections, please let me know.
> >
> > ------------------
> >
> > From: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxx>
> >
> > commit 4fe7efdbdfb1c7e7a7f31decfd831c0f31d37091 upstream.
> >
> > do_exit() and exec_mmap() call sync_mm_rss() before mm_release() does
> > put_user(clear_child_tid) which can update task->rss_stat and thus make
> > mm->rss_stat inconsistent. This triggers the "BUG:" printk in check_mm().
> >
> > Let's fix this bug in the safest way, and optimize/cleanup this later.
> >
> > Reported-by: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx>
> > Signed-off-by: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxx>
> > Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
> > Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
> > Cc: Hugh Dickins <hughd@xxxxxxxxxx>
> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> > [bwh: Backported to 3.2: sync_mm_rss() still takes a struct task_struct *]
> > Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
>
> If you or Konstantin or Oleg have done full diligence on this,
> to ensure that it is really applicable to 3.2 (not just that
> the patch applies without rejects), fair enough.

I can't claim that, no.

> But I'd be cautious about it: it went through enough alternatives
> and revisions that I wouldn't call it trivial; it's easy for me to
> imagine that some of the affected paths were actually slightly different
> in 3.2 days than they were in 3.4 days; and the disturbing warning that
> these mods silence ("BUG: Bad rss-counter state ") did not exist before
> 3.4 - unless you've ported that too?

No.

> That's not to assert that we had no rss problem at all before 3.4,
> but we've not heard of any trouble from it. Caution tells me that
> this patch might cause more trouble than it's worth.

Then I'll assume this should be dropped unless Konstantin or Oleg speaks
up for it.

Ben.

--
Ben Hutchings
When in doubt, use brute force. - Ken Thompson

Attachment: signature.asc
Description: This is a digitally signed message part