[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7a721ee3-2a71-ffda-a818-796ebc81d288@gmail.com>
Date: Fri, 15 Oct 2021 15:57:55 -0700
From: James Smart <jsmart2021@...il.com>
To: Zheyu Ma <zheyuma97@...il.com>, james.smart@...adcom.com,
dick.kennedy@...adcom.com, jejb@...ux.ibm.com,
martin.petersen@...cle.com
Cc: linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] scsi: lpfc: Fix the misuse of the logging function
On 10/14/2021 11:33 PM, Zheyu Ma wrote:
> When the driver fails in lpfc_enable_pci_dev(), it will call
> lpfc_printf_log(), and in a certain case the lpfc_dmp_dbg() is
> eventually called, this function uses 'phba->port_list_lock', and at
> this time this lock is not been initialized, which may cause a bug.
>
> Fix this by using 'dev_printk' to replace the previous function.
>
> The following log reveals it:
>
> [ 32.955597 ] INFO: trying to register non-static key.
> [ 32.956002 ] The code is fine but needs lockdep annotation, or maybe
> [ 32.956491 ] you didn't initialize this object before use?
> [ 32.956916 ] turning off the locking correctness validator.
> [ 32.958801 ] Call Trace:
> [ 32.958994 ] dump_stack_lvl+0xa8/0xd1
> [ 32.959286 ] dump_stack+0x15/0x17
> [ 32.959547 ] assign_lock_key+0x212/0x220
> [ 32.959853 ] ? SOFTIRQ_verbose+0x10/0x10
> [ 32.960158 ] ? lock_is_held_type+0xd6/0x130
> [ 32.960483 ] register_lock_class+0x126/0x790
> [ 32.960815 ] ? rcu_read_lock_sched_held+0x33/0x70
> [ 32.961233 ] __lock_acquire+0xe9/0x1e20
> [ 32.961565 ] ? delete_node+0x71e/0x790
> [ 32.961859 ] ? __this_cpu_preempt_check+0x13/0x20
> [ 32.962220 ] ? lock_is_held_type+0xd6/0x130
> [ 32.962545 ] lock_acquire+0x244/0x490
> [ 32.962831 ] ? lpfc_dmp_dbg+0x65/0x600 [lpfc]
> [ 32.963241 ] ? __kasan_check_write+0x14/0x20
> [ 32.963572 ] ? read_lock_is_recursive+0x20/0x20
> [ 32.963921 ] ? __this_cpu_preempt_check+0x13/0x20
> [ 32.964284 ] ? lpfc_dmp_dbg+0x65/0x600 [lpfc]
> [ 32.964685 ] ? _raw_spin_lock_irqsave+0x29/0x70
> [ 32.965086 ] ? __kasan_check_read+0x11/0x20
> [ 32.965410 ] ? trace_irq_disable_rcuidle+0x85/0x170
> [ 32.965787 ] _raw_spin_lock_irqsave+0x4e/0x70
> [ 32.966124 ] ? lpfc_dmp_dbg+0x65/0x600 [lpfc]
> [ 32.966526 ] lpfc_dmp_dbg+0x65/0x600 [lpfc]
> [ 32.966913 ] ? lockdep_init_map_type+0x162/0x710
> [ 32.967269 ] ? error_prone+0x25/0x30 [lpfc]
> [ 32.967657 ] lpfc_enable_pci_dev+0x157/0x250 [lpfc]
>
> Signed-off-by: Zheyu Ma <zheyuma97@...il.com>
Zheyu,
Thank you for the time and effort on this. Your points are all valid.
However, we'd like to correct this using a slightly different method.
We will post a different patch shortly for the issue.
-- james
Powered by blists - more mailing lists