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, Marcin Szycik <marcin.szycik@intel.com>
Subject: Re: [Intel-wired-lan] [PATCH net] ice: fix setting promisc mode while adding VID filter
Date: Fri, 3 Apr 2026 13:28:27 +0100	[thread overview]
Message-ID: <20260403122827.GA85281@horms.kernel.org> (raw)
In-Reply-To: <20260327072332.130320-5-aleksandr.loktionov@intel.com>

On Fri, Mar 27, 2026 at 08:23:28AM +0100, Aleksandr Loktionov wrote:
> From: Marcin Szycik <marcin.szycik@intel.com>
> 
> There are at least two paths through which VSI promiscuous mode can be
> independently configured via ice_fltr_set_vsi_promisc():
> - ice_vlan_rx_add_vid() (netdev op)
> - ice_service_task() -> ... -> ice_set_promisc()
> 
> Both paths may try to program promiscuous mode concurrently. One such
> scenario is:
> 
> 1. Add ice netdev to bond
> 2. Add the bond netdev to bridge
> 3. ice netdev enters allmulticast mode (IFF_ALLMULTI)
> 4. Service task programs promisc mode filter
> 5. Bridge -> bond calls ice_vlan_rx_add_vid()
> 
> Crucially, ice_vlan_rx_add_vid() fails if ice_fltr_set_vsi_promisc()
> returns any error, including -EEXIST. This causes VLAN filtering setup
> to fail on the bond interface. ice_set_promisc() already handles -EEXIST
> correctly.
> 
> Fix by adding the same -EEXIST check to ice_vlan_rx_add_vid(): if the
> promisc filter is already programmed, continue without returning error.
> 
> Fixes: 1273f89578f2 ("ice: Fix broken IFF_ALLMULTI handling")
> Cc: stable@vger.kernel.org
> Signed-off-by: Marcin Szycik <marcin.szycik@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, Marcin Szycik <marcin.szycik@intel.com>
Subject: Re: [PATCH net] ice: fix setting promisc mode while adding VID filter
Date: Fri, 3 Apr 2026 13:28:27 +0100	[thread overview]
Message-ID: <20260403122827.GA85281@horms.kernel.org> (raw)
In-Reply-To: <20260327072332.130320-5-aleksandr.loktionov@intel.com>

On Fri, Mar 27, 2026 at 08:23:28AM +0100, Aleksandr Loktionov wrote:
> From: Marcin Szycik <marcin.szycik@intel.com>
> 
> There are at least two paths through which VSI promiscuous mode can be
> independently configured via ice_fltr_set_vsi_promisc():
> - ice_vlan_rx_add_vid() (netdev op)
> - ice_service_task() -> ... -> ice_set_promisc()
> 
> Both paths may try to program promiscuous mode concurrently. One such
> scenario is:
> 
> 1. Add ice netdev to bond
> 2. Add the bond netdev to bridge
> 3. ice netdev enters allmulticast mode (IFF_ALLMULTI)
> 4. Service task programs promisc mode filter
> 5. Bridge -> bond calls ice_vlan_rx_add_vid()
> 
> Crucially, ice_vlan_rx_add_vid() fails if ice_fltr_set_vsi_promisc()
> returns any error, including -EEXIST. This causes VLAN filtering setup
> to fail on the bond interface. ice_set_promisc() already handles -EEXIST
> correctly.
> 
> Fix by adding the same -EEXIST check to ice_vlan_rx_add_vid(): if the
> promisc filter is already programmed, continue without returning error.
> 
> Fixes: 1273f89578f2 ("ice: Fix broken IFF_ALLMULTI handling")
> Cc: stable@vger.kernel.org
> Signed-off-by: Marcin Szycik <marcin.szycik@intel.com>
> Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>

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


  reply	other threads:[~2026-04-03 12:28 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   ` [Intel-wired-lan] " Simon Horman
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   ` Simon Horman [this message]
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=20260403122827.GA85281@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=marcin.szycik@intel.com \
    --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.