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

From: JÃrÃmy Lefaure
Date: Wed Dec 07 2016 - 23:44:05 EST


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);
split_huge_pmd(vma, pmd, 0xA0000);
}
if (pmd_none_or_clear_bad(pmd))
--
2.10.2