All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Horman <horms@kernel.org>
To: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Cc: intel-wired-lan@lists.osuosl.org, anthony.l.nguyen@intel.com,
	netdev@vger.kernel.org, Jacob Keller <jacob.e.keller@intel.com>,
	Jakub Kicinski <kuba@kernel.org>
Subject: Re: [Intel-wired-lan] [PATCH net] ice: fix locking around wait_event_interruptible_locked_irq
Date: Fri, 3 Apr 2026 10:11:39 +0100	[thread overview]
Message-ID: <20260403091139.GF11973@horms.kernel.org> (raw)
In-Reply-To: <20260327072332.130320-2-aleksandr.loktionov@intel.com>

On Fri, Mar 27, 2026 at 08:23:25AM +0100, Aleksandr Loktionov wrote:
> From: Jacob Keller <jacob.e.keller@intel.com>
> 
> Commit 50327223a8bb ("ice: add lock to protect low latency interface")
> introduced a wait queue used to protect the low latency timer interface.
> The queue is used with the wait_event_interruptible_locked_irq macro, which
> unlocks the wait queue lock while sleeping. The irq variant uses
> spin_lock_irq and spin_unlock_irq to manage this. The wait queue lock was
> previously locked using spin_lock_irqsave. This difference in lock variants
> could lead to issues, since wait_event would unlock the wait queue and
> restore interrupts while sleeping.
> 
> The ice_read_phy_tstamp_ll_e810() function is ultimately called through
> ice_read_phy_tstamp, which is called from ice_ptp_process_tx_tstamp or
> ice_ptp_clear_unexpected_tx_ready. The former is called through the
> miscellaneous IRQ thread function, while the latter is called from the
> service task work queue thread. Neither of these functions has interrupts
> disabled, so use spin_lock_irq instead of spin_lock_irqsave.
> 
> Fixes: 50327223a8bb ("ice: add lock to protect low latency interface")
> Cc: stable@vger.kernel.org
> Reported-by: Jakub Kicinski <kuba@kernel.org>
> Closes: https://lore.kernel.org/netdev/20250109181823.77f44c69@kernel.org/
> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>

Reviewed-by: Simon Horman <horms@kernel.org>

WARNING: multiple messages have this Message-ID (diff)
From: Simon Horman <horms@kernel.org>
To: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Cc: intel-wired-lan@lists.osuosl.org, anthony.l.nguyen@intel.com,
	netdev@vger.kernel.org, Jacob Keller <jacob.e.keller@intel.com>,
	Jakub Kicinski <kuba@kernel.org>
Subject: Re: [PATCH net] ice: fix locking around wait_event_interruptible_locked_irq
Date: Fri, 3 Apr 2026 10:11:39 +0100	[thread overview]
Message-ID: <20260403091139.GF11973@horms.kernel.org> (raw)
In-Reply-To: <20260327072332.130320-2-aleksandr.loktionov@intel.com>

On Fri, Mar 27, 2026 at 08:23:25AM +0100, Aleksandr Loktionov wrote:
> From: Jacob Keller <jacob.e.keller@intel.com>
> 
> Commit 50327223a8bb ("ice: add lock to protect low latency interface")
> introduced a wait queue used to protect the low latency timer interface.
> The queue is used with the wait_event_interruptible_locked_irq macro, which
> unlocks the wait queue lock while sleeping. The irq variant uses
> spin_lock_irq and spin_unlock_irq to manage this. The wait queue lock was
> previously locked using spin_lock_irqsave. This difference in lock variants
> could lead to issues, since wait_event would unlock the wait queue and
> restore interrupts while sleeping.
> 
> The ice_read_phy_tstamp_ll_e810() function is ultimately called through
> ice_read_phy_tstamp, which is called from ice_ptp_process_tx_tstamp or
> ice_ptp_clear_unexpected_tx_ready. The former is called through the
> miscellaneous IRQ thread function, while the latter is called from the
> service task work queue thread. Neither of these functions has interrupts
> disabled, so use spin_lock_irq instead of spin_lock_irqsave.
> 
> Fixes: 50327223a8bb ("ice: add lock to protect low latency interface")
> Cc: stable@vger.kernel.org
> Reported-by: Jakub Kicinski <kuba@kernel.org>
> Closes: https://lore.kernel.org/netdev/20250109181823.77f44c69@kernel.org/
> Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
> Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>

Reviewed-by: Simon Horman <horms@kernel.org>

  reply	other threads:[~2026-04-03  9:11 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-27  7:23 [Intel-wired-lan] [PATCH net] ice: fix null-ptr dereference on false-positive tx timeout Aleksandr Loktionov
2026-03-27  7:23 ` Aleksandr Loktionov
2026-03-27  7:23 ` [Intel-wired-lan] [PATCH net] ice: fix locking around wait_event_interruptible_locked_irq Aleksandr Loktionov
2026-03-27  7:23   ` Aleksandr Loktionov
2026-04-03  9:11   ` Simon Horman [this message]
2026-04-03  9:11     ` Simon Horman
2026-05-08  7:01   ` [Intel-wired-lan] " Rinitha, SX
2026-05-08  7:01     ` Rinitha, SX
2026-03-27  7:23 ` [Intel-wired-lan] [PATCH net] ice: fix PTP Call Trace during PTP release Aleksandr Loktionov
2026-03-27  7:23   ` Aleksandr Loktionov
2026-04-03  9:05   ` [Intel-wired-lan] " Simon Horman
2026-04-03  9:05     ` Simon Horman
2026-03-27  7:23 ` [Intel-wired-lan] [PATCH net] ice: fix PTP hang for E825C devices Aleksandr Loktionov
2026-03-27  7:23   ` Aleksandr Loktionov
2026-04-03 12:31   ` [Intel-wired-lan] " Simon Horman
2026-04-03 12:31     ` Simon Horman
2026-05-04 12:11   ` [Intel-wired-lan] " Rinitha, SX
2026-05-04 12:11     ` Rinitha, SX
2026-03-27  7:23 ` [Intel-wired-lan] [PATCH net] ice: fix setting promisc mode while adding VID filter Aleksandr Loktionov
2026-03-27  7:23   ` Aleksandr Loktionov
2026-04-03 12:28   ` [Intel-wired-lan] " Simon Horman
2026-04-03 12:28     ` Simon Horman
2026-05-05  5:01   ` [Intel-wired-lan] " Rinitha, SX
2026-05-05  5:01     ` Rinitha, SX
2026-03-27  7:23 ` [Intel-wired-lan] [PATCH net] ice: fix ice_init_link() error return preventing probe Aleksandr Loktionov
2026-03-27  7:23   ` Aleksandr Loktionov
2026-04-03 12:36   ` [Intel-wired-lan] " Simon Horman
2026-04-03 12:36     ` Simon Horman
2026-04-03 12:38     ` [Intel-wired-lan] " Simon Horman
2026-04-03 12:38       ` Simon Horman
2026-03-27  7:23 ` [Intel-wired-lan] [PATCH net] ice: fix netdev bring-up and bring-down in self-test Aleksandr Loktionov
2026-03-27  7:23   ` Aleksandr Loktionov
2026-04-08 21:12   ` [Intel-wired-lan] " Tony Nguyen
2026-04-08 21:12     ` Tony Nguyen
2026-04-10  9:42     ` [Intel-wired-lan] " Alexander Lobakin
2026-04-10  9:42       ` Alexander Lobakin
2026-03-27  7:23 ` [Intel-wired-lan] [PATCH net] ice: stop DCBNL requests during driver unload Aleksandr Loktionov
2026-03-27  7:23   ` Aleksandr Loktionov
2026-04-03 13:06   ` [Intel-wired-lan] " Simon Horman
2026-04-03 13:06     ` Simon Horman
2026-04-08 21:08   ` [Intel-wired-lan] " Tony Nguyen
2026-04-08 21:08     ` Tony Nguyen
2026-03-27  7:23 ` [Intel-wired-lan] [PATCH net] ice: use READ_ONCE() to access cached PHC time Aleksandr Loktionov
2026-03-27  7:23   ` Aleksandr Loktionov
2026-04-03 12:55   ` [Intel-wired-lan] " Simon Horman
2026-04-03 12:55     ` Simon Horman
2026-05-14  5:42   ` [Intel-wired-lan] " Rinitha, SX
2026-05-14  5:42     ` Rinitha, SX
2026-05-05  5:08 ` [Intel-wired-lan] [PATCH net] ice: fix null-ptr dereference on false-positive tx timeout Rinitha, SX
2026-05-05  5:08   ` Rinitha, SX

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260403091139.GF11973@horms.kernel.org \
    --to=horms@kernel.org \
    --cc=aleksandr.loktionov@intel.com \
    --cc=anthony.l.nguyen@intel.com \
    --cc=intel-wired-lan@lists.osuosl.org \
    --cc=jacob.e.keller@intel.com \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.