[PATCH] x86/vm86: fix unused variable warning if THP is disabled.

From: Kirill A. Shutemov
Date: Mon Feb 13 2017 - 07:52:54 EST


GCC complaines on unused variable 'vma' in mark_screen_rdonly() if THP
is disalbed:

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);
^~~
It shoudln't really. The whole block has to be eliminated as
pmd_trans_huge() is 0 if THP is disabled.

Anyway, this trick seems make GCC happy.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Reported-by: JÃrÃmy Lefaure <jeremy.lefaure@xxxxxxxxxxxx>
---
arch/x86/kernel/vm86_32.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/vm86_32.c b/arch/x86/kernel/vm86_32.c
index ec5d7545e6dc..8cdbd32ededc 100644
--- a/arch/x86/kernel/vm86_32.c
+++ b/arch/x86/kernel/vm86_32.c
@@ -165,6 +165,7 @@ static void mark_screen_rdonly(struct mm_struct *mm)
pmd_t *pmd;
pte_t *pte;
spinlock_t *ptl;
+ struct vm_area_struct *vma;
int i;

down_write(&mm->mmap_sem);
@@ -177,7 +178,7 @@ static void mark_screen_rdonly(struct mm_struct *mm)
pmd = pmd_offset(pud, 0xA0000);

if (pmd_trans_huge(*pmd)) {
- struct vm_area_struct *vma = find_vma(mm, 0xA0000);
+ vma = find_vma(mm, 0xA0000);
split_huge_pmd(vma, pmd, 0xA0000);
}
if (pmd_none_or_clear_bad(pmd))
--
2.11.0