xen/pvcalls-back: fix double frees with pvcalls_new_active_socket()
stable inclusion from stable-v5.10.181 commit 0de80163dea668b09a58c39545acb75821aff2ea category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/I8GJZJ Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0de80163dea668b09a58c39545acb75821aff2ea -------------------------------- commit 8fafac20 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: 5db4d286 ("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> Signed-off-by:
sanglipeng <sanglipeng1@jd.com>
Loading
Please sign in to comment