All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jérémy Lefaure" <jeremy.lefaure@lse.epita.fr>
To: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	x86@kernel.org, Borislav Petkov <bp@suse.de>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] x86/vm86: fix compilation warning on a unused variable
Date: Fri, 16 Dec 2016 23:19:16 -0500	[thread overview]
Message-ID: <20161216231916.0682e46e@blatinox-arch> (raw)
In-Reply-To: <20161212145250.GB4208@node>

On Mon, 12 Dec 2016 17:52:50 +0300
"Kirill A. Shutemov" <kirill@shutemov.name> wrote:

> On Thu, Dec 08, 2016 at 01:25:37PM -0500, Jérémy Lefaure wrote:
> > On Thu, 8 Dec 2016 13:50:11 +0300
> > "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> wrote:
> >   
> > > 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.    
> > > 
> > > Hm. pmd_trans_huge() is zero if CONFIG_TRANSPARENT_HUGEPAGE is not set.
> > > Compiler should get rid of whole block of code under the 'if'.
> > > 
> > > Could you share your kernel config which triggers the warning?
> > > And what compiler do you use?
> > >   
> > 
> > After a `make allnoconfig`, I enable "Legacy VM86 support" and nothing
> > else. I tested with 2 compilers, gcc 4.9.2 (on debian jessie) and gcc
> > 6.2.1 (on archlinux).
> > 
> > Actually, the compiler does not raise warnings on complete build (`make
> > mrproper`, configuration and `make`) but only on partial build (`make
> > arch/x86/kernel/vm86_32.o` or `touch arch/x86/kernel/vm86_32.c &&
> > make`). So maybe it is a compiler issue ?
> > 
Sorry, forget about this part, it's false. I may have tested too
quickly and missed something.

> > The solution you propose in your other email (adding "(void)__vma;" in
> > the no-op split_huge_pmd) seems to fix the warnings on partial build.  
> 
> This doesn't make any sense, but this works too:
> 
I don't know why gcc raises a warning on that even if it is not used.
Anyway, I'm sure that the warning is reproducible. Both of your
solutions fix the issue.

> diff --git a/arch/x86/kernel/vm86_32.c b/arch/x86/kernel/vm86_32.c
> index e339717af265..63ddc598f5a9 100644
> --- a/arch/x86/kernel/vm86_32.c
> +++ b/arch/x86/kernel/vm86_32.c
> @@ -160,6 +160,7 @@ 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;
>         pgd_t *pgd;
>         p4d_t *p4d;
>         pud_t *pud;
> @@ -181,7 +182,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))

  reply	other threads:[~2016-12-17  4:19 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-08  4:38 [PATCH] x86/vm86: fix compilation warning on a unused variable Jérémy Lefaure
2016-12-08  8:33 ` Borislav Petkov
2016-12-08 17:51   ` Jérémy Lefaure
2016-12-08 10:50 ` Kirill A. Shutemov
2016-12-08 11:44   ` Kirill A. Shutemov
2016-12-08 18:25   ` Jérémy Lefaure
2016-12-12 14:52     ` Kirill A. Shutemov
2016-12-17  4:19       ` Jérémy Lefaure [this message]
2017-02-12 14:01         ` Borislav Petkov
2017-02-13  4:20           ` Jérémy Lefaure
2017-02-13 10:03             ` Borislav Petkov
2017-02-13 12:52               ` [PATCH] x86/vm86: fix unused variable warning if THP is disabled Kirill A. Shutemov
2017-02-13 15:49                 ` Thomas Gleixner
2017-02-13 17:47                 ` Borislav Petkov
2017-02-13 18:07                 ` [tip:x86/urgent] x86/vm86: Fix " tip-bot for Kirill A. Shutemov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20161216231916.0682e46e@blatinox-arch \
    --to=jeremy.lefaure@lse.epita.fr \
    --cc=bp@suse.de \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=kirill@shutemov.name \
    --cc=linux-kernel@vger.kernel.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.