[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20190312141854.7a06e640a611344243a25461@linux-foundation.org>
Date: Tue, 12 Mar 2019 14:18:54 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Bartosz Golaszewski <bgolaszewski@...libre.com>
Cc: Khalid Aziz <khalid.aziz@...cle.com>,
Bartosz Golaszewski <brgl@...ev.pl>,
Anthony Yznaga <anthony.yznaga@...cle.com>,
"Aneesh Kumar K . V" <aneesh.kumar@...ux.ibm.com>,
Jérôme Glisse <jglisse@...hat.com>,
linux-mm@...ck.org, LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] mm: remove unused variable
On Tue, 12 Mar 2019 15:03:52 +0100 Bartosz Golaszewski <bgolaszewski@...libre.com> wrote:
> wt., 12 mar 2019 o 14:59 Khalid Aziz <khalid.aziz@...cle.com> napisał(a):
> >
> > On 3/12/19 7:28 AM, Bartosz Golaszewski wrote:
> > > From: Bartosz Golaszewski <bgolaszewski@...libre.com>
> > >
> > > The mm variable is set but unused. Remove it.
> >
> > It is used. Look further down for calls to set_pte_at().
> >
> > --
> > Khalid
> >
> > >
> > > Signed-off-by: Bartosz Golaszewski <bgolaszewski@...libre.com>
> > > ---
> > > mm/mprotect.c | 1 -
> > > 1 file changed, 1 deletion(-)
> > >
> > > diff --git a/mm/mprotect.c b/mm/mprotect.c
> > > index 028c724dcb1a..130dac3ad04f 100644
> > > --- a/mm/mprotect.c
> > > +++ b/mm/mprotect.c
> > > @@ -39,7 +39,6 @@ static unsigned long change_pte_range(struct vm_area_struct *vma, pmd_t *pmd,
> > > unsigned long addr, unsigned long end, pgprot_t newprot,
> > > int dirty_accountable, int prot_numa)
> > > {
> > > - struct mm_struct *mm = vma->vm_mm;
> > > pte_t *pte, oldpte;
> > > spinlock_t *ptl;
> > > unsigned long pages = 0;
> > >
> >
> >
>
> Oops, I blindly assumed the compiler is right, sorry for that. GCC
> complains it's unused when building usermode linux. I guess it's a
> matter of how set_pte_at() is defined for ARCH=um. I'll take a second
> look.
>
The problem is that set_pte_at() is implemented as a macro on some
architectures.
The appropriate fix is to make all architectures use a static inline C
functions in all cases. That will make the compiler think that the
`mm' arg is used, even if it is not.
Powered by blists - more mailing lists