diff options
author | kib <kib@FreeBSD.org> | 2018-02-20 10:35:13 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2018-02-20 10:35:13 +0000 |
commit | f16756fb14003abccd0f896cb8e0e13283bfa386 (patch) | |
tree | 3c30f513a057c681d9798ec79b34365062558d7c | |
parent | 16e6d7fe7fe6c6aaef69d2d48fce97925fd821a0 (diff) | |
download | FreeBSD-src-f16756fb14003abccd0f896cb8e0e13283bfa386.zip FreeBSD-src-f16756fb14003abccd0f896cb8e0e13283bfa386.tar.gz |
MFC r329216:
linuxkpi: Do not leak pages on put.
-rw-r--r-- | sys/compat/linuxkpi/common/include/linux/mm.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h index a649c8c..e9e2f3b 100644 --- a/sys/compat/linuxkpi/common/include/linux/mm.h +++ b/sys/compat/linuxkpi/common/include/linux/mm.h @@ -243,7 +243,8 @@ static inline void put_page(struct vm_page *page) { vm_page_lock(page); - vm_page_unwire(page, PQ_ACTIVE); + if (vm_page_unwire(page, PQ_ACTIVE) && page->object == NULL) + vm_page_free(page); vm_page_unlock(page); } |