On Wed, Dec 07, 2016 at 11:38:33PM -0500, Jérémy Lefaure wrote: > 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);
So wouldn't the __maybe_unused alone without changing the if-condition fix the warning too? -- Regards/Gruss, Boris. SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) --