Messages in this thread | | | Date | Tue, 6 Apr 2010 09:28:58 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: Ugly rmap NULL ptr deref oopsie on hibernate (was Linux 2.6.34-rc3) |
| |
On Wed, 7 Apr 2010, Minchan Kim wrote: > > > > However, that made me look at the PAGE_MIGRATION case. That seems to be > > just broken. It's doing that page_anon_vma() + spin_lock without holding > > any RCU locks, so there is no guarantee that anon_vma there is at all > > valid. > > FYI, recently there is a patch about migration case. > http://lkml.org/lkml/2010/4/2/145
No, I'm talking about rmap_walk_anon():
anon_vma = page_anon_vma(page); if (!anon_vma) return ret; spin_lock(&anon_vma->lock);
which seems to be simply buggy. The anon_vma may not exist any more, because an RCU event might have really freed the page between looking it up and locking it.
Linus
| |