NULL pointer in get_next_timer_interrupt() with qla2xxx driver on RHEL7.5
Issue
-
Kernel panic in get_next_timer_interrupt() due to NULL pointer dereferencing:
[1250992.394968] BUG: unable to handle kernel NULL pointer dereference at 0000000000000019 [1250992.395774] IP: [<ffffffff91aa4e58>] get_next_timer_interrupt+0x1b8/0x260 [1250992.396305] PGD 0 [1250992.396705] Oops: 0000 [#1] SMP [1250992.402975] RIP: 0010:[<ffffffff91aa4e58>] [<ffffffff91aa4e58>] get_next_timer_interrupt+0x1b8/0x260 [1250992.409880] Call Trace: [1250992.410618] [<ffffffff91b01f98>] tick_nohz_stop_sched_tick+0x1e8/0x380 [1250992.411374] [<ffffffff91b021cf>] __tick_nohz_idle_enter+0x9f/0x160 [1250992.412084] [<ffffffff91b0270f>] tick_nohz_idle_enter+0x3f/0x70 [1250992.412799] [<ffffffff91af32b7>] cpu_startup_entry+0xa7/0x1e0 [1250992.413546] [<ffffffff91a55f97>] start_secondary+0x1f7/0x270 [1250992.414305] [<ffffffff91a000d5>] start_cpu+0x5/0x14 [1250992.416640] RIP [<ffffffff91aa4e58>] get_next_timer_interrupt+0x1b8/0x260 [1250992.417443] RSP <ffff9a556766fdf0> [1250992.418239] CR2: 0000000000000019
-
Other pattern of log is as below :
[ 5.376055] Call Trace: [ 5.378491] <IRQ> [<ffffffff90d54638>] dump_stack+0x19/0x1b [ 5.384235] [<ffffffff90696278>] __warn+0xd8/0x100 [ 5.389100] [<ffffffff906963bd>] warn_slowpath_null+0x1d/0x20 [ 5.394918] [<ffffffff906560f5>] native_smp_send_reschedule+0x65/0x70 [ 5.401430] [<ffffffff906e39a1>] trigger_load_balance+0x191/0x280 [ 5.407595] [<ffffffff906d2eca>] scheduler_tick+0x10a/0x150 [ 5.413241] [<ffffffff90708e60>] ? tick_sched_do_timer+0x50/0x50 [ 5.419320] [<ffffffff906a9825>] update_process_times+0x65/0x80 [ 5.425311] [<ffffffff90708c60>] tick_sched_handle+0x30/0x70 [ 5.431043] [<ffffffff90708e99>] tick_sched_timer+0x39/0x80 [ 5.436689] [<ffffffff906c4286>] __hrtimer_run_queues+0xd6/0x260 [ 5.442767] [<ffffffff906c481f>] hrtimer_interrupt+0xaf/0x1d0 [ 5.448586] [<ffffffff9065974b>] local_apic_timer_interrupt+0x3b/0x60 [ 5.455098] [<ffffffff90d6c9c3>] smp_apic_timer_interrupt+0x43/0x60 [ 5.461436] [<ffffffff90d68d5c>] apic_timer_interrupt+0x17c/0x190 [ 5.467600] <EOI> [<ffffffff90d4df2d>] ? panic+0x1d5/0x21f [ 5.473257] [<ffffffff90d4de91>] ? panic+0x139/0x21f [ 5.478295] [<ffffffff90d5f7b5>] oops_end+0xc5/0xe0 [ 5.483248] [<ffffffff90d4d36e>] no_context+0x285/0x2a8 [ 5.488546] [<ffffffff90d4d405>] __bad_area_nosemaphore+0x74/0x1d1 [ 5.494797] [<ffffffff90d4d576>] bad_area_nosemaphore+0x14/0x16 [ 5.500788] [<ffffffff90d62750>] __do_page_fault+0x330/0x4f0 [ 5.506520] [<ffffffff90d5a04c>] ? __schedule+0x41c/0xa20 [ 5.511992] [<ffffffff90d62945>] do_page_fault+0x35/0x90 [ 5.517377] [<ffffffff90d5e788>] page_fault+0x28/0x30 [ 5.522515] [<ffffffffc06859ae>] ? __qla2x00_alloc_iocbs+0x12e/0x330 [qla2xxx] [ 5.529818] [<ffffffffc0685c0b>] __qla2x00_marker.isra.21+0x5b/0x140 [qla2xxx] [ 5.537122] [<ffffffffc0685d35>] qla2x00_marker+0x45/0x70 [qla2xxx] [ 5.543471] [<ffffffffc0670e79>] qla2x00_loop_resync+0x289/0x12a0 [qla2xxx] [ 5.550504] [<ffffffff906df0ce>] ? dequeue_task_fair+0x41e/0x660 [ 5.556580] [<ffffffff9062a59e>] ? __switch_to+0xce/0x580 [ 5.562053] [<ffffffff90d5a04c>] ? __schedule+0x41c/0xa20 [ 5.567523] [<ffffffff906d051e>] ? set_user_nice+0x18e/0x250 [ 5.573264] [<ffffffffc065ea65>] qla2x00_do_dpc+0x895/0xa20 [qla2xxx] [ 5.579785] [<ffffffffc065e1d0>] ? qla24xx_post_relogin_work+0x40/0x40 [qla2xxx] [ 5.587250] [<ffffffff906c00c1>] kthread+0xd1/0xe0 [ 5.592114] [<ffffffff906bfff0>] ? insert_kthread_work+0x40/0x40 [ 5.598194] [<ffffffff90d67b37>] ret_from_fork_nospec_begin+0x21/0x21 [ 5.604704] [<ffffffff906bfff0>] ? insert_kthread_work+0x40/0x40
Environment
- Red Hat Enterprise Linux 7.5
- kernel-3.10.0-862.el7 ~ kernel-3.10.0-862.11.6.el7
- Qlogic qla2xxx driver
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.