From: kernel test robot <lkp@intel.com>
To: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
Andrew Morton <akpm@linux-foundation.org>
Cc: oe-kbuild-all@lists.linux.dev,
Linux Memory Management List <linux-mm@kvack.org>,
Christian Borntraeger <borntraeger@linux.ibm.com>,
Janosch Frank <frankja@linux.ibm.com>,
Claudio Imbrenda <imbrenda@linux.ibm.com>,
David Hildenbrand <david@redhat.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Gerald Schaefer <gerald.schaefer@linux.ibm.com>,
Heiko Carstens <hca@linux.ibm.com>,
Vasily Gorbik <gor@linux.ibm.com>,
Sven Schnelle <svens@linux.ibm.com>, Peter Xu <peterx@redhat.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Christian Brauner <brauner@kernel.org>, Jan Kara <jack@suse.cz>,
Arnd Bergmann <arnd@arndb.de>, Zi Yan <ziy@nvidia.com>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
"Liam R . Howlett" <Liam.Howlett@oracle.com>,
Nico Pache <npache@redhat.com>,
Ryan Roberts <ryan.roberts@arm.com>, Dev Jain <dev.jain@arm.com>,
Barry Song <baohua@kernel.org>, Lance Yang <lance.yang@linux.dev>,
Muchun Song <muchun.song@linux.dev>,
Oscar Salvador <osalvador@suse.de>,
Vlastimil Babka <vbabka@suse.cz>, Mike Rapoport <rppt@kernel.org>,
Suren Baghdasaryan <surenb@google.com>,
Michal Hocko <mhocko@suse.com>
Subject: Re: [PATCH 10/16] mm: replace pmd_to_swp_entry() with leafent_from_pmd()
Date: Mon, 3 Nov 2025 23:01:09 +0800 [thread overview]
Message-ID: <202511032203.LAN8NcTM-lkp@intel.com> (raw)
In-Reply-To: <38c26e75ed00263e9ecbebb0c045dd6d8183ec67.1762171281.git.lorenzo.stoakes@oracle.com>
Hi Lorenzo,
kernel test robot noticed the following build errors:
[auto build test ERROR on akpm-mm/mm-everything]
url: https://github.com/intel-lab-lkp/linux/commits/Lorenzo-Stoakes/mm-correctly-handle-UFFD-PTE-markers/20251103-204118
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/38c26e75ed00263e9ecbebb0c045dd6d8183ec67.1762171281.git.lorenzo.stoakes%40oracle.com
patch subject: [PATCH 10/16] mm: replace pmd_to_swp_entry() with leafent_from_pmd()
config: openrisc-allnoconfig (https://download.01.org/0day-ci/archive/20251103/202511032203.LAN8NcTM-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 15.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251103/202511032203.LAN8NcTM-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511032203.LAN8NcTM-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from include/linux/mm_inline.h:11,
from kernel/fork.c:46:
include/linux/leafops.h: In function 'leafent_from_pmd':
>> include/linux/leafops.h:111:22: error: implicit declaration of function '__pmd_to_swp_entry'; did you mean 'pte_to_swp_entry'? [-Wimplicit-function-declaration]
111 | arch_entry = __pmd_to_swp_entry(pmd);
| ^~~~~~~~~~~~~~~~~~
| pte_to_swp_entry
>> include/linux/leafops.h:111:22: error: incompatible types when assigning to type 'leaf_entry_t' {aka 'swp_entry_t'} from type 'int'
--
In file included from include/linux/leafops.h:6,
from include/linux/migrate.h:9,
from mm/folio-compat.c:7:
include/linux/swapops.h: In function 'swp_entry':
>> include/linux/swapops.h:27:46: error: 'MAX_SWAPFILES_SHIFT' undeclared (first use in this function)
27 | #define SWP_TYPE_SHIFT (BITS_PER_XA_VALUE - MAX_SWAPFILES_SHIFT)
| ^~~~~~~~~~~~~~~~~~~
include/linux/swapops.h:90:28: note: in expansion of macro 'SWP_TYPE_SHIFT'
90 | ret.val = (type << SWP_TYPE_SHIFT) | (offset & SWP_OFFSET_MASK);
| ^~~~~~~~~~~~~~
include/linux/swapops.h:27:46: note: each undeclared identifier is reported only once for each function it appears in
27 | #define SWP_TYPE_SHIFT (BITS_PER_XA_VALUE - MAX_SWAPFILES_SHIFT)
| ^~~~~~~~~~~~~~~~~~~
include/linux/swapops.h:90:28: note: in expansion of macro 'SWP_TYPE_SHIFT'
90 | ret.val = (type << SWP_TYPE_SHIFT) | (offset & SWP_OFFSET_MASK);
| ^~~~~~~~~~~~~~
include/linux/swapops.h: In function 'swp_type':
>> include/linux/swapops.h:27:46: error: 'MAX_SWAPFILES_SHIFT' undeclared (first use in this function)
27 | #define SWP_TYPE_SHIFT (BITS_PER_XA_VALUE - MAX_SWAPFILES_SHIFT)
| ^~~~~~~~~~~~~~~~~~~
include/linux/swapops.h:100:30: note: in expansion of macro 'SWP_TYPE_SHIFT'
100 | return (entry.val >> SWP_TYPE_SHIFT);
| ^~~~~~~~~~~~~~
include/linux/swapops.h: In function 'swp_offset':
>> include/linux/swapops.h:27:46: error: 'MAX_SWAPFILES_SHIFT' undeclared (first use in this function)
27 | #define SWP_TYPE_SHIFT (BITS_PER_XA_VALUE - MAX_SWAPFILES_SHIFT)
| ^~~~~~~~~~~~~~~~~~~
include/linux/swapops.h:28:34: note: in expansion of macro 'SWP_TYPE_SHIFT'
28 | #define SWP_OFFSET_MASK ((1UL << SWP_TYPE_SHIFT) - 1)
| ^~~~~~~~~~~~~~
include/linux/swapops.h:109:28: note: in expansion of macro 'SWP_OFFSET_MASK'
109 | return entry.val & SWP_OFFSET_MASK;
| ^~~~~~~~~~~~~~~
In file included from include/linux/bits.h:5,
from include/linux/ratelimit_types.h:5,
from include/linux/printk.h:9,
from include/asm-generic/bug.h:22,
from arch/openrisc/include/asm/bug.h:5,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:6,
from include/linux/migrate.h:5:
include/linux/swapops.h: In function 'swp_offset_pfn':
>> include/linux/swapops.h:27:46: error: 'MAX_SWAPFILES_SHIFT' undeclared (first use in this function)
27 | #define SWP_TYPE_SHIFT (BITS_PER_XA_VALUE - MAX_SWAPFILES_SHIFT)
| ^~~~~~~~~~~~~~~~~~~
include/vdso/bits.h:7:44: note: in definition of macro 'BIT'
7 | #define BIT(nr) (UL(1) << (nr))
| ^~
include/linux/minmax.h:89:9: note: in expansion of macro '__cmp_once_unique'
89 | __cmp_once_unique(op, type, x, y, __UNIQUE_ID(x_), __UNIQUE_ID(y_))
| ^~~~~~~~~~~~~~~~~
include/linux/minmax.h:161:27: note: in expansion of macro '__cmp_once'
161 | #define min_t(type, x, y) __cmp_once(min, type, x, y)
| ^~~~~~~~~~
include/linux/swapops.h:38:33: note: in expansion of macro 'min_t'
38 | #define SWP_PFN_BITS min_t(int, \
| ^~~~~
include/linux/swapops.h:40:39: note: in expansion of macro 'SWP_TYPE_SHIFT'
40 | SWP_TYPE_SHIFT)
| ^~~~~~~~~~~~~~
include/linux/swapops.h:42:38: note: in expansion of macro 'SWP_PFN_BITS'
42 | #define SWP_PFN_MASK (BIT(SWP_PFN_BITS) - 1)
| ^~~~~~~~~~~~
include/linux/swapops.h:120:36: note: in expansion of macro 'SWP_PFN_MASK'
120 | return swp_offset(entry) & SWP_PFN_MASK;
| ^~~~~~~~~~~~
include/linux/swapops.h: In function 'make_pte_marker_entry':
>> include/linux/swapops.h:395:26: error: 'SWP_PTE_MARKER' undeclared (first use in this function)
395 | return swp_entry(SWP_PTE_MARKER, marker);
| ^~~~~~~~~~~~~~
In file included from <command-line>:
include/linux/swapops.h: In function 'is_pfn_swap_entry':
>> include/linux/swapops.h:27:46: error: 'MAX_SWAPFILES_SHIFT' undeclared (first use in this function)
27 | #define SWP_TYPE_SHIFT (BITS_PER_XA_VALUE - MAX_SWAPFILES_SHIFT)
| ^~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:577:23: note: in definition of macro '__compiletime_assert'
577 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:597:9: note: in expansion of macro '_compiletime_assert'
597 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:9: note: in expansion of macro 'BUILD_BUG_ON_MSG'
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
include/linux/swapops.h:448:9: note: in expansion of macro 'BUILD_BUG_ON'
448 | BUILD_BUG_ON(SWP_TYPE_SHIFT < SWP_PFN_BITS);
| ^~~~~~~~~~~~
include/linux/swapops.h:448:22: note: in expansion of macro 'SWP_TYPE_SHIFT'
448 | BUILD_BUG_ON(SWP_TYPE_SHIFT < SWP_PFN_BITS);
| ^~~~~~~~~~~~~~
include/linux/swapops.h: In function 'non_swap_entry':
include/linux/swapops.h:491:35: error: 'MAX_SWAPFILES' undeclared (first use in this function); did you mean 'S_SWAPFILE'?
491 | return swp_type(entry) >= MAX_SWAPFILES;
| ^~~~~~~~~~~~~
| S_SWAPFILE
include/linux/leafops.h: In function 'leafent_from_pmd':
>> include/linux/leafops.h:111:22: error: implicit declaration of function '__pmd_to_swp_entry'; did you mean 'pte_to_swp_entry'? [-Wimplicit-function-declaration]
111 | arch_entry = __pmd_to_swp_entry(pmd);
| ^~~~~~~~~~~~~~~~~~
| pte_to_swp_entry
>> include/linux/leafops.h:111:22: error: incompatible types when assigning to type 'leaf_entry_t' {aka 'swp_entry_t'} from type 'int'
vim +111 include/linux/leafops.h
90
91 /**
92 * leafent_from_pmd() - Obtain a leaf entry from a PMD entry.
93 * @pmd: PMD entry.
94 *
95 * If @pmd is present (therefore not a leaf entry) the function returns an empty
96 * leaf entry. Otherwise, it returns a leaf entry.
97 *
98 * Returns: Leaf entry.
99 */
100 static inline leaf_entry_t leafent_from_pmd(pmd_t pmd)
101 {
102 leaf_entry_t arch_entry;
103
104 if (pmd_present(pmd))
105 return leafent_mk_none();
106
107 if (pmd_swp_soft_dirty(pmd))
108 pmd = pmd_swp_clear_soft_dirty(pmd);
109 if (pmd_swp_uffd_wp(pmd))
110 pmd = pmd_swp_clear_uffd_wp(pmd);
> 111 arch_entry = __pmd_to_swp_entry(pmd);
112
113 /* Temporary until swp_entry_t eliminated. */
114 return swp_entry(__swp_type(arch_entry), __swp_offset(arch_entry));
115 }
116
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2025-11-03 15:02 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-03 12:31 [PATCH 00/16] mm: remove is_swap_[pte, pmd]() + non-swap entries, introduce leaf entries Lorenzo Stoakes
2025-11-03 12:31 ` [PATCH 01/16] mm: correctly handle UFFD PTE markers Lorenzo Stoakes
2025-11-05 18:25 ` Vlastimil Babka
2025-11-03 12:31 ` [PATCH 02/16] mm: introduce leaf entry type and use to simplify leaf entry logic Lorenzo Stoakes
2025-11-03 17:27 ` Lorenzo Stoakes
2025-11-05 14:42 ` Gregory Price
2025-11-05 17:21 ` Jason Gunthorpe
2025-11-05 17:32 ` Lorenzo Stoakes
2025-11-05 18:16 ` Jason Gunthorpe
2025-11-05 19:54 ` Lorenzo Stoakes
2025-11-05 19:06 ` Matthew Wilcox
2025-11-05 19:25 ` Gregory Price
2025-11-05 19:52 ` Lorenzo Stoakes
2025-11-05 19:56 ` David Hildenbrand
2025-11-05 20:01 ` Gregory Price
2025-11-05 20:05 ` Lorenzo Stoakes
2025-11-05 20:11 ` David Hildenbrand (Red Hat)
2025-11-05 21:08 ` Lorenzo Stoakes
2025-11-05 21:15 ` David Hildenbrand (Red Hat)
2025-11-05 21:24 ` Lorenzo Stoakes
2025-11-05 21:29 ` David Hildenbrand (Red Hat)
2025-11-05 21:47 ` Lorenzo Stoakes
2025-11-05 19:56 ` Lorenzo Stoakes
2025-11-03 12:31 ` [PATCH 03/16] mm: avoid unnecessary uses of is_swap_pte() Lorenzo Stoakes
2025-11-03 12:31 ` [PATCH 04/16] mm: eliminate uses of is_swap_pte() when leafent_from_pte() suffices Lorenzo Stoakes
2025-11-03 12:31 ` [PATCH 05/16] mm: use leaf entries in debug pgtable + remove is_swap_pte() Lorenzo Stoakes
2025-11-03 12:31 ` [PATCH 06/16] fs/proc/task_mmu: refactor pagemap_pmd_range() Lorenzo Stoakes
2025-11-03 12:31 ` [PATCH 07/16] mm: avoid unnecessary use of is_swap_pmd() Lorenzo Stoakes
2025-11-03 12:31 ` [PATCH 08/16] mm/huge_memory: refactor copy_huge_pmd() non-present logic Lorenzo Stoakes
2025-11-03 12:31 ` [PATCH 09/16] mm/huge_memory: refactor change_huge_pmd() " Lorenzo Stoakes
2025-11-03 12:31 ` [PATCH 10/16] mm: replace pmd_to_swp_entry() with leafent_from_pmd() Lorenzo Stoakes
2025-11-03 15:01 ` kernel test robot [this message]
2025-11-03 15:14 ` Lorenzo Stoakes
2025-11-03 16:24 ` kernel test robot
2025-11-03 17:30 ` Lorenzo Stoakes
2025-11-04 0:15 ` kernel test robot
2025-11-03 12:31 ` [PATCH 11/16] mm: introduce pmd_is_huge() and use where appropriate Lorenzo Stoakes
2025-11-03 12:31 ` [PATCH 12/16] mm: remove remaining is_swap_pmd() users and is_swap_pmd() Lorenzo Stoakes
2025-11-03 12:31 ` [PATCH 13/16] mm: remove non_swap_entry() and use leaf entry helpers instead Lorenzo Stoakes
2025-11-04 6:02 ` kernel test robot
2025-11-04 6:13 ` Lorenzo Stoakes
2025-11-04 6:17 ` Lorenzo Stoakes
2025-11-03 12:31 ` [PATCH 14/16] mm: remove is_hugetlb_entry_[migration, hwpoisoned]() Lorenzo Stoakes
2025-11-03 12:31 ` [PATCH 15/16] mm: eliminate further swapops predicates Lorenzo Stoakes
2025-11-03 12:31 ` [PATCH 16/16] mm: replace remaining pte_to_swp_entry() with leafent_from_pte() Lorenzo Stoakes
2025-11-04 1:13 ` [PATCH 00/16] mm: remove is_swap_[pte, pmd]() + non-swap entries, introduce leaf entries Andrew Morton
2025-11-05 2:41 ` Wei Yang
2025-11-05 17:33 ` Lorenzo Stoakes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202511032203.LAN8NcTM-lkp@intel.com \
--to=lkp@intel.com \
--cc=Liam.Howlett@oracle.com \
--cc=agordeev@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=baohua@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=borntraeger@linux.ibm.com \
--cc=brauner@kernel.org \
--cc=david@redhat.com \
--cc=dev.jain@arm.com \
--cc=frankja@linux.ibm.com \
--cc=gerald.schaefer@linux.ibm.com \
--cc=gor@linux.ibm.com \
--cc=hca@linux.ibm.com \
--cc=imbrenda@linux.ibm.com \
--cc=jack@suse.cz \
--cc=lance.yang@linux.dev \
--cc=linux-mm@kvack.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=mhocko@suse.com \
--cc=muchun.song@linux.dev \
--cc=npache@redhat.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=osalvador@suse.de \
--cc=peterx@redhat.com \
--cc=rppt@kernel.org \
--cc=ryan.roberts@arm.com \
--cc=surenb@google.com \
--cc=svens@linux.ibm.com \
--cc=vbabka@suse.cz \
--cc=viro@zeniv.linux.org.uk \
--cc=ziy@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.