summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorlynn <liulynn@google.com>2026-02-14 08:09:19 +0000
committerJoerg Roedel <joerg.roedel@amd.com>2026-03-17 13:28:37 +0100
commitfa8fb60d36375ca3166a60589a624f0d0bc9ddb5 (patch)
tree646d6ae17b6c0d929eb4934e31eb13197a46648b /include/linux
parent199036ae01321651fe0e4488f9e19a28af4c5f1d (diff)
iommu/iova: Add NULL check in iova_magazine_free()
When iova_domain_init_rcaches() fails to allocate an iova_magazine during the initialization of per-cpu rcaches, it jumps to out_err and calls free_iova_rcaches() for cleanup. In free_iova_rcaches(), the code iterates through all possible CPUs to free both cpu_rcache->loaded and cpu_rcache->prev. However, if the original allocation failed mid-way through the CPU loop, the pointers for the remaining CPUs remain NULL. Since kmem_cache_free() does not explicitly handle NULL pointers like kfree() does, passing these NULL pointers leads to a kernel paging request fault. Add a NULL check in iova_magazine_free() to safely handle partially initialized rcaches in error paths. Signed-off-by: lynn <liulynn@google.com> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions