2019-03-13 10:16:52

by Bartosz Golaszewski

[permalink] [raw]
Subject: [PATCH] um: define set_pte_at() as a static inline function, not a macro

From: Bartosz Golaszewski <[email protected]>

When defined as macro, the mm argument is unused and subsequently the
variable passed as mm is considered unused by the compiler. This fixes
a build warning.

Signed-off-by: Bartosz Golaszewski <[email protected]>
---
arch/um/include/asm/pgtable.h | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/arch/um/include/asm/pgtable.h b/arch/um/include/asm/pgtable.h
index 9c04562310b3..b377df76cc28 100644
--- a/arch/um/include/asm/pgtable.h
+++ b/arch/um/include/asm/pgtable.h
@@ -263,7 +263,12 @@ static inline void set_pte(pte_t *pteptr, pte_t pteval)
*pteptr = pte_mknewpage(*pteptr);
if(pte_present(*pteptr)) *pteptr = pte_mknewprot(*pteptr);
}
-#define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval)
+
+static inline void set_pte_at(struct mm_struct *mm, unsigned long addr,
+ pte_t *pteptr, pte_t pteval)
+{
+ set_pte(pteptr, pteval);
+}

#define __HAVE_ARCH_PTE_SAME
static inline int pte_same(pte_t pte_a, pte_t pte_b)
--
2.20.1



2019-03-13 10:31:19

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH] um: define set_pte_at() as a static inline function, not a macro

On Wed, Mar 13, 2019 at 11:16 AM Bartosz Golaszewski <[email protected]> wrote:
> From: Bartosz Golaszewski <[email protected]>
>
> When defined as macro, the mm argument is unused and subsequently the
> variable passed as mm is considered unused by the compiler. This fixes
> a build warning.
>
> Signed-off-by: Bartosz Golaszewski <[email protected]>

Reviewed-by: Geert Uytterhoeven <[email protected]>

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2019-03-13 16:21:32

by Anton Ivanov

[permalink] [raw]
Subject: Re: [PATCH] um: define set_pte_at() as a static inline function, not a macro



On 13/03/2019 10:14, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <[email protected]>
>
> When defined as macro, the mm argument is unused and subsequently the
> variable passed as mm is considered unused by the compiler. This fixes
> a build warning.
>
> Signed-off-by: Bartosz Golaszewski <[email protected]>
> ---
> arch/um/include/asm/pgtable.h | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/arch/um/include/asm/pgtable.h b/arch/um/include/asm/pgtable.h
> index 9c04562310b3..b377df76cc28 100644
> --- a/arch/um/include/asm/pgtable.h
> +++ b/arch/um/include/asm/pgtable.h
> @@ -263,7 +263,12 @@ static inline void set_pte(pte_t *pteptr, pte_t pteval)
> *pteptr = pte_mknewpage(*pteptr);
> if(pte_present(*pteptr)) *pteptr = pte_mknewprot(*pteptr);
> }
> -#define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval)
> +
> +static inline void set_pte_at(struct mm_struct *mm, unsigned long addr,
> + pte_t *pteptr, pte_t pteval)
> +{
> + set_pte(pteptr, pteval);
> +}
>
> #define __HAVE_ARCH_PTE_SAME
> static inline int pte_same(pte_t pte_a, pte_t pte_b)
>
Reviewed-by: Anton Ivanov <[email protected]>
Acked-by: Anton Ivanov <[email protected]>
--
Anton R. Ivanov
Cambridgegreys Limited. Registered in England. Company Number 10273661
https://www.cambridgegreys.com/