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]
Date:	Fri, 11 Nov 2011 09:45:09 -0800
From:	Jesse Barnes <jbarnes@...tuousgeek.org>
To:	Myron Stowe <myron.stowe@...hat.com>
Cc:	linux-pci@...r.kernel.org, bhelgaas@...gle.com,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/3] PCI: Maintain a list of FW-assigned BIOS BAR values

On Wed, 09 Nov 2011 17:43:51 -0700
Myron Stowe <myron.stowe@...hat.com> wrote:

> From: Myron Stowe <mstowe@...hat.com>
> 
> Commit 58c84eda075 introduced functionality to try and reinstate the
> original BIOS BAR addresses of a PCI device when normal resource
> assignment attempts fail.  To keep track of the BIOS BAR addresses,
> struct pci_dev was augmented with an array to hold the BAR addresses
> of the PCI device: 'resource_size_t fw_addr[DEVICE_COUNT_RESOURCE]'.
> 
> The reinstatement of BAR addresses is an uncommon event leaving the
> 'fw_addr' array unused normally.  As the use of struct pci_dev is so
> prevalent, this seems wasteful.
> 
> This patch introduces a stand alone data structure and corresponding set
> of interfacing routines for maintaining a list of FW-assigned BIOS BAR
> value temporary entries.
> 
> Signed-off-by: Myron Stowe <myron.stowe@...hat.com>
> ---
> 
>  drivers/pci/setup-res.c |   73 +++++++++++++++++++++++++++++++++++++++++++++++
>  include/linux/pci.h     |    1 +
>  2 files changed, 74 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/pci/setup-res.c b/drivers/pci/setup-res.c
> index ad8c4ae..ab45c11 100644
> --- a/drivers/pci/setup-res.c
> +++ b/drivers/pci/setup-res.c
> @@ -26,6 +26,79 @@
>  #include "pci.h"
>  
>  
> +/*
> + * This list of dynamic mappings is for temporarly maintaining
> + * original BIOS BAR addresses for possbile reinstatement.
> + */
> +struct pci_fwaddrmap {
> +	struct list_head list;
> +	struct pci_dev *dev;
> +	resource_size_t fw_addr[DEVICE_COUNT_RESOURCE];
> +	unsigned long refcount;
> +};
> +
> +static LIST_HEAD(pci_fwaddrmappings);
> +static DEFINE_SPINLOCK(pci_fwaddrmap_lock);

Is the refcounting really needed?  Can't we just free the whole list at
some point to simplify things a bit?

-- 
Jesse Barnes, Intel Open Source Technology Center

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