[PATCH] drivers: pci: initialise class to 0 before reading

Bin Meng bmeng.cn at gmail.com
Wed Jan 1 14:25:41 CET 2020


On Wed, Jan 1, 2020 at 7:15 PM Hugh Cole-Baker <sigmaris at gmail.com> wrote:
>
> Otherwise, uninitialised memory from the upper 32 bits can end up in
> find_id.class, and this causes bugs later when looking for a driver for
> the class.
>
> Signed-off-by: Hugh Cole-Baker <sigmaris at gmail.com>
> ---
>  drivers/pci/pci-uclass.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c
> index fab20fc60e..c28a1cc363 100644
> --- a/drivers/pci/pci-uclass.c
> +++ b/drivers/pci/pci-uclass.c
> @@ -773,7 +773,7 @@ int pci_bind_bus_devices(struct udevice *bus)
>              bdf += PCI_BDF(0, 0, 1)) {
>                 struct pci_child_platdata *pplat;
>                 struct udevice *dev;
> -               ulong class;
> +               ulong class = 0;
>
>                 if (!PCI_FUNC(bdf))
>                         found_multi = false;
> --

I see class is initialized in the call to:

pci_bus_read_config(bus, bdf, PCI_CLASS_REVISION, &class,
    PCI_SIZE_32);
class >>= 8;

Regards,
Bin


More information about the U-Boot mailing list