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] [day] [month] [year] [list]
Date:	Mon, 23 Sep 2013 14:10:59 -0700
From:	Jeff Kirsher <jeffrey.t.kirsher@...el.com>
To:	Stefan Assmann <sassmann@...nic.de>
Cc:	netdev@...r.kernel.org, e1000-devel@...ts.sourceforge.net,
	davem@...emloft.net, alexander.h.duyck@...el.com,
	carolyn.wyborny@...el.com, gregory.v.rose@...el.com
Subject: Re: [PATCH net-next] igb: fix driver reload with VF assigned to
 guest

On Mon, 2013-09-23 at 15:06 +0200, Stefan Assmann wrote:
> commit fa44f2f185f7f9da19d331929bb1b56c1ccd1d93 broke reloading of
> igb, when
> VFs are assigned to a guest, in several ways.
> 1. on module load adapter->vf_data does not get properly allocated,
> resulting in a null pointer exception when accessing adapter->vf_data
> in
> igb_reset() on module reload.
>  modprobe -r igb ; modprobe igb max_vfs=7
> [  215.215837] igb 0000:01:00.1: removed PHC on eth1
> [  216.932072] igb 0000:01:00.1: IOV Disabled
> [  216.937038] igb 0000:01:00.0: removed PHC on eth0
> [  217.127032] igb 0000:01:00.0: Cannot deallocate SR-IOV virtual
> functions while they are assigned - VFs will not be deallocated
> [  217.146178] igb: Intel(R) Gigabit Ethernet Network Driver - version
> 5.0.5-k
> [  217.154050] igb: Copyright (c) 2007-2013 Intel Corporation.
> [  217.160688] igb 0000:01:00.0: Enabling SR-IOV VFs using the module
> parameter is deprecated - please use the pci sysfs interface.
> [  217.173703] igb 0000:01:00.0: irq 103 for MSI/MSI-X
> [  217.179227] igb 0000:01:00.0: irq 104 for MSI/MSI-X
> [  217.184735] igb 0000:01:00.0: irq 105 for MSI/MSI-X
> [  217.220082] BUG: unable to handle kernel NULL pointer dereference
> at 0000000000000048
> [  217.228846] IP: [<ffffffffa007c5e5>] igb_reset+0xc5/0x4b0 [igb]
> [  217.235472] PGD 3607ec067 PUD 36170b067 PMD 0
> [  217.240461] Oops: 0002 [#1] SMP
> [  217.244085] Modules linked in: igb(+) igbvf mptsas mptscsih mptbase
> scsi_transport_sas [last unloaded: igb]
> [  217.255040] CPU: 4 PID: 4833 Comm: modprobe Not tainted 3.11.0+ #46
> [...]
> [  217.390007]  [<ffffffffa007fab2>] igb_probe+0x892/0xfd0 [igb]
> [  217.396422]  [<ffffffff81470b3e>] local_pci_probe+0x1e/0x40
> [  217.402641]  [<ffffffff81472029>] pci_device_probe+0xf9/0x110
> [...]
> 2. A follow up issue, pci_enable_sriov() should only be called if no
> VFs were
> still allocated on module unload. Otherwise pci_enable_sriov() gets
> called
> multiple times in a row rendering the NIC unusable until reset.
> 3. simply calling igb_enable_sriov() in igb_probe_vfs() is not enough
> as the
> interrupts need to be re-setup. Switching that to
> igb_pci_enable_sriov().
> 
> Signed-off-by: Stefan Assmann <sassmann@...nic.de>
> ---
>  drivers/net/ethernet/intel/igb/igb_main.c | 37
> +++++++++++++------------------
>  1 file changed, 16 insertions(+), 21 deletions(-)

Thanks Stefan! I have added the patch to my queue.

Download attachment "signature.asc" of type "application/pgp-signature" (837 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ