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 <[email protected]>
Reported-by: Jérémy Lefaure <[email protected]>
---
 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

Reply via email to