F2FS_DIRTY_DENTS : F2FS_DIRTY_DATA));
                return 0;
        }
-       fi = list_entry(head->next, struct f2fs_inode_info, dirty_list);
+       fi = list_first_entry(head, struct f2fs_inode_info, dirty_list);
        inode = igrab(&fi->vfs_inode);
        spin_unlock(&sbi->inode_lock[type]);
        if (inode) {
                        spin_unlock(&sbi->inode_lock[DIRTY_META]);
                        return 0;
                }
-               fi = list_entry(head->next, struct f2fs_inode_info,
+               fi = list_first_entry(head, struct f2fs_inode_info,
                                                        gdirty_list);
                inode = igrab(&fi->vfs_inode);
                spin_unlock(&sbi->inode_lock[DIRTY_META]);
 
 
                prefetchw(&page->flags);
                if (pages) {
-                       page = list_entry(pages->prev, struct page, lru);
+                       page = list_last_entry(pages, struct page, lru);
                        list_del(&page->lru);
                        if (add_to_page_cache_lru(page, mapping,
                                                  page->index,
                        struct list_head *pages, unsigned nr_pages)
 {
        struct inode *inode = file->f_mapping->host;
-       struct page *page = list_entry(pages->prev, struct page, lru);
+       struct page *page = list_last_entry(pages, struct page, lru);
 
        trace_f2fs_readpages(inode, page, nr_pages);
 
 
                spin_unlock(&nm_i->nid_list_lock);
                return;
        }
-       fnid = list_entry(nm_i->nid_list[FREE_NID_LIST].next,
+       fnid = list_first_entry(&nm_i->nid_list[FREE_NID_LIST],
                                                struct free_nid, list);
        *nid = fnid->nid;
        spin_unlock(&nm_i->nid_list_lock);