Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp4384246ybb; Tue, 7 Apr 2020 06:32:11 -0700 (PDT) X-Google-Smtp-Source: APiQypJdJ3gmthUoKQPnCYjcxp/z7vZSt1P7eBRokMLLL27cJxBxSjFUbxOFZlCxPCeizZ3dXu5s X-Received: by 2002:a05:6830:19ce:: with SMTP id p14mr1538007otp.362.1586266331362; Tue, 07 Apr 2020 06:32:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586266331; cv=none; d=google.com; s=arc-20160816; b=RW53WyqMSKzJHv0Yw5zVcRZ83WVHQVbS9RXg5auWzmCWNrEQ1CDU72h29Q08pfunoF SZdpe98lBv5Cp/0dKrDNJ6TctWYPpFr80CbBQPDh166dc50dqz+BsK3Z65q6qAZ1lqSL By9xYsBvaps26j8sGbo43IVLysY/FjvOfeEWAx7YIhnuI2gxbPd6THt00vMiF8lM51jV 3UHTr3a6/YRQprLFRW+UQzj1PN/EWsCLUCoWyPGS4polrDM9vVMaAlcd5HEeZlzYiHx8 O739cPsZbMYASkt5PmvAQBKLQqouy9HcjlHpRongyG7o3qW3IKZMcWxfDHovPpv3WT82 Dl4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date; bh=F4e+0/NY3/G440IECuGCkrgfexDQXbjLNDdk3NbDKfI=; b=rxOsPXF5J/weBJgUzXEtF3CSdJp5PF2Xd5G8w76zUdKh7hgGX7kfjMERo3wKfwkR/V 2Ttj4SWAvzZ6FuZBaJEj3b4UTvBguti7S4h+2PkpWenP8VFVxtGp9J2UoF8RwF8dAoto TuUl50z3GrJf9nmYNsf6L8QNUnyw+iV57PQCDCinWU8i84Pl4BvXkKfvhDQoG40tpbpI 5yak1R2pNqa7OQyNh4ovGb09JHptSrUziaOrCp5LSSJta7OW2VRrhRKjRxQigETdFILk p/dpsH2mRmXqQqZQ92RRlVLWBResIn8gKyBtgPLaI3/XOkBUc2HDywi6irv/ZPEDreLA tJlw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t25si1176866ott.228.2020.04.07.06.31.57; Tue, 07 Apr 2020 06:32:11 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728904AbgDGNa5 convert rfc822-to-8bit (ORCPT + 99 others); Tue, 7 Apr 2020 09:30:57 -0400 Received: from mail.kernel.org ([198.145.29.99]:57270 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728482AbgDGNa5 (ORCPT ); Tue, 7 Apr 2020 09:30:57 -0400 Received: from gandalf.local.home (cpe-66-24-58-225.stny.res.rr.com [66.24.58.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C2905206F7; Tue, 7 Apr 2020 13:30:55 +0000 (UTC) Date: Tue, 7 Apr 2020 09:30:54 -0400 From: Steven Rostedt To: Qian Cai Cc: Michael Ellerman , Nicholas Piggin , linuxppc-dev , LKML Subject: Re: Linux-next POWER9 NULL pointer NIP since 1st Apr. Message-ID: <20200407093054.3eb23e45@gandalf.local.home> In-Reply-To: <0675B22E-8F32-432C-9378-FDE159DD1729@lca.pw> References: <15AC5B0E-A221-4B8C-9039-FA96B8EF7C88@lca.pw> <87eeszlb6u.fsf@mpe.ellerman.id.au> <0675B22E-8F32-432C-9378-FDE159DD1729@lca.pw> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 7 Apr 2020 09:01:10 -0400 Qian Cai wrote: > + Steven > > > On Apr 7, 2020, at 8:42 AM, Michael Ellerman wrote: > > > > Qian Cai writes: > >> Ever since 1st Apr, linux-next starts to trigger a NULL pointer NIP on POWER9 below using > >> this config, > >> > >> https://raw.githubusercontent.com/cailca/linux-mm/master/powerpc.config > >> > >> It takes a while to reproduce, so before I bury myself into bisecting and just send a head-up > >> to see if anyone spots anything obvious. > >> > >> [ 206.744625][T13224] LTP: starting fallocate04 > >> [ 207.601583][T27684] /dev/zero: Can't open blockdev > >> [ 208.674301][T27684] EXT4-fs (loop0): mounting ext3 file system using the ext4 subsystem > >> [ 208.680347][T27684] BUG: Unable to handle kernel instruction fetch (NULL pointer?) > >> [ 208.680383][T27684] Faulting instruction address: 0x00000000 > >> [ 208.680406][T27684] Oops: Kernel access of bad area, sig: 11 [#1] > >> [ 208.680439][T27684] LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=256 DEBUG_PAGEALLOC NUMA PowerNV > >> [ 208.680474][T27684] Modules linked in: ext4 crc16 mbcache jbd2 loop kvm_hv kvm ip_tables x_tables xfs sd_mod bnx2x ahci libahci mdio tg3 libata libphy firmware_class dm_mirror dm_region_hash dm_log dm_mod > >> [ 208.680576][T27684] CPU: 117 PID: 27684 Comm: fallocate04 Tainted: G W 5.6.0-next-20200401+ #288 > >> [ 208.680614][T27684] NIP: 0000000000000000 LR: c0080000102c0048 CTR: 0000000000000000 > >> [ 208.680657][T27684] REGS: c000200361def420 TRAP: 0400 Tainted: G W (5.6.0-next-20200401+) > >> [ 208.680700][T27684] MSR: 900000004280b033 CR: 42022228 XER: 20040000 > >> [ 208.680760][T27684] CFAR: c00800001032c494 IRQMASK: 0 > >> [ 208.680760][T27684] GPR00: c0000000005ac3f8 c000200361def6b0 c00000000165c200 c00020107dae0bd0 > >> [ 208.680760][T27684] GPR04: 0000000000000000 0000000000000400 0000000000000000 0000000000000000 > >> [ 208.680760][T27684] GPR08: c000200361def6e8 c0080000102c0040 000000007fffffff c000000001614e80 > >> [ 208.680760][T27684] GPR12: 0000000000000000 c000201fff671280 0000000000000000 0000000000000002 > >> [ 208.680760][T27684] GPR16: 0000000000000002 0000000000040001 c00020030f5a1000 c00020030f5a1548 > >> [ 208.680760][T27684] GPR20: c0000000015fbad8 c00000000168c654 c000200361def818 c0000000005b4c10 > >> [ 208.680760][T27684] GPR24: 0000000000000000 c0080000103365b8 c00020107dae0bd0 0000000000000400 > >> [ 208.680760][T27684] GPR28: c00000000168c3a8 0000000000000000 0000000000000000 0000000000000000 > >> [ 208.681014][T27684] NIP [0000000000000000] 0x0 > >> [ 208.681065][T27684] LR [c0080000102c0048] ext4_iomap_end+0x8/0x30 [ext4] > > > > That LR looks like it's pointing to the return from _mcount in > > ext4_iomap_end(), which means we have probably crashed in ftrace > > somewhere. > > > > Did you have tracing enabled when you ran the test? Or does it do > > tracing itself? > > Yes, it run ftrace at first before running LTP to trigger it, > > https://github.com/cailca/linux-mm/blob/master/test.sh > > echo function > /sys/kernel/debug/tracing/current_tracer > echo nop > /sys/kernel/debug/tracing/current_tracer > > There is another crash with even non-NULL NIP, but then symbol behaves weird. > > # ./scripts/faddr2line vmlinux sysctl_net_busy_read+0x0/0x4 > skipping sysctl_net_busy_read address at 0xc0000000016804ac due to non-function symbol of type 'D' > > [ 148.110969][T13115] LTP: starting chown04_16 > [ 148.255048][T13380] kernel tried to execute exec-protected page (c0000000016804ac) - exploit attempt? (uid: 0) > [ 148.255099][T13380] BUG: Unable to handle kernel instruction fetch > [ 148.255122][T13380] Faulting instruction address: 0xc0000000016804ac > [ 148.255136][T13380] Oops: Kernel access of bad area, sig: 11 [#1] > [ 148.255157][T13380] LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=256 DEBUG_PAGEALLOC NUMA PowerNV > [ 148.255171][T13380] Modules linked in: loop kvm_hv kvm xfs sd_mod bnx2x mdio ahci tg3 libahci libphy libata firmware_class dm_mirror dm_region_hash dm_log dm_mod > [ 148.255213][T13380] CPU: 45 PID: 13380 Comm: chown04_16 Tainted: G W 5.6.0+ #7 > [ 148.255236][T13380] NIP: c0000000016804ac LR: c00800000fa60408 CTR: c0000000016804ac > [ 148.255250][T13380] REGS: c0000010a6fafa00 TRAP: 0400 Tainted: G W (5.6.0+) > [ 148.255281][T13380] MSR: 9000000010009033 CR: 84000248 XER: 20040000 > [ 148.255310][T13380] CFAR: c00800000fa66534 IRQMASK: 0 > [ 148.255310][T13380] GPR00: c000000000973268 c0000010a6fafc90 c000000001648200 0000000000000000 > [ 148.255310][T13380] GPR04: c000000d8a22dc00 c0000010a6fafd30 00000000b5e98331 ffffffff00012c9f > [ 148.255310][T13380] GPR08: c000000d8a22dc00 0000000000000000 0000000000000000 c00000000163c520 > [ 148.255310][T13380] GPR12: c0000000016804ac c000001ffffdad80 0000000000000000 0000000000000000 > [ 148.255310][T13380] GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 > [ 148.255310][T13380] GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 > [ 148.255310][T13380] GPR24: 00007fff8f5e2e48 0000000000000000 c00800000fa6a488 c0000010a6fafd30 > [ 148.255310][T13380] GPR28: 0000000000000000 000000007fffffff c00800000fa60400 c000000efd0c6780 > [ 148.255494][T13380] NIP [c0000000016804ac] sysctl_net_busy_read+0x0/0x4 > [ 148.255516][T13380] LR [c00800000fa60408] find_free_cb+0x8/0x30 [loop] > [ 148.255528][T13380] Call Trace: > [ 148.255538][T13380] [c0000010a6fafc90] [c0000000009732c0] idr_for_each+0xf0/0x170 (unreliable) > [ 148.255572][T13380] [c0000010a6fafd10] [c00800000fa626c4] loop_lookup.part.1+0x4c/0xb0 [loop] > [ 148.255597][T13380] [c0000010a6fafd50] [c00800000fa634d8] loop_control_ioctl+0x120/0x1d0 [loop] > [ 148.255623][T13380] [c0000010a6fafdb0] [c0000000004ddc08] ksys_ioctl+0xd8/0x130 > [ 148.255636][T13380] [c0000010a6fafe00] [c0000000004ddc88] sys_ioctl+0x28/0x40 > [ 148.255669][T13380] [c0000010a6fafe20] [c00000000000b378] system_call+0x5c/0x68 > [ 148.255699][T13380] Instruction dump: > [ 148.255718][T13380] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX > [ 148.255744][T13380] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX > [ 148.255772][T13380] ---[ end trace a5894a74208c22ec ]--- > [ 148.576663][T13380] > [ 149.576765][T13380] Kernel panic - not syncing: Fatal exception > > The bisect so far indicated the bad ones always have this, > > aa1a8ce53332 Merge tag 'trace-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace > > I’ll go to bisect some more but it is going to take a while. > > $ git log --oneline 4c205c84e249..8e99cf91b99b > 8e99cf91b99b tracing: Do not allocate buffer in trace_find_next_entry() in atomic > 2ab2a0924b99 tracing: Add documentation on set_ftrace_notrace_pid and set_event_notrace_pid > ebed9628f5c2 selftests/ftrace: Add test to test new set_event_notrace_pid file > ed8839e072b8 selftests/ftrace: Add test to test new set_ftrace_notrace_pid file > 276836260301 tracing: Create set_event_notrace_pid to not trace tasks > b3b1e6ededa4 ftrace: Create set_ftrace_notrace_pid to not trace tasks > 717e3f5ebc82 ftrace: Make function trace pid filtering a bit more exact If it is affecting function tracing, it is probably one of the above two commits. -- Steve > 6a13a0d7b4d1 ftrace/kprobe: Show the maxactive number on kprobe_events > 8a815e6b8b88 tracing: Have the document reflect that the trace file keeps tracing enabled > c9b7a4a72ff6 ring-buffer/tracing: Have iterator acknowledge dropped events > 06e0a548bad0 tracing: Do not disable tracing when reading the trace file > 1039221cc278 ring-buffer: Do not disable recording when there is an iterator > 07b8b10ec94f ring-buffer: Make resize disable per cpu buffer instead of total buffer > 153368ce1bd0 ring-buffer: Optimize rb_iter_head_event() > ff84c50cfb4b ring-buffer: Do not die if rb_iter_peek() fails more than thrice > 785888c544e0 ring-buffer: Have rb_iter_head_event() handle concurrent writer > 28e3fc56a471 ring-buffer: Add page_stamp to iterator for synchronization > bc1a72afdc4a ring-buffer: Rename ring_buffer_read() to read_buffer_iter_advance() > ead6ecfddea5 ring-buffer: Have ring_buffer_empty() not depend on tracing stopped > ff895103a84a tracing: Save off entry when peeking at next entry > 8c77f0ba4156 selftest/ftrace: Fix function trigger test to handle trace not disabling the tracer > bf2cbe044da2 tracing: Use address-of operator on section symbols > bbd9d05618a6 gpu/trace: add a gpu total memory usage tracepoint > 89b74cac7834 tools/bootconfig: Show line and column in parse error > 306b69dce926 bootconfig: Support O= option > 5412e0b763e0 tracing: Remove unused TRACE_BUFFER bits > b396bfdebffc tracing: Have hwlat ts be first instance and record count of instances > > > > > > cheers > > > >> [ 208.681091][T27684] Call Trace: > >> [ 208.681129][T27684] [c000200361def6b0] [c0000000005ac3bc] iomap_apply+0x20c/0x920 (unreliable) iomap_apply at fs/iomap/apply.c:80 (discriminator 4) > >> [ 208.681173][T27684] [c000200361def7f0] [c0000000005b4adc] iomap_bmap+0xfc/0x160 iomap_bmap at fs/iomap/fiemap.c:142 > >> [ 208.681228][T27684] [c000200361def850] [c0080000102c2c1c] ext4_bmap+0xa4/0x180 [ext4] ext4_bmap at fs/ext4/inode.c:3213 > >> [ 208.681260][T27684] [c000200361def890] [c0000000004f71fc] bmap+0x4c/0x80 > >> [ 208.681281][T27684] [c000200361def8c0] [c00800000fdb0acc] jbd2_journal_init_inode+0x44/0x1a0 [jbd2] jbd2_journal_init_inode at fs/jbd2/journal.c:1255 > >> [ 208.681326][T27684] [c000200361def960] [c00800001031c808] ext4_load_journal+0x440/0x860 [ext4] > >> [ 208.681371][T27684] [c000200361defa30] [c008000010322a14] ext4_fill_super+0x342c/0x3ab0 [ext4] > >> [ 208.681414][T27684] [c000200361defba0] [c0000000004cb0bc] mount_bdev+0x25c/0x290 > >> [ 208.681478][T27684] [c000200361defc40] [c008000010310250] ext4_mount+0x28/0x50 [ext4] > >> [ 208.681520][T27684] [c000200361defc60] [c00000000053242c] legacy_get_tree+0x4c/0xb0 > >> [ 208.681556][T27684] [c000200361defc90] [c0000000004c864c] vfs_get_tree+0x4c/0x130 > >> [ 208.681593][T27684] [c000200361defd00] [c00000000050a1c8] do_mount+0xa18/0xc50 > >> [ 208.681641][T27684] [c000200361defdd0] [c00000000050a9a8] sys_mount+0x158/0x180 > >> [ 208.681679][T27684] [c000200361defe20] [c00000000000b3f8] system_call+0x5c/0x68 > >> [ 208.681726][T27684] Instruction dump: > >> [ 208.681747][T27684] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX > >> [ 208.681797][T27684] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX > >> [ 208.681839][T27684] ---[ end trace 4e9e2bab7f1d4048 ]--- > >> [ 208.802259][T27684] > >> [ 209.802373][T27684] Kernel panic - not syncing: Fatal exception > >> > >> [ 215.281666][T16896] LTP: starting chown04_16 > >> [ 215.424203][T18297] BUG: Unable to handle kernel instruction fetch (NULL pointer?) > >> [ 215.424289][T18297] Faulting instruction address: 0x00000000 > >> [ 215.424313][T18297] Oops: Kernel access of bad area, sig: 11 [#1] > >> [ 215.424341][T18297] LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=256 DEBUG_PAGEALLOC NUMA PowerNV > >> [ 215.424383][T18297] Modules linked in: loop kvm_hv kvm ip_tables x_tables xfs sd_mod bnx2x mdio tg3 ahci libahci libphy libata firmware_class dm_mirror dm_region_hash dm_log dm_mod > >> [ 215.424459][T18297] CPU: 85 PID: 18297 Comm: chown04_16 Tainted: G W 5.6.0-next-20200405+ #3 > >> [ 215.424489][T18297] NIP: 0000000000000000 LR: c00800000fbc0408 CTR: 0000000000000000 > >> [ 215.424530][T18297] REGS: c000200b8606f990 TRAP: 0400 Tainted: G W (5.6.0-next-20200405+) > >> [ 215.424570][T18297] MSR: 9000000040009033 CR: 84000248 XER: 20040000 > >> [ 215.424619][T18297] CFAR: c00800000fbc64f4 IRQMASK: 0 > >> [ 215.424619][T18297] GPR00: c0000000006c2238 c000200b8606fc20 c00000000165ce00 0000000000000000 > >> [ 215.424619][T18297] GPR04: c000201a58106400 c000200b8606fcc0 000000005f037e7d ffffffff00013bfb > >> [ 215.424619][T18297] GPR08: c000201a58106400 0000000000000000 0000000000000000 c000000001652ee0 > >> [ 215.424619][T18297] GPR12: 0000000000000000 c000201fff69a600 0000000000000000 0000000000000000 > >> [ 215.424619][T18297] GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 > >> [ 215.424619][T18297] GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000007 > >> [ 215.424619][T18297] GPR24: 0000000000000000 0000000000000000 c00800000fbc8688 c000200b8606fcc0 > >> [ 215.424619][T18297] GPR28: 0000000000000000 000000007fffffff c00800000fbc0400 c00020068b8c0e70 > >> [ 215.424914][T18297] NIP [0000000000000000] 0x0 > >> [ 215.424953][T18297] LR [c00800000fbc0408] find_free_cb+0x8/0x30 [loop] > >> find_free_cb at drivers/block/loop.c:2129 > >> [ 215.424997][T18297] Call Trace: > >> [ 215.425036][T18297] [c000200b8606fc20] [c0000000006c2290] idr_for_each+0xf0/0x170 (unreliable) > >> [ 215.425073][T18297] [c000200b8606fca0] [c00800000fbc2744] loop_lookup.part.2+0x4c/0xb0 [loop] > >> loop_lookup at drivers/block/loop.c:2144 > >> [ 215.425105][T18297] [c000200b8606fce0] [c00800000fbc3558] loop_control_ioctl+0x120/0x1d0 [loop] > >> [ 215.425149][T18297] [c000200b8606fd40] [c0000000004eb688] ksys_ioctl+0xd8/0x130 > >> [ 215.425190][T18297] [c000200b8606fd90] [c0000000004eb708] sys_ioctl+0x28/0x40 > >> [ 215.425233][T18297] [c000200b8606fdb0] [c00000000003cc30] system_call_exception+0x110/0x1e0 > >> [ 215.425274][T18297] [c000200b8606fe20] [c00000000000c9f0] system_call_common+0xf0/0x278 > >> [ 215.425314][T18297] Instruction dump: > >> [ 215.425338][T18297] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX > >> [ 215.425374][T18297] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX > >> [ 215.425422][T18297] ---[ end trace ebed248fad431966 ]--- > >> [ 215.642114][T18297] > >> [ 216.642220][T18297] Kernel panic - not syncing: Fatal exception