diff --git a/libcfs/libcfs/linux/linux-mem.c b/libcfs/libcfs/linux/linux-mem.c
index 20f3667363ccdb8f7a55bd783d147af7b049a62b..fffbd0cb01925ab74b0ce5a2cd0bfae6e0183c0b 100644
--- a/libcfs/libcfs/linux/linux-mem.c
+++ b/libcfs/libcfs/linux/linux-mem.c
@@ -164,7 +164,7 @@ int cfs_mem_is_in_cache(const void *addr, const cfs_mem_cache_t *kmem)
          */
         page = virt_to_page(addr);
         if (unlikely(PageCompound(page)))
-                page = (struct page *)page_private(page);
+                page = (struct page *)page->private;
         return PageSlab(page) && ((void *)page->lru.next) == kmem;
 }
 EXPORT_SYMBOL(cfs_mem_is_in_cache);