linux/drivers/ntb
Logan Gunthorpe 51cb8dbf13 NTB: ntb_transport: Ensure qp->tx_mw_dma_addr is initaliazed
Dan Carpenter's static checker reported:

    drivers/ntb/ntb_transport.c:1926 ntb_transport_create_queue()
    error: we previously assumed 'qp->tx_dma_chan' could be null (see line 1872)

This is because the tx_mw_dma_addr is uninitialized in this function and
may be incorrectly released using a NULL DMA channel.

In practice this bug will not likely be seen. I'd guess you could hit
this if you loaded ntb_netdev with use_dma=True, then unloaded it and
loaded it again after setting the module parameter to use_dma=False.

To fix this, we simply ensure that tx_mw_dma_addr is always
initialized to zero. This is the safest in case any other part of the
code operates on it if it is non-zero.

Fixes: c59666bb32 ("NTB: ntb_transport: Ensure the destination buffer is mapped for TX DMA")
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
2019-06-13 08:58:12 -04:00
..
hw NTB: ntb_hw_amd: set peer limit register 2019-06-13 08:58:08 -04:00
test NTB: ntb_perf: Clear stale values in doorbell and command SPAD register 2019-06-13 08:58:05 -04:00
Kconfig NTB: Add ping pong test client 2015-07-04 14:07:42 -04:00
Makefile NTB: Add ping pong test client 2015-07-04 14:07:42 -04:00
ntb_transport.c NTB: ntb_transport: Ensure qp->tx_mw_dma_addr is initaliazed 2019-06-13 08:58:12 -04:00
ntb.c NTB: Set dma mask and dma coherent mask to NTB devices 2018-01-28 22:17:23 -05:00