Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1244850 > unrolled thread
| Started by | Andrey Ryabinin <ryabinin.a.a@gmail.com> |
|---|---|
| First post | 2015-10-12 18:00 +0200 |
| Last post | 2015-10-13 10:40 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[PATCH v7 0/4] KASAN for arm64 Andrey Ryabinin <ryabinin.a.a@gmail.com> - 2015-10-12 18:00 +0200
[PATCH v7 3/4] ARM64: kasan: print memory assignment Andrey Ryabinin <ryabinin.a.a@gmail.com> - 2015-10-12 18:00 +0200
Re: [PATCH v7 0/4] KASAN for arm64 Catalin Marinas <catalin.marinas@arm.com> - 2015-10-13 10:40 +0200
| From | Andrey Ryabinin <ryabinin.a.a@gmail.com> |
|---|---|
| Date | 2015-10-12 18:00 +0200 |
| Subject | [PATCH v7 0/4] KASAN for arm64 |
| Message-ID | <qiNG2-3wf-9@gated-at.bofh.it> |
As usual patches available in git
git://github.com/aryabinin/linux.git kasan/arm64v7
Changes since v6:
- Rebased on top of arm64/for-next/core:
e8f3010f7326c00368dbc057bd052bec80dfc072 ("arm64/efi: isolate EFI stub from the kernel proper")
This should fix boot as an EFI application once again.
Changes since v5:
- Rebase on top of 4.3-rc1
- Fixed EFI boot.
- Updated Doc/features/KASAN.
Changes since v4:
- Generate KASAN_SHADOW_OFFSET using 32 bit arithmetic
- merge patches x86/kasan: switch to generic kasan_populate_zero_shadow()
and mm: introduce generic kasan_populate_zero_shadow() into one.
- remove useless check for start != 0 in clear_pgds()
- Don't generate KASAN_SHADOW_OFFSET in Makefile for x86,
assign it in Makefile.kasan if CONFIG_KASAN_SHADOW_OFFSET was defined.
Changes since v3:
- Generate KASAN_SHADOW_OFFSET in Makefile
- zero_p*_populate() functions now return void
- Switch x86 to generic kasan_populate_zero_shadow() too
- Add license headers
- fix memleak in kasan_populate_zero_shadow:
Following code could leak memory when pgd_populate() is nop:
void *p = early_alloc(PAGE_SIZE, NUMA_NO_NODE);
pgd_populate(&init_mm, pgd, p);
This was replaced by:
pgd_populate(&init_mm, pgd, early_alloc(PAGE_SIZE, NUMA_NO_NODE));
Changes since v2:
- Rebase on top of v4.2-rc3
- Address feedback from Catalin.
- Print memory assignment from Linus
- Add message about KASAN being initialized
Changes since v1:
- Address feedback from Catalin.
- Generalize some kasan init code from arch/x86/mm/kasan_init_64.c
and reuse it for arm64.
- Some bugfixes, including:
add missing arm64/include/asm/kasan.h
add tlb flush after changing ttbr1
- Add code comments.
Andrey Ryabinin (3):
arm64: move PGD_SIZE definition to pgalloc.h
arm64: add KASAN support
Documentation/features/KASAN: arm64 supports KASAN now
Linus Walleij (1):
ARM64: kasan: print memory assignment
.../features/debug/KASAN/arch-support.txt | 2 +-
arch/arm64/Kconfig | 1 +
arch/arm64/Makefile | 7 +
arch/arm64/include/asm/kasan.h | 36 +++++
arch/arm64/include/asm/pgalloc.h | 1 +
arch/arm64/include/asm/pgtable.h | 7 +
arch/arm64/include/asm/string.h | 16 ++
arch/arm64/kernel/Makefile | 2 +
arch/arm64/kernel/arm64ksyms.c | 3 +
arch/arm64/kernel/head.S | 3 +
arch/arm64/kernel/image.h | 6 +
arch/arm64/kernel/module.c | 16 +-
arch/arm64/kernel/setup.c | 4 +
arch/arm64/lib/memcpy.S | 3 +
arch/arm64/lib/memmove.S | 7 +-
arch/arm64/lib/memset.S | 3 +
arch/arm64/mm/Makefile | 3 +
arch/arm64/mm/init.c | 6 +
arch/arm64/mm/kasan_init.c | 165 +++++++++++++++++++++
arch/arm64/mm/pgd.c | 2 -
drivers/firmware/efi/Makefile | 8 +
scripts/Makefile.kasan | 4 +-
22 files changed, 296 insertions(+), 9 deletions(-)
create mode 100644 arch/arm64/include/asm/kasan.h
create mode 100644 arch/arm64/mm/kasan_init.c
--
2.4.9
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Andrey Ryabinin <ryabinin.a.a@gmail.com> |
|---|---|
| Date | 2015-10-12 18:00 +0200 |
| Subject | [PATCH v7 3/4] ARM64: kasan: print memory assignment |
| Message-ID | <qiNG2-3wf-25@gated-at.bofh.it> |
| In reply to | #1244850 |
From: Linus Walleij <linus.walleij@linaro.org>
This prints out the virtual memory assigned to KASan in the
boot crawl along with other memory assignments, if and only
if KASan is activated.
Example dmesg from the Juno Development board:
Memory: 1691156K/2080768K available (5465K kernel code, 444K rwdata,
2160K rodata, 340K init, 217K bss, 373228K reserved, 16384K cma-reserved)
Virtual kernel memory layout:
kasan : 0xffffff8000000000 - 0xffffff9000000000 ( 64 GB)
vmalloc : 0xffffff9000000000 - 0xffffffbdbfff0000 ( 182 GB)
vmemmap : 0xffffffbdc0000000 - 0xffffffbfc0000000 ( 8 GB maximum)
0xffffffbdc2000000 - 0xffffffbdc3fc0000 ( 31 MB actual)
fixed : 0xffffffbffabfd000 - 0xffffffbffac00000 ( 12 KB)
PCI I/O : 0xffffffbffae00000 - 0xffffffbffbe00000 ( 16 MB)
modules : 0xffffffbffc000000 - 0xffffffc000000000 ( 64 MB)
memory : 0xffffffc000000000 - 0xffffffc07f000000 ( 2032 MB)
.init : 0xffffffc0007f5000 - 0xffffffc00084a000 ( 340 KB)
.text : 0xffffffc000080000 - 0xffffffc0007f45b4 ( 7634 KB)
.data : 0xffffffc000850000 - 0xffffffc0008bf200 ( 445 KB)
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Andrey Ryabinin <ryabinin.a.a@gmail.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
---
arch/arm64/mm/init.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c
index f5c0680..7a1f9a0 100644
--- a/arch/arm64/mm/init.c
+++ b/arch/arm64/mm/init.c
@@ -298,6 +298,9 @@ void __init mem_init(void)
#define MLK_ROUNDUP(b, t) b, t, DIV_ROUND_UP(((t) - (b)), SZ_1K)
pr_notice("Virtual kernel memory layout:\n"
+#ifdef CONFIG_KASAN
+ " kasan : 0x%16lx - 0x%16lx (%6ld GB)\n"
+#endif
" vmalloc : 0x%16lx - 0x%16lx (%6ld GB)\n"
#ifdef CONFIG_SPARSEMEM_VMEMMAP
" vmemmap : 0x%16lx - 0x%16lx (%6ld GB maximum)\n"
@@ -310,6 +313,9 @@ void __init mem_init(void)
" .init : 0x%p" " - 0x%p" " (%6ld KB)\n"
" .text : 0x%p" " - 0x%p" " (%6ld KB)\n"
" .data : 0x%p" " - 0x%p" " (%6ld KB)\n",
+#ifdef CONFIG_KASAN
+ MLG(KASAN_SHADOW_START, KASAN_SHADOW_END),
+#endif
MLG(VMALLOC_START, VMALLOC_END),
#ifdef CONFIG_SPARSEMEM_VMEMMAP
MLG((unsigned long)vmemmap,
--
2.4.9
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Catalin Marinas <catalin.marinas@arm.com> |
|---|---|
| Date | 2015-10-13 10:40 +0200 |
| Message-ID | <qj3hM-19c-23@gated-at.bofh.it> |
| In reply to | #1244850 |
On Mon, Oct 12, 2015 at 06:52:56PM +0300, Andrey Ryabinin wrote: > Andrey Ryabinin (3): > arm64: move PGD_SIZE definition to pgalloc.h > arm64: add KASAN support > Documentation/features/KASAN: arm64 supports KASAN now > > Linus Walleij (1): > ARM64: kasan: print memory assignment Patches queued for 4.4. Thanks. -- Catalin -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web