Activity log
- Created & dismissed (max. allowed matches exceeded) suggestion
xen/gntdev: fix error handling in ioctl
In the Linux kernel, the following vulnerability has been resolved: xen/gntdev: fix error handling in ioctl When gntdev_ioctl_map_grant_ref() fails to copy the operation result back to userspace after successfully adding the mapping to the list, the error path returns -EFAULT without releasing the reference acquired by gntdev_alloc_map(). The mapping remains in priv->maps with a refcount of 1, causing a memory leak and a dangling list entry. Additionally, gntdev_add_map() may modify map->index to avoid overlap with existing mappings. Therefore, the index returned to userspace must be obtained after gntdev_add_map() completes. Fix this by holding the mutex across gntdev_add_map(), retrieving the correct index, and copy_to_user(). If copy_to_user() fails, remove the mapping from the list and release the reference while still holding the lock. Fix these issues by properly handling all error cases.
References
Affected products
- =<5.10.*
- <2.6.39
- =<6.6.*
- =<*
- <16d3ccdabb8dee9be2cdcd6d3f9a125572ec0454
- <6883269a323609f68f6faa903f8f8ff3d191cec8
- <45ca1afe2fd14c04e37227e79d3f8455831d8408
- <18a693733f7ad004e1ab0466693121ca70cd95dd
- =<6.12.*
- =<6.18.*
- =<7.1.*
- <1dd9cb98fe228e017fff9efb33862ff38c741b65
- =<5.15.*
- <6df926130aee6cab9b5d2e5b7862e49ccac348dc
- <52dc40ef0cfee6ae89b7524967e73f0ba37906d7
- <311011f8cc206c5af2877b03e3f627ee1b8fe024
- =<6.1.*
- ==2.6.39