mm/swap.h | 2 ++ 1 file changed, 2 insertions(+)
Hi all,
After merging the mm-unstable tree, today's linux-next build (x86_64
allnoconfig) failed like this:
In file included from mm/shmem.c:44:
mm/swap.h: In function 'folio_index':
mm/swap.h:462:24: error: implicit declaration of function 'swp_offset'; did you mean 'pud_offset'? [-Wimplicit-function-declaration]
462 | return swp_offset(folio->swap);
| ^~~~~~~~~~
| pud_offset
In file included from mm/shmem.c:69:
include/linux/swapops.h: At top level:
include/linux/swapops.h:107:23: error: conflicting types for 'swp_offset'; have 'long unsigned int(swp_entry_t)'
107 | static inline pgoff_t swp_offset(swp_entry_t entry)
| ^~~~~~~~~~
mm/swap.h:462:24: note: previous implicit declaration of 'swp_offset' with type 'int()'
462 | return swp_offset(folio->swap);
| ^~~~~~~~~~
Caused by commit
c2079bb89a0c ("mm, swap: use the swap table for the swap cache and switch API")
but not fixed by commit
9b84186b7053 ("mm-swap-use-the-swap-table-for-the-swap-cache-and-switch-api-fix")
I applied this hack:
From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Thu, 11 Sep 2025 15:51:25 +1000
Subject: [PATCH] hack for "mm, swap: use the swap table for the swap cache and
switch API"
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
mm/swap.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/mm/swap.h b/mm/swap.h
index ad339547ee8c..8428026aa8d7 100644
--- a/mm/swap.h
+++ b/mm/swap.h
@@ -458,8 +458,10 @@ static inline int non_swapcache_batch(swp_entry_t entry, int max_nr)
static inline pgoff_t folio_index(struct folio *folio)
{
#ifdef CONFIG_MMU
+#ifdef CONFIG_SWAP
if (unlikely(folio_test_swapcache(folio)))
return swp_offset(folio->swap);
+#endif
#endif
return folio->index;
}
--
2.51.0
--
Cheers,
Stephen Rothwell
On Thu, Sep 11, 2025 at 04:05:10PM +0800, Stephen Rothwell wrote:
> Hi all,
>
> After merging the mm-unstable tree, today's linux-next build (x86_64
> allnoconfig) failed like this:
>
> In file included from mm/shmem.c:44:
> mm/swap.h: In function 'folio_index':
> mm/swap.h:462:24: error: implicit declaration of function 'swp_offset'; did you mean 'pud_offset'? [-Wimplicit-function-declaration]
> 462 | return swp_offset(folio->swap);
> | ^~~~~~~~~~
> | pud_offset
> In file included from mm/shmem.c:69:
> include/linux/swapops.h: At top level:
> include/linux/swapops.h:107:23: error: conflicting types for 'swp_offset'; have 'long unsigned int(swp_entry_t)'
> 107 | static inline pgoff_t swp_offset(swp_entry_t entry)
> | ^~~~~~~~~~
> mm/swap.h:462:24: note: previous implicit declaration of 'swp_offset' with type 'int()'
> 462 | return swp_offset(folio->swap);
> | ^~~~~~~~~~
>
> Caused by commit
>
> c2079bb89a0c ("mm, swap: use the swap table for the swap cache and switch API")
>
> but not fixed by commit
>
> 9b84186b7053 ("mm-swap-use-the-swap-table-for-the-swap-cache-and-switch-api-fix")
>
> I applied this hack:
>
> From: Stephen Rothwell <sfr@canb.auug.org.au>
> Date: Thu, 11 Sep 2025 15:51:25 +1000
> Subject: [PATCH] hack for "mm, swap: use the swap table for the swap cache and
> switch API"
>
> Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
> ---
> mm/swap.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/mm/swap.h b/mm/swap.h
> index ad339547ee8c..8428026aa8d7 100644
> --- a/mm/swap.h
> +++ b/mm/swap.h
> @@ -458,8 +458,10 @@ static inline int non_swapcache_batch(swp_entry_t entry, int max_nr)
> static inline pgoff_t folio_index(struct folio *folio)
> {
> #ifdef CONFIG_MMU
> +#ifdef CONFIG_SWAP
> if (unlikely(folio_test_swapcache(folio)))
> return swp_offset(folio->swap);
> +#endif
> #endif
> return folio->index;
> }
> --
> 2.51.0
Thanks for the report, I've fixed the issue in V3 of the patch already.
https://lore.kernel.org/linux-mm/20250910160833.3464-12-ryncsn@gmail.com/
There is another doc warning also fixed in V3.
>
> --
> Cheers,
> Stephen Rothwell
© 2016 - 2026 Red Hat, Inc.