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.lefa...@lse.epita.fr> --- 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