[tip:x86/urgent] x86/vm86: Fix unused variable warning if THP is disabled

From: tip-bot for Kirill A. Shutemov
Date: Mon Feb 13 2017 - 13:08:36 EST


Commit-ID: 3ba5b5ea7dc3a10ef50819b43a9f8de2705f4eec
Gitweb: http://git.kernel.org/tip/3ba5b5ea7dc3a10ef50819b43a9f8de2705f4eec
Author: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
AuthorDate: Mon, 13 Feb 2017 15:52:28 +0300
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitDate: Mon, 13 Feb 2017 19:04:38 +0100

x86/vm86: Fix unused variable warning if THP is disabled

GCC complains about unused variable 'vma' in mark_screen_rdonly() if THP is
disabled:

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);

That's silly. pmd_trans_huge() resolves to 0 when THP is disabled, so the
whole block should be eliminated.

Moving the variable declaration outside the if() block shuts GCC up.

Reported-by: JÃrÃmy Lefaure <jeremy.lefaure@xxxxxxxxxxxx>
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
Tested-by: Borislav Petkov <bp@xxxxxxx>
Cc: Carlos O'Donell <carlos@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/20170213125228.63645-1-kirill.shutemov@xxxxxxxxxxxxxxx
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

---
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 ec5d754..0442d98 100644
--- a/arch/x86/kernel/vm86_32.c
+++ b/arch/x86/kernel/vm86_32.c
@@ -160,11 +160,12 @@ void save_v86_state(struct kernel_vm86_regs *regs, int retval)

static void mark_screen_rdonly(struct mm_struct *mm)
{
+ struct vm_area_struct *vma;
+ spinlock_t *ptl;
pgd_t *pgd;
pud_t *pud;
pmd_t *pmd;
pte_t *pte;
- spinlock_t *ptl;
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))