diff options
| author | Michael Brown | 2020-11-29 12:21:20 +0100 |
|---|---|---|
| committer | Michael Brown | 2020-11-29 12:25:40 +0100 |
| commit | 9ff61ab28df1a0d20e1819d387094d220c1580ad (patch) | |
| tree | 4d290e88a261611ecc9f5f63b0b72042fba5cc2b | |
| parent | [dma] Move I/O buffer DMA operations to iobuf.h (diff) | |
| download | ipxe-9ff61ab28df1a0d20e1819d387094d220c1580ad.tar.gz ipxe-9ff61ab28df1a0d20e1819d387094d220c1580ad.tar.xz ipxe-9ff61ab28df1a0d20e1819d387094d220c1580ad.zip | |
[netdevice] Do not attempt to unmap a null I/O buffer
netdev_tx_err() may be called with a null I/O buffer (e.g. to record a
transmit error with no associated buffer). Avoid a potential null
pointer dereference in the DMA unmapping code path.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
| -rw-r--r-- | src/net/netdevice.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/net/netdevice.c b/src/net/netdevice.c index f3feca26b..754799cd1 100644 --- a/src/net/netdevice.c +++ b/src/net/netdevice.c @@ -392,7 +392,7 @@ void netdev_tx_err ( struct net_device *netdev, } /* Unmap I/O buffer, if required */ - if ( dma_mapped ( &iobuf->map ) ) + if ( iobuf && dma_mapped ( &iobuf->map ) ) iob_unmap ( iobuf ); /* Discard packet */ |
