[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0257b1fb-3e0a-d5d2-4e2c-eedc12e7dcd6@intel.com>
Date: Thu, 9 May 2024 09:11:13 -0700
From: Tony Nguyen <anthony.l.nguyen@...el.com>
To: Dawid Osuchowski <dawid.osuchowski@...ux.intel.com>,
<intel-wired-lan@...ts.osuosl.org>
CC: Ngai-Mint Kwan <ngai-mint.kwan@...el.com>, <netdev@...r.kernel.org>,
"Pawel Chmielewski" <pawel.chmielewski@...el.com>, Simon Horman
<horms@...nel.org>, Mateusz Polchlopek <mateusz.polchlopek@...el.com>
Subject: Re: [Intel-wired-lan] [PATCH iwl-net v4] ice: Do not get coalesce
settings while in reset
On 5/6/2024 8:33 AM, Dawid Osuchowski wrote:
> From: Ngai-Mint Kwan <ngai-mint.kwan@...el.com>
>
> Getting coalesce settings while reset is in progress can cause NULL
> pointer deference bug.
> If under reset, abort get coalesce for ethtool.
>
> Fixes: 67fe64d78c43 ("ice: Implement getting and setting ethtool coalesce")
> Signed-off-by: Ngai-Mint Kwan <ngai-mint.kwan@...el.com>
> Reviewed-by: Mateusz Polchlopek <mateusz.polchlopek@...el.com>
> Signed-off-by: Pawel Chmielewski <pawel.chmielewski@...el.com>
> Reviewed-by: Simon Horman <horms@...nel.org>
> Co-developed-by: Dawid Osuchowski <dawid.osuchowski@...ux.intel.com>
> Signed-off-by: Dawid Osuchowski <dawid.osuchowski@...ux.intel.com>
> ---
> Changes since v1:
> * Added "Fixes:" tag
> Changes since v2:
> * Rebased over current IWL net branch
> * Confirmed that the issue previously reported for this patch [1] by
> Himasekhar Reddy Pucha was caused by other, internally tracked issue
> Changes since v3:
> * Using ice_wait_for_reset() instead of returning -EBUSY
Seems like commit message, and probably title, need to get updated for
this change?
> [1] https://lore.kernel.org/netdev/BL0PR11MB3122D70ABDE6C2ACEE376073BD90A@BL0PR11MB3122.namprd11.prod.outlook.com/
> ---
> drivers/net/ethernet/intel/ice/ice_ethtool.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c
> index d91f41f61bce..4ff16fd2eb94 100644
> --- a/drivers/net/ethernet/intel/ice/ice_ethtool.c
> +++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c
> @@ -3815,6 +3815,13 @@ __ice_get_coalesce(struct net_device *netdev, struct ethtool_coalesce *ec,
> struct ice_netdev_priv *np = netdev_priv(netdev);
> struct ice_vsi *vsi = np->vsi;
>
> + if (ice_is_reset_in_progress(vsi->back->state)) {
> + int err = ice_wait_for_reset(vsi->back, 10 * HZ);
> +
> + if (err)
> + return err;
> + }
> +
> if (q_num < 0)
> q_num = 0;
>
Powered by blists - more mailing lists