[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180924103144.GB6264@rapoport-lnx>
Date: Mon, 24 Sep 2018 13:31:45 +0300
From: Mike Rapoport <rppt@...ux.vnet.ibm.com>
To: Bartosz Golaszewski <brgl@...ev.pl>
Cc: Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J . Wysocki" <rafael.j.wysocki@...el.com>,
Arend van Spriel <aspriel@...il.com>,
Ulf Hansson <ulf.hansson@...aro.org>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Vivek Gautam <vivek.gautam@...eaurora.org>,
Robin Murphy <robin.murphy@....com>,
Joe Perches <joe@...ches.com>,
Heikki Krogerus <heikki.krogerus@...ux.intel.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Michal Hocko <mhocko@...e.com>,
Al Viro <viro@...iv.linux.org.uk>,
Jonathan Corbet <corbet@....net>, Roman Gushchin <guro@...com>,
Huang Ying <ying.huang@...el.com>,
Kees Cook <keescook@...omium.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Arnd Bergmann <arnd@...db.de>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
linux-clk@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org
Subject: Re: [PATCH v3 2/4] mm: move is_kernel_rodata() to
asm-generic/sections.h
On Mon, Sep 24, 2018 at 12:11:48PM +0200, Bartosz Golaszewski wrote:
> Export this routine so that we can use it later in devm_kstrdup_const()
> and devm_kfree_const().
>
> Signed-off-by: Bartosz Golaszewski <brgl@...ev.pl>
> Reviewed-by: Bjorn Andersson <bjorn.andersson@...aro.org>
Acked-by: Mike Rapoport <rppt@...ux.vnet.ibm.com>
> ---
> include/asm-generic/sections.h | 14 ++++++++++++++
> mm/util.c | 7 -------
> 2 files changed, 14 insertions(+), 7 deletions(-)
>
> diff --git a/include/asm-generic/sections.h b/include/asm-generic/sections.h
> index 849cd8eb5ca0..d79abca81a52 100644
> --- a/include/asm-generic/sections.h
> +++ b/include/asm-generic/sections.h
> @@ -141,4 +141,18 @@ static inline bool init_section_intersects(void *virt, size_t size)
> return memory_intersects(__init_begin, __init_end, virt, size);
> }
>
> +/**
> + * is_kernel_rodata - checks if the pointer address is located in the
> + * .rodata section
> + *
> + * @addr: address to check
> + *
> + * Returns: true if the address is located in .rodata, false otherwise.
> + */
> +static inline bool is_kernel_rodata(unsigned long addr)
> +{
> + return addr >= (unsigned long)__start_rodata &&
> + addr < (unsigned long)__end_rodata;
> +}
> +
> #endif /* _ASM_GENERIC_SECTIONS_H_ */
> diff --git a/mm/util.c b/mm/util.c
> index 9e3ebd2ef65f..470f5cd80b64 100644
> --- a/mm/util.c
> +++ b/mm/util.c
> @@ -15,17 +15,10 @@
> #include <linux/vmalloc.h>
> #include <linux/userfaultfd_k.h>
>
> -#include <asm/sections.h>
> #include <linux/uaccess.h>
>
> #include "internal.h"
>
> -static inline int is_kernel_rodata(unsigned long addr)
> -{
> - return addr >= (unsigned long)__start_rodata &&
> - addr < (unsigned long)__end_rodata;
> -}
> -
> /**
> * kfree_const - conditionally free memory
> * @x: pointer to the memory
> --
> 2.18.0
>
--
Sincerely yours,
Mike.
Powered by blists - more mailing lists