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]
Message-ID: <56535D02.8050408@acm.org>
Date:	Mon, 23 Nov 2015 12:37:54 -0600
From:	Corey Minyard <minyard@....org>
To:	Dave Jones <dsj@...com>, openipmi-developer@...ts.sourceforge.net,
	linux-kernel@...r.kernel.org, kernel-team@...com
Subject: Re: ipmi: Remove unnecessary pci_disable_device.

Thanks, queued for next release.

-corey

On 11/19/2015 06:24 PM, Dave Jones wrote:
> We call cleanup_one_si from ipmi_pci_remove, which calls ->addr_source_cleanup,
>  which gets set to point to ipmi_pci_cleanup, which does a pci_disable_device.
>
> On return from this, we do a second pci_disable_device, which
> results in the trace below.
>
> ipmi_si 0000:00:16.0: disabling already-disabled device
> Call Trace:
>  [<ffffffff818ce54c>] dump_stack+0x45/0x57
>  [<ffffffff810525f7>] warn_slowpath_common+0x97/0xe0
>  [<ffffffff810526f6>] warn_slowpath_fmt+0x46/0x50
>  [<ffffffff81497ca1>] pci_disable_device+0xb1/0xc0
>  [<ffffffffa00851a5>] ipmi_pci_remove+0x25/0x30 [ipmi_si]
>  [<ffffffff8149a696>] pci_device_remove+0x46/0xc0
>  [<ffffffff8156801f>] __device_release_driver+0x7f/0xf0
>  [<ffffffff81568978>] driver_detach+0xb8/0xc0
>  [<ffffffff81567e50>] bus_remove_driver+0x50/0xa0
>  [<ffffffff8156914e>] driver_unregister+0x2e/0x60
>  [<ffffffff8149a3e5>] pci_unregister_driver+0x25/0x90
>  [<ffffffffa0085804>] cleanup_ipmi_si+0xd4/0xf0 [ipmi_si]
>  [<ffffffff810c727a>] SyS_delete_module+0x12a/0x200
>  [<ffffffff818d4d72>] system_call_fastpath+0x12/0x17
>
> Signed-off-by: Dave Jones <dsj@...com>
>
> diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
> index 654f6f36a071..938d1f9c55f8 100644
> --- a/drivers/char/ipmi/ipmi_si_intf.c
> +++ b/drivers/char/ipmi/ipmi_si_intf.c
> @@ -2532,7 +2532,6 @@ static void ipmi_pci_remove(struct pci_dev *pdev)
>  {
>  	struct smi_info *info = pci_get_drvdata(pdev);
>  	cleanup_one_si(info);
> -	pci_disable_device(pdev);
>  }
>  
>  static const struct pci_device_id ipmi_pci_devices[] = {

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ