summaryrefslogtreecommitdiff
path: root/Documentation/dma-buf-sharing.txt
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2013-12-20 16:43:50 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-02-07 14:21:09 -0800
commitfee0c54e28f6ca187add93dfca226a8093cfa931 (patch)
treed62c8c58d90fda69cf035b36c457a8ce9df945ca /Documentation/dma-buf-sharing.txt
parent38dbfb59d1175ef458d006556061adeaa8751b72 (diff)
dma-buf: avoid using IS_ERR_OR_NULL
dma_buf_map_attachment and dma_buf_vmap can return NULL or ERR_PTR on a error. This encourages a common buggy pattern in callers: sgt = dma_buf_map_attachment(attach, DMA_BIDIRECTIONAL); if (IS_ERR_OR_NULL(sgt)) return PTR_ERR(sgt); This causes the caller to return 0 on an error. IS_ERR_OR_NULL is almost always a sign of poorly-defined error handling. This patch converts dma_buf_map_attachment to always return ERR_PTR, and fixes the callers that incorrectly handled NULL. There are a few more callers that were not checking for NULL at all, which would have dereferenced a NULL pointer later. There are also a few more callers that correctly handled NULL and ERR_PTR differently, I left those alone but they could also be modified to delete the NULL check. This patch also converts dma_buf_vmap to always return NULL. All the callers to dma_buf_vmap only check for NULL, and would have dereferenced an ERR_PTR and panic'd if one was ever returned. This is not consistent with the rest of the dma buf APIs, but matches the expectations of all of the callers. Signed-off-by: Colin Cross <ccross@android.com> Reviewed-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'Documentation/dma-buf-sharing.txt')
0 files changed, 0 insertions, 0 deletions