[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <164368097301.23346.7911968188172363088.b4-ty@oracle.com>
Date: Mon, 31 Jan 2022 21:03:20 -0500
From: "Martin K. Petersen" <martin.petersen@...cle.com>
To: John Meneghini <jmeneghi@...hat.com>, skashyap@...vell.com
Cc: "Martin K . Petersen" <martin.petersen@...cle.com>,
linux-scsi@...r.kernel.org, mlombard@...hat.com,
linux-kernel@...r.kernel.org,
GR-QLogic-Storage-Upstream@...vell.com, njavali@...vell.com,
guazhang@...hat.com
Subject: Re: [PATCH] scsi: bnx2fc: make bnx2fc_recv_frame mp safe
On Mon, 24 Jan 2022 09:51:10 -0500, John Meneghini wrote:
> Running tests with a debug kernel shows that bnx2fc_recv_frame is
> modifying the per_cpu lport stats counters in a non-mpsafe way.
> Just boot a debug kernel and run the bnx2fc driver with the hardware
> enabled.
>
> [ 1391.699147] BUG: using smp_processor_id() in preemptible [00000000] code: bnx2fc_
> [ 1391.699160] caller is bnx2fc_recv_frame+0xbf9/0x1760 [bnx2fc]
> [ 1391.699174] CPU: 2 PID: 4355 Comm: bnx2fc_l2_threa Kdump: loaded Tainted: G B
> [ 1391.699180] Hardware name: HP ProLiant DL120 G7, BIOS J01 07/01/2013
> [ 1391.699183] Call Trace:
> [ 1391.699188] dump_stack_lvl+0x57/0x7d
> [ 1391.699198] check_preemption_disabled+0xc8/0xd0
> [ 1391.699205] bnx2fc_recv_frame+0xbf9/0x1760 [bnx2fc]
> [ 1391.699215] ? do_raw_spin_trylock+0xb5/0x180
> [ 1391.699221] ? bnx2fc_npiv_create_vports.isra.0+0x4e0/0x4e0 [bnx2fc]
> [ 1391.699229] ? bnx2fc_l2_rcv_thread+0xb7/0x3a0 [bnx2fc]
> [ 1391.699240] bnx2fc_l2_rcv_thread+0x1af/0x3a0 [bnx2fc]
> [ 1391.699250] ? bnx2fc_ulp_init+0xc0/0xc0 [bnx2fc]
> [ 1391.699258] kthread+0x364/0x420
> [ 1391.699263] ? _raw_spin_unlock_irq+0x24/0x50
> [ 1391.699268] ? set_kthread_struct+0x100/0x100
> [ 1391.699273] ret_from_fork+0x22/0x30
>
> [...]
Applied to 5.17/scsi-fixes, thanks!
[1/1] scsi: bnx2fc: make bnx2fc_recv_frame mp safe
https://git.kernel.org/mkp/scsi/c/936bd03405fc
--
Martin K. Petersen Oracle Linux Engineering
Powered by blists - more mailing lists