]> git.proxmox.com Git - mirror_edk2.git/commit
NetworkPkg/SnpDxe: Prevent invalid PCI BAR access
authorMichael Kubacki <michael.kubacki@microsoft.com>
Thu, 9 Apr 2020 03:02:05 +0000 (20:02 -0700)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Fri, 17 Apr 2020 17:34:33 +0000 (17:34 +0000)
commitdf4f154da9cb193b8e539157d1ed1a851cf1488e
tree24d04f4e94ab14722ecedc5e2ae9c4e63e9d183e
parentca08f3d4533caf152170fe9ec0ce585e452d995e
NetworkPkg/SnpDxe: Prevent invalid PCI BAR access

REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1563

SnpDxe initializes values for MemoryBarIndex and IoBarIndex to 0 and 1
respectively even if calls to PciIo->GetBarAttributes never return
success.

Later, if the BAR is used to perform IO/Mem reads/writes, a potentially
non-existent BAR index may be accessed. This change initializes the
values
to an invalid BAR index (PCI_MAX_BAR) so the condition can be explicitly
checked to avoid an invalid BAR access.

Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Siyuan Fu <siyuan.fu@intel.com>
Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com>
NetworkPkg/SnpDxe/Callback.c
NetworkPkg/SnpDxe/Snp.c