summaryrefslogtreecommitdiff
path: root/lib/raid/raid6/git@git.tavy.me:linux-stable.git
diff options
context:
space:
mode:
authorWentao Liang <vulab@iscas.ac.cn>2026-06-22 19:25:41 +0800
committerJuergen Gross <jgross@suse.com>2026-07-01 09:51:09 +0200
commit45ca1afe2fd14c04e37227e79d3f8455831d8408 (patch)
tree8314688503acf50bd947f1c011b0b2a068db527c /lib/raid/raid6/git@git.tavy.me:linux-stable.git
parent26d060ba39354eec0345fb73b5f8309edd6ec82c (diff)
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. Cc: stable@vger.kernel.org Fix these issues by properly handling all error cases. Fixes: 1401c00e59ea ("xen/gntdev: convert priv->lock to a mutex") Fixes: 68b025c813c2 ("xen-gntdev: Add reference counting to maps") Signed-off-by: Wentao Liang <vulab@iscas.ac.cn> Reviewed-by: Juergen Gross <jgross@suse.com> Signed-off-by: Juergen Gross <jgross@suse.com> Message-ID: <20260622112541.38194-1-vulab@iscas.ac.cn>
Diffstat (limited to 'lib/raid/raid6/git@git.tavy.me:linux-stable.git')
0 files changed, 0 insertions, 0 deletions