From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv4 09/10] mm/usercopy: Switch to using lm_alias
Date: Tue, 6 Dec 2016 18:20:28 +0000 [thread overview]
Message-ID: <20161206182028.GI24177@leverpostej> (raw)
In-Reply-To: <1480445729-27130-10-git-send-email-labbott@redhat.com>
On Tue, Nov 29, 2016 at 10:55:28AM -0800, Laura Abbott wrote:
>
> The usercopy checking code currently calls __va(__pa(...)) to check for
> aliases on symbols. Switch to using lm_alias instead.
>
> Signed-off-by: Laura Abbott <labbott@redhat.com>
I've given this a go on Juno, which boots happily. LKDTM triggers as
expected when copying from the kernel text and its alias.
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Thanks,
Mark.
> ---
> Found when reviewing the kernel. Tested.
> ---
> mm/usercopy.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/usercopy.c b/mm/usercopy.c
> index 3c8da0a..8345299 100644
> --- a/mm/usercopy.c
> +++ b/mm/usercopy.c
> @@ -108,13 +108,13 @@ static inline const char *check_kernel_text_object(const void *ptr,
> * __pa() is not just the reverse of __va(). This can be detected
> * and checked:
> */
> - textlow_linear = (unsigned long)__va(__pa(textlow));
> + textlow_linear = (unsigned long)lm_alias(textlow);
> /* No different mapping: we're done. */
> if (textlow_linear == textlow)
> return NULL;
>
> /* Check the secondary mapping... */
> - texthigh_linear = (unsigned long)__va(__pa(texthigh));
> + texthigh_linear = (unsigned long)lm_alias(texthigh);
> if (overlaps(ptr, n, textlow_linear, texthigh_linear))
> return "<linear kernel text>";
>
> --
> 2.7.4
>
WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Laura Abbott <labbott@redhat.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
Will Deacon <will.deacon@arm.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Kees Cook <keescook@chromium.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
x86@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Andrew Morton <akpm@linux-foundation.org>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Joonsoo Kim <iamjoonsoo.kim@lge.com>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCHv4 09/10] mm/usercopy: Switch to using lm_alias
Date: Tue, 6 Dec 2016 18:20:28 +0000 [thread overview]
Message-ID: <20161206182028.GI24177@leverpostej> (raw)
In-Reply-To: <1480445729-27130-10-git-send-email-labbott@redhat.com>
On Tue, Nov 29, 2016 at 10:55:28AM -0800, Laura Abbott wrote:
>
> The usercopy checking code currently calls __va(__pa(...)) to check for
> aliases on symbols. Switch to using lm_alias instead.
>
> Signed-off-by: Laura Abbott <labbott@redhat.com>
I've given this a go on Juno, which boots happily. LKDTM triggers as
expected when copying from the kernel text and its alias.
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Thanks,
Mark.
> ---
> Found when reviewing the kernel. Tested.
> ---
> mm/usercopy.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/usercopy.c b/mm/usercopy.c
> index 3c8da0a..8345299 100644
> --- a/mm/usercopy.c
> +++ b/mm/usercopy.c
> @@ -108,13 +108,13 @@ static inline const char *check_kernel_text_object(const void *ptr,
> * __pa() is not just the reverse of __va(). This can be detected
> * and checked:
> */
> - textlow_linear = (unsigned long)__va(__pa(textlow));
> + textlow_linear = (unsigned long)lm_alias(textlow);
> /* No different mapping: we're done. */
> if (textlow_linear == textlow)
> return NULL;
>
> /* Check the secondary mapping... */
> - texthigh_linear = (unsigned long)__va(__pa(texthigh));
> + texthigh_linear = (unsigned long)lm_alias(texthigh);
> if (overlaps(ptr, n, textlow_linear, texthigh_linear))
> return "<linear kernel text>";
>
> --
> 2.7.4
>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Laura Abbott <labbott@redhat.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
Will Deacon <will.deacon@arm.com>,
Catalin Marinas <catalin.marinas@arm.com>,
Kees Cook <keescook@chromium.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
x86@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Andrew Morton <akpm@linux-foundation.org>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Joonsoo Kim <iamjoonsoo.kim@lge.com>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCHv4 09/10] mm/usercopy: Switch to using lm_alias
Date: Tue, 6 Dec 2016 18:20:28 +0000 [thread overview]
Message-ID: <20161206182028.GI24177@leverpostej> (raw)
In-Reply-To: <1480445729-27130-10-git-send-email-labbott@redhat.com>
On Tue, Nov 29, 2016 at 10:55:28AM -0800, Laura Abbott wrote:
>
> The usercopy checking code currently calls __va(__pa(...)) to check for
> aliases on symbols. Switch to using lm_alias instead.
>
> Signed-off-by: Laura Abbott <labbott@redhat.com>
I've given this a go on Juno, which boots happily. LKDTM triggers as
expected when copying from the kernel text and its alias.
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Tested-by: Mark Rutland <mark.rutland@arm.com>
Thanks,
Mark.
> ---
> Found when reviewing the kernel. Tested.
> ---
> mm/usercopy.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/usercopy.c b/mm/usercopy.c
> index 3c8da0a..8345299 100644
> --- a/mm/usercopy.c
> +++ b/mm/usercopy.c
> @@ -108,13 +108,13 @@ static inline const char *check_kernel_text_object(const void *ptr,
> * __pa() is not just the reverse of __va(). This can be detected
> * and checked:
> */
> - textlow_linear = (unsigned long)__va(__pa(textlow));
> + textlow_linear = (unsigned long)lm_alias(textlow);
> /* No different mapping: we're done. */
> if (textlow_linear == textlow)
> return NULL;
>
> /* Check the secondary mapping... */
> - texthigh_linear = (unsigned long)__va(__pa(texthigh));
> + texthigh_linear = (unsigned long)lm_alias(texthigh);
> if (overlaps(ptr, n, textlow_linear, texthigh_linear))
> return "<linear kernel text>";
>
> --
> 2.7.4
>
next prev parent reply other threads:[~2016-12-06 18:20 UTC|newest]
Thread overview: 130+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-29 18:55 [PATCHv4 00/10] CONFIG_DEBUG_VIRTUAL for arm64 Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` [PATCHv4 01/10] lib/Kconfig.debug: Add ARCH_HAS_DEBUG_VIRTUAL Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` [PATCHv4 02/10] mm/cma: Cleanup highmem check Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` [PATCHv4 03/10] arm64: Move some macros under #ifndef __ASSEMBLY__ Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` [PATCHv4 04/10] arm64: Add cast for virt_to_pfn Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` [PATCHv4 05/10] arm64: Use __pa_symbol for kernel symbols Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-30 17:17 ` Catalin Marinas
2016-11-30 17:17 ` Catalin Marinas
2016-11-30 17:17 ` Catalin Marinas
2016-12-01 12:04 ` James Morse
2016-12-01 12:04 ` James Morse
2016-12-01 12:04 ` James Morse
2016-12-06 16:08 ` Mark Rutland
2016-12-06 16:08 ` Mark Rutland
2016-12-06 16:08 ` Mark Rutland
2016-12-06 0:50 ` Florian Fainelli
2016-12-06 0:50 ` Florian Fainelli
2016-12-06 0:50 ` Florian Fainelli
2016-12-06 11:46 ` Catalin Marinas
2016-12-06 11:46 ` Catalin Marinas
2016-12-06 11:46 ` Catalin Marinas
2016-12-06 17:02 ` Mark Rutland
2016-12-06 17:02 ` Mark Rutland
2016-12-06 17:02 ` Mark Rutland
2016-12-06 19:12 ` Laura Abbott
2016-12-06 19:12 ` Laura Abbott
2016-12-06 19:12 ` Laura Abbott
2016-11-29 18:55 ` [PATCHv4 06/10] xen: Switch to using __pa_symbol Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 22:26 ` Boris Ostrovsky
2016-11-29 22:26 ` Boris Ostrovsky
2016-11-29 22:26 ` Boris Ostrovsky
2016-11-29 22:42 ` Laura Abbott
2016-11-29 22:42 ` Laura Abbott
2016-11-29 22:42 ` Laura Abbott
2016-11-29 22:42 ` Laura Abbott
2016-11-29 22:26 ` Boris Ostrovsky
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` [PATCHv4 07/10] kexec: Switch to __pa_symbol Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-12-01 2:41 ` Dave Young
2016-12-01 2:41 ` Dave Young
2016-12-01 2:41 ` Dave Young
2016-12-01 2:41 ` Dave Young
2016-12-01 3:13 ` Eric W. Biederman
2016-12-01 3:13 ` Eric W. Biederman
2016-12-01 3:13 ` Eric W. Biederman
2016-12-01 3:13 ` Eric W. Biederman
2016-12-01 4:27 ` Dave Young
2016-12-01 4:27 ` Dave Young
2016-12-01 4:27 ` Dave Young
2016-12-01 4:27 ` Dave Young
2016-11-29 18:55 ` [PATCHv4 08/10] mm/kasan: Switch to using __pa_symbol and lm_alias Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-12-01 11:36 ` Andrey Ryabinin
2016-12-01 11:36 ` Andrey Ryabinin
2016-12-01 11:36 ` Andrey Ryabinin
2016-12-01 19:10 ` Laura Abbott
2016-12-01 19:10 ` Laura Abbott
2016-12-01 19:10 ` Laura Abbott
2016-12-06 17:25 ` Mark Rutland
2016-12-06 17:25 ` Mark Rutland
2016-12-06 17:25 ` Mark Rutland
2016-12-06 17:44 ` Mark Rutland
2016-12-06 17:44 ` Mark Rutland
2016-12-06 17:44 ` Mark Rutland
2016-12-06 19:18 ` Mark Rutland
2016-12-06 19:18 ` Mark Rutland
2016-12-06 19:18 ` Mark Rutland
2016-11-29 18:55 ` [PATCHv4 09/10] mm/usercopy: Switch to using lm_alias Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 19:39 ` Kees Cook
2016-11-29 19:39 ` Kees Cook
2016-11-29 19:39 ` Kees Cook
2016-12-06 18:18 ` Mark Rutland
2016-12-06 18:18 ` Mark Rutland
2016-12-06 18:18 ` Mark Rutland
2016-12-06 20:10 ` Kees Cook
2016-12-06 20:10 ` Kees Cook
2016-12-06 20:10 ` Kees Cook
2016-12-07 13:57 ` Mark Rutland
2016-12-07 13:57 ` Mark Rutland
2016-12-07 13:57 ` Mark Rutland
2016-12-06 18:20 ` Mark Rutland [this message]
2016-12-06 18:20 ` Mark Rutland
2016-12-06 18:20 ` Mark Rutland
2016-11-29 18:55 ` [PATCHv4 10/10] arm64: Add support for CONFIG_DEBUG_VIRTUAL Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-11-29 18:55 ` Laura Abbott
2016-12-06 18:58 ` Mark Rutland
2016-12-06 18:58 ` Mark Rutland
2016-12-06 18:58 ` Mark Rutland
2016-12-06 19:53 ` [PATCH 0/3] ARM: " Florian Fainelli
2016-12-06 19:53 ` Florian Fainelli
2016-12-06 19:53 ` [PATCH 1/3] ARM: Define KERNEL_START and KERNEL_END Florian Fainelli
2016-12-06 19:53 ` Florian Fainelli
2016-12-06 22:43 ` Chris Brandt
2016-12-06 22:43 ` Chris Brandt
2016-12-06 22:47 ` Florian Fainelli
2016-12-06 22:47 ` Florian Fainelli
2016-12-07 6:11 ` kbuild test robot
2016-12-07 6:11 ` kbuild test robot
2016-12-06 19:53 ` [PATCH 2/3] ARM: Utilize __pa_symbol in lieu of __pa Florian Fainelli
2016-12-06 19:53 ` Florian Fainelli
2016-12-06 19:53 ` [PATCH 3/3] ARM: Add support for CONFIG_DEBUG_VIRTUAL Florian Fainelli
2016-12-06 19:53 ` Florian Fainelli
2016-12-06 20:42 ` Florian Fainelli
2016-12-06 20:42 ` Florian Fainelli
2016-12-07 2:00 ` Laura Abbott
2016-12-07 2:00 ` Laura Abbott
2016-12-07 2:24 ` Florian Fainelli
2016-12-07 2:24 ` Florian Fainelli
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=20161206182028.GI24177@leverpostej \
--to=mark.rutland@arm.com \
--cc=linux-arm-kernel@lists.infradead.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.