summaryrefslogtreecommitdiffstats
path: root/Maintainers.txt
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2020-03-31 02:47:49 +0200
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2020-04-01 14:12:09 +0000
commit3f55418d5396629c4458061f283068b6c46895fc (patch)
treeedc45533a4df05f2a9ea72eaa8c9315bb3076708 /Maintainers.txt
parent4fb393aaa8bb029dc98a1330f40303bf16e2b092 (diff)
downloadedk2-3f55418d5396629c4458061f283068b6c46895fc.tar.gz
edk2-3f55418d5396629c4458061f283068b6c46895fc.tar.bz2
edk2-3f55418d5396629c4458061f283068b6c46895fc.zip
NetworkPkg/UefiPxeBcDxe: handle competing DHCP servers (more) gracefully
When DHCP is misconfigured on a network segment, such that two DHCP servers attempt to reply to requests (and therefore race with each other), the edk2 PXE client can confuse itself. In PxeBcDhcp4BootInfo() / PxeBcDhcp6BootInfo(), the client may refer to a DHCP reply packet as an "earlier" packet from the "same" DHCP server, when in reality both packets are unrelated, and arrive from different DHCP servers. While the edk2 PXE client can do nothing to fix this, it should at least not ASSERT() -- ASSERT() is for catching programming errors (violations of invariants that are under the control of the programmer). ASSERT()s should in particular not refer to external data (such as network packets). What's more, in RELEASE builds, we get NULL pointer references. Check the problem conditions with actual "if"s, and return EFI_PROTOCOL_ERROR. This will trickle out to PxeBcLoadBootFile(), and be reported as "PXE-E99: Unexpected network error". Cc: Jiaxin Wu <jiaxin.wu@intel.com> Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com> Cc: Philippe Mathieu-Daudé <philmd@redhat.com> Cc: Siyuan Fu <siyuan.fu@intel.com> Signed-off-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <20200331004749.16128-1-lersek@redhat.com> Reviewed-by: Siyuan Fu <siyuan.fu@intel.com> Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com>
Diffstat (limited to 'Maintainers.txt')
0 files changed, 0 insertions, 0 deletions