Merge branch 'for-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
[firefly-linux-kernel-4.4.55.git] / mm / memory-failure.c
index 2f2f34a4e77de18e47bc815e3fd90ace33967e55..35ef28acf137c0ab76393ede3dbc1c3d820f5c37 100644 (file)
@@ -145,14 +145,10 @@ static int hwpoison_filter_task(struct page *p)
                return -EINVAL;
 
        css = mem_cgroup_css(mem);
-       /* root_mem_cgroup has NULL dentries */
-       if (!css->cgroup->dentry)
-               return -EINVAL;
-
-       ino = css->cgroup->dentry->d_inode->i_ino;
+       ino = cgroup_ino(css->cgroup);
        css_put(css);
 
-       if (ino != hwpoison_filter_memcg)
+       if (!ino || ino != hwpoison_filter_memcg)
                return -EINVAL;
 
        return 0;
@@ -1651,7 +1647,7 @@ int soft_offline_page(struct page *page, int flags)
 {
        int ret;
        unsigned long pfn = page_to_pfn(page);
-       struct page *hpage = compound_trans_head(page);
+       struct page *hpage = compound_head(page);
 
        if (PageHWPoison(page)) {
                pr_info("soft offline: %#lx page already poisoned\n", pfn);