linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: "Jonathan Neuschäfer" <j.neuschaefer@gmx.net>
To: Christophe Leroy <christophe.leroy@c-s.fr>
Cc: "Jonathan Neuschäfer" <j.neuschaefer@gmx.net>,
	linux-kernel@vger.kernel.org, "Paul Mackerras" <paulus@samba.org>,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v2 00/15] powerpc/32s: Use BATs/LTLBs for STRICT_KERNEL_RWX
Date: Tue, 15 Jan 2019 01:33:53 +0100	[thread overview]
Message-ID: <20190115003353.GD22334@latitude> (raw)
In-Reply-To: <334b1b02-b652-499c-904e-09e6f7164b8c@c-s.fr>

[-- Attachment #1: Type: text/plain, Size: 5153 bytes --]

On Mon, Jan 14, 2019 at 07:23:07PM +0100, Christophe Leroy wrote:
> 
> 
> Le 13/01/2019 à 22:02, Jonathan Neuschäfer a écrit :
> > On Sun, Jan 13, 2019 at 08:43:07PM +0100, Christophe Leroy wrote:
> > > Le 13/01/2019 à 19:16, Jonathan Neuschäfer a écrit :
> > > > I just tested the whole series on my Wii (I didn't test any intermediate
> > > > steps). Without CONFIG_STRICT_KERNEL_RWX, it seems to work fine, but
> > > > with it, I get the following error while booting:
[...]
> I can't see anything special in your setup, and this failure looks rather
> unexpected because I can't see anything done that early when
> CONFIG_STRICT_KERNEL_RWX is selected.
> 
> Does CONFIG_STRICT_KERNEL_RWX works properly without my serie ?

I hadn't tried this before, but yes, without this series (on v5.0-rc2),
a kernel with CONFIG_STRICT_KERNEL_RWX boots.

I've checked it patch-by-patch now (with STRICT_KERNEL_RWX):

- patches 1 and 2 build and boot fine
- patches 3 to 6 build, but fail to boot with this error:

	top of MEM2 @ 13F00000

	zImage starting: loaded at 0x00e00000 (sp: 0x01588fa0)
	Allocating 0x14e92c8 bytes for kernel...
	Decompressing (0x00000000 <- 0x00e11000:0x01586ba7)...
	Done! Decompressed 0xdc01f4 bytes

	Linux/PowerPC load: root=/dev/mmcblk0p2 rootwait console=usbgecko1
	Finalizing device tree... flat tree at 0x15897a0
	[    0.000000] printk: bootconsole [udbg0] enabled
	[    0.000000] Total memory = 319MB; using 1024kB for hash table (at (ptrval))
	[    0.000000] RAM mapped without BATs
	[    0.000000] RAM mapped without BATs
	[    0.000000] ------------[ cut here ]------------
	[    0.000000] kernel BUG at arch/powerpc/mm/pgtable_32.c:223!
	[    0.000000] Oops: Exception in kernel mode, sig: 5 [#1]
	[    0.000000] BE PREEMPT
	[    0.000000] Modules linked in:
	[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 5.0.0-rc1-wii-00024-g596f9fe23c13 #1337
	[    0.000000] NIP:  c0017c4c LR: c0a836a0 CTR: c001edc4
	[    0.000000] REGS: c0d9deb0 TRAP: 0700   Not tainted  (5.0.0-rc1-wii-00024-g596f9fe23c13)
	[    0.000000] MSR:  00020030 <IR,DR>  CR: 42000888  XER: 20000000
	[    0.000000]
	[    0.000000] GPR00: c0a836a0 c0d9df60 c0d2a4a0 c0d29c00 00000000 c16ff000 c0d9de28 c0dc0000
	[    0.000000] GPR08: c0d9c000 00000001 00000001 00000000 28000824 00000000 00000000 00000000
	[    0.000000] GPR16: 00000000 00000000 00000020 00000000 c0860000 c0da0000 c0000000 c0a7d000
	[    0.000000] GPR24: c0acd55c c0d487c8 13f00000 c0d29000 00000c00 00000311 c0000000 c0d487c8
	[    0.000000] NIP [c0017c4c] map_kernel_page+0x78/0xf0
	[    0.000000] LR [c0a836a0] mapin_ram+0xe0/0x14c
	[    0.000000] Call Trace:
	[    0.000000] [c0d9df60] [c0a83f54] mmu_mapin_ram+0x54/0x1a4 (unreliable)
	[    0.000000] [c0d9df90] [c0a836a0] mapin_ram+0xe0/0x14c
	[    0.000000] [c0d9dfd0] [c0a83578] MMU_init+0x158/0x1a0
	[    0.000000] [c0d9dff0] [c0003418] start_here+0x40/0x78
	[    0.000000] Instruction dump:
	[    0.000000] 55290026 57c5b53a 7ca54a14 3d204000 7f854800 3ca5c000 419e0088 81250000
	[    0.000000] 552afffe 552907fe 7d4a4b79 4082004c <0f0a0000> 54840026 7c84eb78 9081000c
	[    0.000000] random: get_random_bytes called from print_oops_end_marker+0x34/0x6c with crng_init=0
	[    0.000000] ---[ end trace 0000000000000000 ]---
	[    0.000000]
	[    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
	[    0.000000] Rebooting in 180 seconds..

- patches 7 to 11 fail to build with this error (really a warning, but
  arch/powerpc doesn't allow warnings by default):

	  CC      arch/powerpc/mm/ppc_mmu_32.o
	../arch/powerpc/mm/ppc_mmu_32.c:133:13: error: ‘clearibat’ defined but not used [-Werror=unused-function]
	 static void clearibat(int index)
		     ^~~~~~~~~
	../arch/powerpc/mm/ppc_mmu_32.c:115:13: error: ‘setibat’ defined but not used [-Werror=unused-function]
	 static void setibat(int index, unsigned long virt, phys_addr_t phys,
		     ^~~~~~~
	cc1: all warnings being treated as errors

- patches 12 to 15 build but fail to boot with this error:

	top of MEM2 @ 13F00000

	zImage starting: loaded at 0x01000000 (sp: 0x0178afa0)
	Allocating 0x166b2c8 bytes for kernel...
	Decompressing (0x00000000 <- 0x01011000:0x017880ce)...
	Done! Decompressed 0xf421f4 bytes

	Linux/PowerPC load: root=/dev/mmcblk0p2 rootwait console=usbgecko1
	Finalizing device tree... flat tree at 0x178b7a0
	[    0.000000] printk: bootconsole [udbg0] enabled
	[    0.000000] Kernel panic - not syncing: ERROR: Failed to allocate 0x00100000 bytes below 0x00000000.
	[    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 5.0.0-rc1-wii-00033-gc263f8162122 #1337
	[    0.000000] Call Trace:
	[    0.000000] [c0f1ff30] [c00280f0] panic+0x144/0x324 (unreliable)
	[    0.000000] [c0f1ff90] [c0c18a34] memblock_alloc_base+0x34/0x44
	[    0.000000] [c0f1ffa0] [c0c071e0] MMU_init_hw+0xcc/0x300
	[    0.000000] [c0f1ffd0] [c0c06554] MMU_init+0x12c/0x198
	[    0.000000] [c0f1fff0] [c0003418] start_here+0x40/0x78
	[    0.000000] Rebooting in 180 seconds..


I'll investigate some more tomorrow.

Jonathan

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2019-01-15  0:36 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-10 15:11 [PATCH v2 00/15] powerpc/32s: Use BATs/LTLBs for STRICT_KERNEL_RWX Christophe Leroy
2019-01-10 15:11 ` [PATCH v2 01/15] powerpc/mm/32: add base address to mmu_mapin_ram() Christophe Leroy
2019-01-10 15:11 ` [PATCH v2 02/15] powerpc/mm/32s: rework mmu_mapin_ram() Christophe Leroy
2019-01-10 15:11 ` [PATCH v2 03/15] powerpc/mm/32s: use generic mmu_mapin_ram() for all blocks Christophe Leroy
2019-01-10 15:11 ` [PATCH v2 04/15] powerpc/32: always populate page tables for Abatron BDI Christophe Leroy
2019-01-10 15:11 ` [PATCH v2 05/15] powerpc/wii: remove wii_mmu_mapin_mem2() Christophe Leroy
2019-01-10 15:11 ` [PATCH v2 06/15] powerpc/mm/32s: use _PAGE_EXEC in setbat() Christophe Leroy
2019-01-10 15:11 ` [PATCH v2 07/15] powerpc/mm/32s: add setibat() clearibat() and update_bats() Christophe Leroy
2019-01-10 15:11 ` [PATCH v2 08/15] powerpc/32: add helper to write into segment registers Christophe Leroy
2019-01-10 15:11 ` [PATCH v2 09/15] powerpc/mmu: add is_strict_kernel_rwx() helper Christophe Leroy
2019-01-10 15:11 ` [PATCH v2 10/15] powerpc/kconfig: define PAGE_SHIFT inside Kconfig Christophe Leroy
2019-01-10 15:12 ` [PATCH v2 11/15] powerpc/kconfig: define CONFIG_DATA_SHIFT and CONFIG_ETEXT_SHIFT Christophe Leroy
2019-01-10 15:12 ` [PATCH v2 12/15] powerpc/mm/32s: Use BATs for STRICT_KERNEL_RWX Christophe Leroy
2019-01-10 15:12 ` [PATCH v2 13/15] powerpc/kconfig: make _etext and data areas alignment configurable on Book3s 32 Christophe Leroy
2019-01-10 15:12 ` [PATCH v2 14/15] powerpc/8xx: don't disable large TLBs with CONFIG_STRICT_KERNEL_RWX Christophe Leroy
2019-01-10 15:12 ` [PATCH v2 15/15] powerpc/kconfig: make _etext and data areas alignment configurable on 8xx Christophe Leroy
2019-01-13 18:16 ` [PATCH v2 00/15] powerpc/32s: Use BATs/LTLBs for STRICT_KERNEL_RWX Jonathan Neuschäfer
2019-01-13 19:43   ` Christophe Leroy
2019-01-13 21:02     ` Jonathan Neuschäfer
2019-01-14 18:23       ` Christophe Leroy
2019-01-15  0:33         ` Jonathan Neuschäfer [this message]
2019-01-15  6:51           ` Christophe Leroy
2019-01-15 10:22             ` Michael Ellerman
2019-01-15 10:57               ` Christophe Leroy
2019-02-20 13:23                 ` Michael Ellerman
2019-02-20 15:30                   ` Christophe Leroy
2019-01-16  0:35             ` Jonathan Neuschäfer
2019-01-16  6:55               ` Christophe Leroy
2019-01-16 13:16                 ` Jonathan Neuschäfer
2019-01-16 13:34                   ` Christophe Leroy
2019-01-16 23:48                     ` Jonathan Neuschäfer
2019-01-17 10:14                       ` Christophe Leroy

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=20190115003353.GD22334@latitude \
    --to=j.neuschaefer@gmx.net \
    --cc=christophe.leroy@c-s.fr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=paulus@samba.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).