Re: 💥 PANICKED: Waiting for review: Test report for kernel 5.15.0-rc6 (block, 1983520d)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 19, 2021 at 10:52 AM Jens Axboe <axboe@xxxxxxxxx> wrote:
>
> On 10/18/21 8:13 PM, Yi Zhang wrote:
> > Hello
> >
> > With this commit, the servers boots with NULL pointer[1], pls help check it.
> >
> >>        Kernel repo: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
> >>             Commit: 1983520d28d8 - Merge branch 'for-5.16/io_uring' into for-next
> > [1]
> > [    8.614036] Kernel attempted to read user page (f) - exploit
> > attempt? (uid: 0)
> > [    8.614071] BUG: Kernel NULL pointer dereference on read at 0x0000000f
> > [    8.614099] Faulting instruction address: 0xc00000000093b5b4
> > [    8.614118] Oops: Kernel access of bad area, sig: 11 [#1]
> > [    8.614143] LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=2048 NUMA PowerNV
> > [    8.614192] Modules linked in: zram ip_tables ast i2c_algo_bit
> > drm_vram_helper drm_kms_helper syscopyarea sysfillrect sysimgblt
> > fb_sys_fops cec drm_ttm_helper ttm drm vmx_crypto crc32c_vpmsum
> > i2c_core drm_panel_orientation_quirks
> > [    8.614285] CPU: 52 PID: 0 Comm: swapper/52 Not tainted 5.15.0-rc6+ #1
> > [    8.614323] NIP:  c00000000093b5b4 LR: c00000000093b5a4 CTR: c000000000972c50
> > [    8.614371] REGS: c000000018d3b430 TRAP: 0300   Not tainted  (5.15.0-rc6+)
> > [    8.614409] MSR:  9000000000009033 <SF,HV,EE,ME,IR,DR,RI,LE>  CR:
> > 44004284  XER: 00000000
> > [    8.614464] CFAR: c000000000972cd0 DAR: 000000000000000f DSISR:
> > 40000000 IRQMASK: 1
> > [    8.614464] GPR00: c00000000093b5a4 c000000018d3b6d0
> > c0000000028aa100 c000000044582a00
> > [    8.614464] GPR04: 00000000ffff8e2c 0000000000000001
> > 0000000000000004 c000000001212930
> > [    8.614464] GPR08: 00000000000001d7 0000000000000007
> > c000000044361f80 0000000000000000
> > [    8.614464] GPR12: c000000000972c50 c000001ffffa7200
> > 0000000000000000 0000000000000100
> > [    8.614464] GPR16: 0000000000000004 0000000004200042
> > 0000000000000000 0000000000000001
> > [    8.614464] GPR20: c0000000028d3a00 c000000002167888
> > 00000000ffff8e2d c000000002167888
> > [    8.614464] GPR24: c0000000021f0580 0000000000000001
> > c000000044582ae0 0000000000000801
> > [    8.614464] GPR28: c000000044361f80 c000000044361f80
> > c00000003b81f800 c000000044582a00
> > [    8.614852] NIP [c00000000093b5b4] blk_mq_free_request+0x74/0x210
> > [    8.614898] LR [c00000000093b5a4] blk_mq_free_request+0x64/0x210
> > [    8.614942] Call Trace:
> > [    8.614961] [c000000018d3b6d0] [c00000000093b8ec]
> > __blk_mq_end_request+0x19c/0x1d0 (unreliable)
> > [    8.615020] [c000000018d3b710] [c00000000092fdfc]
> > blk_flush_complete_seq+0x1ac/0x3d0
> > [    8.615077] [c000000018d3b770] [c0000000009302dc] flush_end_io+0x2bc/0x390
> > [    8.615122] [c000000018d3b7d0] [c00000000093b7cc]
> > __blk_mq_end_request+0x7c/0x1d0
> > [    8.615174] [c000000018d3b810] [c000000000c20684]
> > scsi_end_request+0x124/0x270
> > [    8.615228] [c000000018d3b860] [c000000000c21458]
> > scsi_io_completion+0x1f8/0x740
> > [    8.615250] [c000000018d3b900] [c000000000c13e14]
> > scsi_finish_command+0x134/0x190
> > [    8.615292] [c000000018d3b990] [c000000000c21068] scsi_complete+0xa8/0x200
> > [    8.615345] [c000000018d3ba10] [c000000000939870] blk_complete_reqs+0x80/0xa0
> > [    8.615409] [c000000018d3ba40] [c00000000115dfe0] __do_softirq+0x170/0x3fc
> > [    8.615475] [c000000018d3bb30] [c00000000015df38] __irq_exit_rcu+0x168/0x1a0
> > [    8.615535] [c000000018d3bb60] [c00000000015e140] irq_exit+0x20/0x40
> > [    8.615583] [c000000018d3bb80] [c000000000054670]
> > doorbell_exception+0x120/0x300
> > [    8.615616] [c000000018d3bbc0] [c000000000016cc4]
> > replay_soft_interrupts+0x1e4/0x2c0
> > [    8.615639] [c000000018d3bda0] [c000000000016ed8]
> > arch_local_irq_restore+0x138/0x1a0
> > [    8.615694] [c000000018d3bdd0] [c000000000de1714]
> > cpuidle_enter_state+0x104/0x540
> > [    8.615741] [c000000018d3be30] [c000000000de1bec] cpuidle_enter+0x4c/0x70
> > [    8.615795] [c000000018d3be70] [c0000000001aef18] do_idle+0x2f8/0x3f0
> > [    8.615839] [c000000018d3bf00] [c0000000001af238] cpu_startup_entry+0x38/0x40
> > [    8.615901] [c000000018d3bf30] [c00000000005be6c] start_secondary+0x29c/0x2b0
> > [    8.615969] [c000000018d3bf90] [c00000000000d254]
> > start_secondary_prolog+0x10/0x14
> > [    8.616025] Instruction dump:
> > [    8.616074] 41820048 e93d0008 e9290000 e9890068 2c2c0000 41820010
> > 7d8903a6 4e800421
> > [    8.616136] e8410018 e93f00d8 2c290000 41820140 <e8690008> 4bff6b91
> > 60000000 39400000
> > [    8.616184] ---[ end trace cc3215be892e1be7 ]---
> > [    8.644628] systemd-journald[1408]: Received client request to
> > flush runtime journal.
> > [  OK  ] Finished Create Static Device Nodes in /dev.
> >          Starting Rule-based Manage…for Device Events and Files...
> > [  OK  ] Finished Coldplug All udev Devices.
> >          Starting Wait for udev To …plete Device Initialization...
> > [    8.690954] fuse: init (API version 7.34)
> > [  OK  ] Finished Load Kernel Module fuse.
> > [    8.694411]
> >          Mounting FUSE Control File System...
> > [  OK  ] Mounted FUSE Control File System.
> > [  OK  ] Started Rule-based Manager for Device Events and Files.
> >          Starting Load Kernel Module configfs...
> > [  OK  ] Finished Load Kernel Module configfs.
> > [    8.950307] IPMI message handler: version 39.2
> > [  OK  ] Found device /dev/zram0.
> >          Starting Create swap on /dev/zram0...
> > [    9.008355] zram0: detected capacity change from 0 to 16777216
> > [    9.694430] Kernel panic - not syncing: Aiee, killing interrupt handler!
> > [   11.080031] ---[ end Kernel panic - not syncing: Aiee, killing
> > interrupt handler! ]---
>
> Can you try this?
>

Yeah, the boot panic issue was fixed on ppc64le from my testing, how
about wait CKI re-test it on other arches?

>
> diff --git a/block/blk-flush.c b/block/blk-flush.c
> index 4201728bf3a5..e9c0b300a177 100644
> --- a/block/blk-flush.c
> +++ b/block/blk-flush.c
> @@ -129,6 +129,9 @@ static void blk_flush_restore_request(struct request *rq)
>         /* make @rq a normal request */
>         rq->rq_flags &= ~RQF_FLUSH_SEQ;
>         rq->end_io = rq->flush.saved_end_io;
> +       /* clear pointers overlapping with flush data */
> +       rq->elv.icq = NULL;
> +       rq->elv.priv[0] = rq->elv.priv[1] = NULL;
>  }
>
>  static void blk_flush_queue_rq(struct request *rq, bool add_front)
>
> --
> Jens Axboe
>


-- 
Best Regards,
  Yi Zhang





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux