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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <031ca6a8-a720-0e50-f16e-f02029e98547@cogentembedded.com>
Date:   Fri, 30 Dec 2016 13:38:46 +0300
From:   Sergei Shtylyov <sergei.shtylyov@...entembedded.com>
To:     Jeff Kirsher <jeffrey.t.kirsher@...el.com>, davem@...emloft.net
Cc:     Emil Tantilov <emil.s.tantilov@...el.com>, netdev@...r.kernel.org,
        nhorman@...hat.com, sassmann@...hat.com, jogreene@...hat.com,
        guru.anbalagane@...cle.com
Subject: Re: [net-next 12/21] ixgbevf: fix AER error handling

Hello!

On 12/30/2016 12:33 PM, Jeff Kirsher wrote:

> From: Emil Tantilov <emil.s.tantilov@...el.com>
>
> Make sure that we free the IRQs in ixgbevf_io_error_detected() when
> responding to an PCIe AER error and also restore them when the
> interface recovers from it.
>
> Previously it was possible to trigger BUG_ON() check in free_msix_irqs()
> in the case where we call ixgbevf_remove() after a failed recovery from
> AER error because the interrupts were not freed.
>
> Also moved the down and free functions into ixgbevf_close_suspend()
> same as with ixgbe.
>
> Signed-off-by: Emil Tantilov <emil.s.tantilov@...el.com>
> Tested-by: Andrew Bowers <andrewx.bowers@...el.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@...el.com>
> ---
>  drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 43 +++++++++++++----------
>  1 file changed, 25 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> index 8574f21..7dfd1df 100644
> --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> @@ -3228,6 +3228,21 @@ int ixgbevf_open(struct net_device *netdev)
>  }
>
>  /**
> + * ixgbevf_close_suspend - actions necessary to both suspend and close flows
> + * @adapter: the private adapter struct
> + *
> + * This function should contain the necessary work common to both suspending
> + * and closing of the device.
> + */
> +static void ixgbevf_close_suspend(struct ixgbevf_adapter *adapter)
> +{
> +		ixgbevf_down(adapter);
> +		ixgbevf_free_irq(adapter);
> +		ixgbevf_free_all_tx_resources(adapter);
> +		ixgbevf_free_all_rx_resources(adapter);

    Hum, why 2 tabs?

> +}
> +
> +/**
>   * ixgbevf_close - Disables a network interface
>   * @netdev: network interface device structure
>   *
[...]

MBR, Sergei

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ