Re: [PATCH] KVM: guest-memfd: fix unused-function warning

From: Sean Christopherson
Date: Fri Dec 01 2023 - 17:24:12 EST


On Wed, Nov 29, 2023, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> With migration disabled, one function becomes unused:
>
> virt/kvm/guest_memfd.c:262:12: error: 'kvm_gmem_migrate_folio' defined but not used [-Werror=unused-function]
> 262 | static int kvm_gmem_migrate_folio(struct address_space *mapping,
> | ^~~~~~~~~~~~~~~~~~~~~~
>
> Replace the #ifdef around the reference with a corresponding PTR_IF() check
> that lets the compiler know how it is otherwise used.
>
> Fixes: a7800aa80ea4 ("KVM: Add KVM_CREATE_GUEST_MEMFD ioctl() for guest-specific backing memory")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> virt/kvm/guest_memfd.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c
> index 16d58806e913..1a0355b95379 100644
> --- a/virt/kvm/guest_memfd.c
> +++ b/virt/kvm/guest_memfd.c
> @@ -301,9 +301,8 @@ static int kvm_gmem_error_folio(struct address_space *mapping,
>
> static const struct address_space_operations kvm_gmem_aops = {
> .dirty_folio = noop_dirty_folio,
> -#ifdef CONFIG_MIGRATION
> - .migrate_folio = kvm_gmem_migrate_folio,
> -#endif
> + .migrate_folio = PTR_IF(IS_ENABLED(CONFIG_MIGRATION),
> + kvm_gmem_migrate_folio),

I'd much prefer to just delete the #ifdef, e.g. so that we don't somehow end up
running fallback_migrate_folio(). I have no clue why I wrapped the hook with
CONFIG_MIGRATION.