Re: [PATCH] x86/vm86: fix compilation warning on a unused variable

From: Borislav Petkov
Date: Thu Dec 08 2016 - 03:33:19 EST


On Wed, Dec 07, 2016 at 11:38:33PM -0500, JÃrÃmy Lefaure wrote:
> When CONFIG_TRANSPARENT_HUGEPAGE is disabled, split_huge_pmd is a no-op
> stub. In such case, vma is unused and a compiler raises a warning:
>
> arch/x86/kernel/vm86_32.c: In function âmark_screen_rdonlyâ:
> arch/x86/kernel/vm86_32.c:180:26: warning: unused variable âvmaâ
> [-Wunused-variable]
> struct vm_area_struct *vma = find_vma(mm, 0xA0000);
> ^~~
> Adding __maybe_unused in the vma declaration fixes this warning.
>
> In addition, checking if CONFIG_TRANSPARENT_HUGEPAGE is enabled avoids
> calling find_vma function for nothing.
>
> Signed-off-by: JÃrÃmy Lefaure <jeremy.lefaure@xxxxxxxxxxxx>
> ---
> arch/x86/kernel/vm86_32.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/arch/x86/kernel/vm86_32.c b/arch/x86/kernel/vm86_32.c
> index 01f30e5..0813b76 100644
> --- a/arch/x86/kernel/vm86_32.c
> +++ b/arch/x86/kernel/vm86_32.c
> @@ -176,8 +176,9 @@ static void mark_screen_rdonly(struct mm_struct *mm)
> goto out;
> pmd = pmd_offset(pud, 0xA0000);
>
> - if (pmd_trans_huge(*pmd)) {
> - struct vm_area_struct *vma = find_vma(mm, 0xA0000);
> + if (IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE) && pmd_trans_huge(*pmd)) {
> + struct vm_area_struct __maybe_unused *vma = find_vma(mm,
> + 0xA0000);

So wouldn't the __maybe_unused alone without changing the if-condition
fix the warning too?

--
Regards/Gruss,
Boris.

SUSE Linux GmbH, GF: Felix ImendÃrffer, Jane Smithard, Graham Norton, HRB 21284 (AG NÃrnberg)
--