atomic_t compound_pincount;
 #ifdef CONFIG_64BIT
                        unsigned int compound_nr; /* 1 << compound_order */
+                       unsigned long _private_1;
 #endif
                };
                struct {        /* Second tail page of compound page */
  * @_total_mapcount: Do not use directly, call folio_entire_mapcount().
  * @_pincount: Do not use directly, call folio_maybe_dma_pinned().
  * @_folio_nr_pages: Do not use directly, call folio_nr_pages().
+ * @_private_1: Do not use directly, call folio_get_private_1().
  *
  * A folio is a physically, virtually and logically contiguous set
  * of bytes.  It is a power-of-two in size, and it is aligned to that
 #ifdef CONFIG_64BIT
        unsigned int _folio_nr_pages;
 #endif
+       unsigned long _private_1;
 };
 
 #define FOLIO_MATCH(pg, fl)                                            \
 FOLIO_MATCH(compound_pincount, _pincount);
 #ifdef CONFIG_64BIT
 FOLIO_MATCH(compound_nr, _folio_nr_pages);
+FOLIO_MATCH(_private_1, _private_1);
 #endif
 #undef FOLIO_MATCH
 
        return folio->private;
 }
 
+static inline void folio_set_private_1(struct folio *folio, unsigned long private)
+{
+       folio->_private_1 = private;
+}
+
+static inline unsigned long folio_get_private_1(struct folio *folio)
+{
+       return folio->_private_1;
+}
+
 struct page_frag_cache {
        void * va;
 #if (PAGE_SIZE < PAGE_FRAG_CACHE_MAX_SIZE)