lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20230811120225.4133-1-marshall.shao@dell.com> Date: Fri, 11 Aug 2023 20:02:25 +0800 From: marshall.shao@...l.com To: Jesse Brandeburg <jesse.brandeburg@...el.com>, Tony Nguyen <anthony.l.nguyen@...el.com>, "David S . Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Jacob Keller <jacob.e.keller@...el.com>, Simon Horman <simon.horman@...igine.com>, Akihiko Odaki <akihiko.odaki@...nix.com>, Kees Cook <keescook@...omium.org>, Bjorn Helgaas <bhelgaas@...gle.com>, Aleksandr Loktionov <aleksandr.loktionov@...el.com>, Lin Ma <linma@....edu.cn>, intel-wired-lan@...ts.osuosl.org, netdev@...r.kernel.org, linux-kernel@...r.kernel.org Cc: Marshall Shao <Marshall.Shao@...l.com> Subject: [PATCH] Fix kernel panic issue after removing igb driver From: Marshall Shao <Marshall.Shao@...l.com> This patch fixes a kernel panic issue after removing the igb driver from the usermode. A delayed work will be schedule in igb_ptp_init(), if (adapter->ptp_flags & IGB_PTP_OVERFLOW_CHECK) INIT_DELAYED_WORK(&adapter->ptp_overflow_work, igb_ptp_overflow_check); If CONFIG_PTP_1588_CLOCK is not enabled, the delayed work cannot be cancelled when igb_ptp_suspend is called. Signed-off-by: Marshall Shao <Marshall.Shao@...l.com> --- drivers/net/ethernet/intel/igb/igb_ptp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c b/drivers/net/ethernet/intel/igb/igb_ptp.c index 405886ee5261..b21822ea1c7d 100644 --- a/drivers/net/ethernet/intel/igb/igb_ptp.c +++ b/drivers/net/ethernet/intel/igb/igb_ptp.c @@ -1435,12 +1435,12 @@ void igb_ptp_sdp_init(struct igb_adapter *adapter) */ void igb_ptp_suspend(struct igb_adapter *adapter) { - if (!(adapter->ptp_flags & IGB_PTP_ENABLED)) - return; - if (adapter->ptp_flags & IGB_PTP_OVERFLOW_CHECK) cancel_delayed_work_sync(&adapter->ptp_overflow_work); + if (!(adapter->ptp_flags & IGB_PTP_ENABLED)) + return; + cancel_work_sync(&adapter->ptp_tx_work); if (adapter->ptp_tx_skb) { dev_kfree_skb_any(adapter->ptp_tx_skb); -- 2.34.1
Powered by blists - more mailing lists