mm: memory-failure: use helper macro llist_for_each_entry_safe()
authorMiaohe Lin <linmiaohe@huawei.com>
Mon, 7 Aug 2023 11:41:25 +0000 (19:41 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 21 Aug 2023 20:37:47 +0000 (13:37 -0700)
It's more convenient to use helper macro llist_for_each_entry_safe().
No functional change intended.

Link: https://lkml.kernel.org/r/20230807114125.3440802-1-linmiaohe@huawei.com
Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Acked-by: Naoya Horiguchi <naoya.horiguchi@nec.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/memory-failure.c

index adb0dac..976747d 100644 (file)
@@ -1868,13 +1868,12 @@ bool is_raw_hwpoison_page_in_hugepage(struct page *page)
 
 static unsigned long __folio_free_raw_hwp(struct folio *folio, bool move_flag)
 {
-       struct llist_node *t, *tnode, *head;
+       struct llist_node *head;
+       struct raw_hwp_page *p, *next;
        unsigned long count = 0;
 
        head = llist_del_all(raw_hwp_list_head(folio));
-       llist_for_each_safe(tnode, t, head) {
-               struct raw_hwp_page *p = container_of(tnode, struct raw_hwp_page, node);
-
+       llist_for_each_entry_safe(p, next, head, node) {
                if (move_flag)
                        SetPageHWPoison(p->page);
                else
@@ -1889,7 +1888,7 @@ static int folio_set_hugetlb_hwpoison(struct folio *folio, struct page *page)
 {
        struct llist_head *head;
        struct raw_hwp_page *raw_hwp;
-       struct llist_node *t, *tnode;
+       struct raw_hwp_page *p, *next;
        int ret = folio_test_set_hwpoison(folio) ? -EHWPOISON : 0;
 
        /*
@@ -1900,9 +1899,7 @@ static int folio_set_hugetlb_hwpoison(struct folio *folio, struct page *page)
        if (folio_test_hugetlb_raw_hwp_unreliable(folio))
                return -EHWPOISON;
        head = raw_hwp_list_head(folio);
-       llist_for_each_safe(tnode, t, head->first) {
-               struct raw_hwp_page *p = container_of(tnode, struct raw_hwp_page, node);
-
+       llist_for_each_entry_safe(p, next, head->first, node) {
                if (p->page == page)
                        return -EHWPOISON;
        }