]> git.baikalelectronics.ru Git - kernel.git/commit
xen/pvcalls-back: fix double frees with pvcalls_new_active_socket()
authorDan Carpenter <dan.carpenter@linaro.org>
Wed, 3 May 2023 15:11:35 +0000 (18:11 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 30 May 2023 13:03:32 +0000 (14:03 +0100)
commit710bb7ea0c41bd883429db54f79cf284d4f67921
tree7774fffc0134e22aaae698e68b79a84049afc096
parent0256ccfc8498110342f10a79bad658eb64eb7765
xen/pvcalls-back: fix double frees with pvcalls_new_active_socket()

commit 8fafac202d18230bb9926bda48e563fd2cce2a4f upstream.

In the pvcalls_new_active_socket() function, most error paths call
pvcalls_back_release_active(fedata->dev, fedata, map) which calls
sock_release() on "sock".  The bug is that the caller also frees sock.

Fix this by making every error path in pvcalls_new_active_socket()
release the sock, and don't free it in the caller.

Fixes: bee0949af1e5 ("xen/pvcalls: implement connect command")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Juergen Gross <jgross@suse.com>
Link: https://lore.kernel.org/r/e5f98dc2-0305-491f-a860-71bbd1398a2f@kili.mountain
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/xen/pvcalls-back.c