lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 8 Mar 2022 15:14:23 +0100 From: David Hildenbrand <david@...hat.com> To: linux-kernel@...r.kernel.org Cc: Andrew Morton <akpm@...ux-foundation.org>, Hugh Dickins <hughd@...gle.com>, Linus Torvalds <torvalds@...ux-foundation.org>, David Rientjes <rientjes@...gle.com>, Shakeel Butt <shakeelb@...gle.com>, John Hubbard <jhubbard@...dia.com>, Jason Gunthorpe <jgg@...dia.com>, Mike Kravetz <mike.kravetz@...cle.com>, Mike Rapoport <rppt@...ux.ibm.com>, Yang Shi <shy828301@...il.com>, "Kirill A . Shutemov" <kirill.shutemov@...ux.intel.com>, Matthew Wilcox <willy@...radead.org>, Vlastimil Babka <vbabka@...e.cz>, Jann Horn <jannh@...gle.com>, Michal Hocko <mhocko@...nel.org>, Nadav Amit <namit@...are.com>, Rik van Riel <riel@...riel.com>, Roman Gushchin <guro@...com>, Andrea Arcangeli <aarcange@...hat.com>, Peter Xu <peterx@...hat.com>, Donald Dutile <ddutile@...hat.com>, Christoph Hellwig <hch@....de>, Oleg Nesterov <oleg@...hat.com>, Jan Kara <jack@...e.cz>, Liang Zhang <zhangliang5@...wei.com>, Pedro Gomes <pedrodemargomes@...il.com>, Oded Gabbay <oded.gabbay@...il.com>, linux-mm@...ck.org, David Hildenbrand <david@...hat.com>, Khalid Aziz <khalid.aziz@...cle.com> Subject: [PATCH v1 01/15] mm/rmap: fix missing swap_free() in try_to_unmap() after arch_unmap_one() failed In case arch_unmap_one() fails, we already did a swap_duplicate(). let's undo that properly via swap_free(). Fixes: ca827d55ebaa ("mm, swap: Add infrastructure for saving page metadata on swap") Reviewed-by: Khalid Aziz <khalid.aziz@...cle.com> Signed-off-by: David Hildenbrand <david@...hat.com> --- mm/rmap.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mm/rmap.c b/mm/rmap.c index 6a1e8c7f6213..f825aeef61ca 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -1625,6 +1625,7 @@ static bool try_to_unmap_one(struct page *page, struct vm_area_struct *vma, break; } if (arch_unmap_one(mm, vma, address, pteval) < 0) { + swap_free(entry); set_pte_at(mm, address, pvmw.pte, pteval); ret = false; page_vma_mapped_walk_done(&pvmw); -- 2.35.1
Powered by blists - more mailing lists