Re: EFI: Stash ROMs if they're not in the PCI BAR

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2013-03-15 at 11:29 +0300, Dan Carpenter wrote:
> Hello Matthew Garrett,
> 
> The patch dd5fc854de5f: "EFI: Stash ROMs if they're not in the PCI 
> BAR" from Dec 5, 2012, leads to the following warning:
> "arch/x86/boot/compressed/eboot.c:290 setup_efi_pci()
> 	 error: potentially dereferencing uninitialized 'pci_handle'."
> 
>   254  static efi_status_t setup_efi_pci(struct boot_params *params)
>   255  {
>   256          efi_pci_io_protocol *pci;
>   257          efi_status_t status;
>   258          void **pci_handle;
>   259          efi_guid_t pci_proto = EFI_PCI_IO_PROTOCOL_GUID;
>   260          unsigned long nr_pci, size = 0;
>   261          int i;
>   262          struct setup_data *data;
>   263  
>   264          data = (struct setup_data *)(unsigned long)params->hdr.setup_data;
>   265  
>   266          while (data && data->next)
>   267                  data = (struct setup_data *)(unsigned long)data->next;
>   268  
>   269          status = efi_call_phys5(sys_table->boottime->locate_handle,
>   270                                  EFI_LOCATE_BY_PROTOCOL, &pci_proto,
>   271                                  NULL, &size, pci_handle);
>                                                     ^^^^^^^^^^
> This hasn't been initialized yet.

True. It probably doesn't *matter* because the size is zero so the
firmware is just going to ignore the pointer anyway. Although in that
case I wonder why we couldn't have just passed NULL. Perhaps we expected
that some firmware might do some validation on the pointer before
getting to the size check?

-- 
dwmw2

Attachment: smime.p7s
Description: S/MIME cryptographic signature


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux