summaryrefslogtreecommitdiffstats
path: root/mm/swapfile.c
diff options
context:
space:
mode:
authorGeliang Tang2016-01-15 00:21:49 +0100
committerLinus Torvalds2016-01-15 01:00:49 +0100
commit0d576d20ccdeffbb7ba28053107fa6f838b67f3a (patch)
treefe024b2dc63a6010d49a852c7f21e03268962ddb /mm/swapfile.c
parentmm: /proc/pid/clear_refs: no need to clear VM_SOFTDIRTY in clear_soft_dirty_p... (diff)
downloadkernel-qcow2-linux-0d576d20ccdeffbb7ba28053107fa6f838b67f3a.tar.gz
kernel-qcow2-linux-0d576d20ccdeffbb7ba28053107fa6f838b67f3a.tar.xz
kernel-qcow2-linux-0d576d20ccdeffbb7ba28053107fa6f838b67f3a.zip
mm/swapfile.c: use list_for_each_entry_safe in free_swap_count_continuations
Use list_for_each_entry_safe() instead of list_for_each_safe() to simplify the code. Signed-off-by: Geliang Tang <geliangtang@163.com> Cc: Hugh Dickins <hughd@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/swapfile.c')
-rw-r--r--mm/swapfile.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/mm/swapfile.c b/mm/swapfile.c
index 77551a553f57..e6b8591a3ed2 100644
--- a/mm/swapfile.c
+++ b/mm/swapfile.c
@@ -2953,11 +2953,10 @@ static void free_swap_count_continuations(struct swap_info_struct *si)
struct page *head;
head = vmalloc_to_page(si->swap_map + offset);
if (page_private(head)) {
- struct list_head *this, *next;
- list_for_each_safe(this, next, &head->lru) {
- struct page *page;
- page = list_entry(this, struct page, lru);
- list_del(this);
+ struct page *page, *next;
+
+ list_for_each_entry_safe(page, next, &head->lru, lru) {
+ list_del(&page->lru);
__free_page(page);
}
}