Re: [PATCH v2] smaps: Fix defined but not used smaps_shmem_walk_ops

From: Jason Gunthorpe
Date: Wed Apr 05 2023 - 08:04:32 EST


On Wed, Apr 05, 2023 at 11:38:19AM +0100, Steven Price wrote:
> When !CONFIG_SHMEM smaps_shmem_walk_ops is defined but not used,
> triggering a compiler warning. To avoid the warning remove the #ifdef
> around the usage. This has no effect because shmem_mapping() is a stub
> returning false when !CONFIG_SHMEM so the code will be compiled out,
> however we now need to also provide a stub for shmem_swap_usage().
>
> Fixes: 7b86ac3371b7 ("pagewalk: separate function pointers from iterator data")
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Link: https://lore.kernel.org/oe-kbuild-all/202304031749.UiyJpxzF-lkp@xxxxxxxxx/
> Signed-off-by: Steven Price <steven.price@xxxxxxx>
> ---
> I've implemented Jason's suggestion of removing the #ifdef around the
> usage and prodiving a stub for shmem_swap_usage() instead.

This seems OK

Reviewed-by: Jason Gunthorpe <jgg@xxxxxxxxxx>


> extern bool shmem_is_huge(struct inode *inode, pgoff_t index, bool shmem_huge_force,
> struct mm_struct *mm, unsigned long vm_flags);
> +#ifdef CONFIG_SHMEM
> extern unsigned long shmem_swap_usage(struct vm_area_struct *vma);
> +#else
> +static inline unsigned long shmem_swap_usage(struct vm_area_struct *vma)
> +{
> + return 0;
> +}
> +#endif

Though it would be nice if this file didn't have so many ifdef blocks

Jason