Re: linux-next: Tree for Jul 8 --> bootup failure on s390x (bisected)

From: Christian Borntraeger
Date: Mon Jul 08 2019 - 15:16:14 EST




On 08.07.19 20:06, Al Viro wrote:
> On Mon, Jul 08, 2019 at 06:52:14PM +0200, Christian Borntraeger wrote:
>
>> smp: Brought up 1 node, 1 CPU
>> Unable to handle kernel pointer dereference in virtual kernel address space
>> Failing address: 000000003a070000 TEID: 000000003a070407
>> Fault in home space mode while using kernel ASCE.
>> AS:000000003a780007 R3:000000007ffd0007 S:000000007ffd4800 P:000000003a07021d
>> Oops: 0004 ilc:2 [#1] SMP
>> Modules linked in:
>> CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.2.0-rc5-00101-gcb8f0b366109 #14
>> Hardware name: IBM 2964 NC9 712 (KVM/Linux)
>> Krnl PSW : 0704e00180000000 000000003974b580 (shmem_parse_monolithic+0x88/0x100)
>> R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 RI:0 EA:3
>> Krnl GPRS: 0000000000000000 000000000000003d 000000003a07040e 000000000000003d
>> 000000003a07040f 000000000000006d 0000000000000001 0000000000000000
>> 000000007f7c1c00 0000000000000000 000000003a07040a 0000000000000000
>> 000000007f7e4000 000000003a190d78 000000003974b56c 000003e00031fd38
>> Krnl Code: 000000003974b574: b920002a cgr %r2,%r10
>> 000000003974b578: a784001b brc 8,3974b5ae
>> #000000003974b57c: 41402001 la %r4,1(%r2)
>> >000000003974b580: 92002000 mvi 0(%r2),0
>> 000000003974b584: a7090000 lghi %r0,0
>> 000000003974b588: b9040014 lgr %r1,%r4
>> 000000003974b58c: b25e0001 srst %r0,%r1
>> 000000003974b590: a714fffe brc 1,3974b58c
>> Call Trace:
>> ([<000003e00031fd80>] 0x3e00031fd80)
>> [<0000000039811662>] vfs_kern_mount.part.0+0x9a/0xc8
>> [<000000003a302fc0>] devtmpfs_init+0x38/0x140
>> [<000000003a302e0a>] driver_init+0x22/0x60
>> [<000000003a2beff8>] kernel_init_freeable+0x298/0x4f0
>> [<0000000039e7b53a>] kernel_init+0x22/0x148
>> [<0000000039e87b70>] ret_from_fork+0x30/0x34
>> [<0000000039e87b74>] kernel_thread_starter+0x0/0xc
>> INFO: lockdep is turned off.
>> [...]
>
> Oh, fuck... OK, I understand what's going on; sorry, my fault. Could you
> verify that the following helps?

Yes, it does.



>
> diff --git a/drivers/base/devtmpfs.c b/drivers/base/devtmpfs.c
> index 52312c665a38..30d0523014e0 100644
> --- a/drivers/base/devtmpfs.c
> +++ b/drivers/base/devtmpfs.c
> @@ -431,9 +431,10 @@ static int devtmpfsd(void *p)
> */
> int __init devtmpfs_init(void)
> {
> + char opts[] = "mode=0755";
> int err;
>
> - mnt = vfs_kern_mount(&internal_fs_type, 0, "devtmpfs", "mode=0755");
> + mnt = vfs_kern_mount(&internal_fs_type, 0, "devtmpfs", opts);
> if (IS_ERR(mnt)) {
> printk(KERN_ERR "devtmpfs: unable to create devtmpfs %ld\n",
> PTR_ERR(mnt));
>