Re: [PATCH] mm: include swap.h in swapops.h
From: Lorenzo Stoakes (ARM)
Date: Wed Aug 19 2026 - 11:34:09 EST
On Tue, Aug 18, 2026 at 12:50:26PM +0100, Kiryl Shutsemau wrote:
> From: "Kiryl Shutsemau (Meta)" <kas@xxxxxxxxxx>
>
> swapops.h uses MAX_SWAPFILES_SHIFT, SWP_MIGRATION_READ and SWP_PTE_MARKER,
> all of which swap.h defines, but does not include swap.h. It compiles only
> where the translation unit pulled swap.h in first. leafops.h includes
> swapops.h on the line above swap.h, so a file whose include list reaches
> leafops.h before swap.h gets:
>
> In file included from include/linux/leafops.h:11:
> include/linux/swapops.h:88:21: error: use of undeclared
> identifier 'MAX_SWAPFILES_SHIFT'
>
> A header that uses a definition has to include the header that provides it.
>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202608181757.mza9RRj7-lkp@xxxxxxxxx/
> Signed-off-by: Kiryl Shutsemau (Meta) <kas@xxxxxxxxxx>
Ah C headers are terrible :)
I see that the common pattern is:
#include <swap.h>
#include <swapops.h>
Which is already itself quite horrible, though I suppose intent was to
separate out stuff between the two and to not require that people take
swapops.h necessarily.
Anyway swapops.h needs to be removed, it's a left-over from the
not-quite-fully-complete softleaf work (I left some of the swap
entry-specific stuff alone).
But when that's done by me or whoever else, the resolution should be that
swapops.h is deleted with everything there that needs to be kept around
moved -> leafops since swap entries are just another softleaf type.
Anyway I can fix the broader issue when I get rid of swapops.h, so this
LGTM as a resolution for the time being and:
Reviewed-by: Lorenzo Stoakes (ARM) <ljs@xxxxxxxxxx>
> ---
> include/linux/swapops.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/linux/swapops.h b/include/linux/swapops.h
> index 1f3ff3b93e16..e7d0d529f3e0 100644
> --- a/include/linux/swapops.h
> +++ b/include/linux/swapops.h
> @@ -5,6 +5,7 @@
> #include <linux/radix-tree.h>
> #include <linux/bug.h>
> #include <linux/mm_types.h>
> +#include <linux/swap.h>
>
> #ifdef CONFIG_MMU
>
>
> base-commit: 33f61b12d297562321533c048e034b1fb21c1cf3
> --
> 2.54.0
>
--
Cheers, Lorenzo