diff options
| -rw-r--r-- | mm/rmap.c | 3 |
1 files changed, 1 insertions, 2 deletions
| @@ -1564,10 +1564,9 @@ void __put_anon_vma(struct anon_vma *anon_vma) | |||
| 1564 | { | 1564 | { |
| 1565 | struct anon_vma *root = anon_vma->root; | 1565 | struct anon_vma *root = anon_vma->root; |
| 1566 | 1566 | ||
| 1567 | anon_vma_free(anon_vma); | ||
| 1567 | if (root != anon_vma && atomic_dec_and_test(&root->refcount)) | 1568 | if (root != anon_vma && atomic_dec_and_test(&root->refcount)) |
| 1568 | anon_vma_free(root); | 1569 | anon_vma_free(root); |
| 1569 | |||
| 1570 | anon_vma_free(anon_vma); | ||
| 1571 | } | 1570 | } |
| 1572 | 1571 | ||
| 1573 | static struct anon_vma *rmap_walk_anon_lock(struct page *page, | 1572 | static struct anon_vma *rmap_walk_anon_lock(struct page *page, |
