Message ID | cover.1550842915.git.berto@igalia.com |
---|---|
Headers | show |
Series | char-socket: Fix race condition | expand |
ping On Fri 22 Feb 2019 02:46:23 PM CET, Alberto Garcia wrote: > This fixes a race condition in which the tcp_chr_read() ioc handler > can close a connection that is being written to from another thread. > > Note: vhost-user-test still fails if QTEST_VHOST_USER_FIXME is set. > > Berto
Hi On Tue, Mar 5, 2019 at 4:52 PM Alberto Garcia <berto@igalia.com> wrote: > > ping I can queue this in the next chardev PR. This can probably wait until the softfreeze though. I think Paolo had some plans to look at chardev issues. > > On Fri 22 Feb 2019 02:46:23 PM CET, Alberto Garcia wrote: > > This fixes a race condition in which the tcp_chr_read() ioc handler > > can close a connection that is being written to from another thread. > > > > Note: vhost-user-test still fails if QTEST_VHOST_USER_FIXME is set. > > > > Berto
On 05/03/19 16:55, Marc-André Lureau wrote: >> ping > I can queue this in the next chardev PR. This can probably wait until > the softfreeze though. I think Paolo had some plans to look at chardev > issues. > Yes, I still do. This week I'm a bit busy with Linux and babysitting... Paolo
On Tue 05 Mar 2019 04:55:56 PM CET, Marc-André Lureau wrote: > Hi > > On Tue, Mar 5, 2019 at 4:52 PM Alberto Garcia <berto@igalia.com> wrote: >> >> ping > > I can queue this in the next chardev PR. This can probably wait until > the softfreeze though. I think Paolo had some plans to look at chardev > issues. I don't know what the plans for this are, but I still run into this crash easily when I run the iotests in v4.0.0-rc1. Berto
ping - paolo/marc-andré - unless I'm missing something, it looks like this chardev series slipped through the cracks and missed 4.0 On Fri, Feb 22, 2019 at 03:46:23PM +0200, Alberto Garcia wrote: > This fixes a race condition in which the tcp_chr_read() ioc handler > can close a connection that is being written to from another thread. > > Note: vhost-user-test still fails if QTEST_VHOST_USER_FIXME is set. > > Berto > > RFC: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg01510.html > > v1: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg01834.html > - Fixes memory leaks and adds a qemu_idle_add() function > > v2: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg06137.html > - Rebased on top of the current master (fc3dbb90f2eb069801bfb4cfe9cbc) > - Patches 1 and 2: Remove the changes in char-pty.c, they're not > needed after the rebase. > - Patch 3: Fix conflicts after the rebase. > > v3: > - Patch 3: Add tcp_chr_disconnect_locked() [Daniel] > > Alberto Garcia (3): > main-loop: Fix GSource leak in qio_task_thread_worker() > main-loop: Add qemu_idle_add() > char-socket: Lock tcp_chr_disconnect() and socket_reconnect_timeout() > > chardev/char-socket.c | 25 +++++++++++++++++++++---- > include/qemu/main-loop.h | 12 ++++++++++++ > io/task.c | 9 +++------ > util/main-loop.c | 9 +++++++++ > 4 files changed, 45 insertions(+), 10 deletions(-) > > -- > 2.11.0 > Regards, Daniel
On 23/04/19 18:55, Daniel P. Berrangé wrote: > ping - paolo/marc-andré - unless I'm missing something, it looks like > this chardev series slipped through the cracks and missed 4.0 Yeah, it had a bug unfortunately. I'm looking at it RSN. Paolo > > On Fri, Feb 22, 2019 at 03:46:23PM +0200, Alberto Garcia wrote: >> This fixes a race condition in which the tcp_chr_read() ioc handler >> can close a connection that is being written to from another thread. >> >> Note: vhost-user-test still fails if QTEST_VHOST_USER_FIXME is set. >> >> Berto >> >> RFC: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg01510.html >> >> v1: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg01834.html >> - Fixes memory leaks and adds a qemu_idle_add() function >> >> v2: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg06137.html >> - Rebased on top of the current master (fc3dbb90f2eb069801bfb4cfe9cbc) >> - Patches 1 and 2: Remove the changes in char-pty.c, they're not >> needed after the rebase. >> - Patch 3: Fix conflicts after the rebase. >> >> v3: >> - Patch 3: Add tcp_chr_disconnect_locked() [Daniel] >> >> Alberto Garcia (3): >> main-loop: Fix GSource leak in qio_task_thread_worker() >> main-loop: Add qemu_idle_add() >> char-socket: Lock tcp_chr_disconnect() and socket_reconnect_timeout() >> >> chardev/char-socket.c | 25 +++++++++++++++++++++---- >> include/qemu/main-loop.h | 12 ++++++++++++ >> io/task.c | 9 +++------ >> util/main-loop.c | 9 +++++++++ >> 4 files changed, 45 insertions(+), 10 deletions(-) >> >> -- >> 2.11.0 >> > > Regards, > Daniel >
On 26.04.19 09:51, Paolo Bonzini wrote: > On 23/04/19 18:55, Daniel P. Berrangé wrote: >> ping - paolo/marc-andré - unless I'm missing something, it looks like >> this chardev series slipped through the cracks and missed 4.0 > > Yeah, it had a bug unfortunately. I'm looking at it RSN. I’ll just leave another ping here > Paolo > >> >> On Fri, Feb 22, 2019 at 03:46:23PM +0200, Alberto Garcia wrote: >>> This fixes a race condition in which the tcp_chr_read() ioc handler >>> can close a connection that is being written to from another thread. >>> >>> Note: vhost-user-test still fails if QTEST_VHOST_USER_FIXME is set. >>> >>> Berto >>> >>> RFC: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg01510.html >>> >>> v1: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg01834.html >>> - Fixes memory leaks and adds a qemu_idle_add() function >>> >>> v2: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg06137.html >>> - Rebased on top of the current master (fc3dbb90f2eb069801bfb4cfe9cbc) >>> - Patches 1 and 2: Remove the changes in char-pty.c, they're not >>> needed after the rebase. >>> - Patch 3: Fix conflicts after the rebase. >>> >>> v3: >>> - Patch 3: Add tcp_chr_disconnect_locked() [Daniel] >>> >>> Alberto Garcia (3): >>> main-loop: Fix GSource leak in qio_task_thread_worker() >>> main-loop: Add qemu_idle_add() >>> char-socket: Lock tcp_chr_disconnect() and socket_reconnect_timeout() >>> >>> chardev/char-socket.c | 25 +++++++++++++++++++++---- >>> include/qemu/main-loop.h | 12 ++++++++++++ >>> io/task.c | 9 +++------ >>> util/main-loop.c | 9 +++++++++ >>> 4 files changed, 45 insertions(+), 10 deletions(-) >>> >>> -- >>> 2.11.0 >>> >> >> Regards, >> Daniel >> > > >
On 05.06.19 21:36, Max Reitz wrote: > On 26.04.19 09:51, Paolo Bonzini wrote: >> On 23/04/19 18:55, Daniel P. Berrangé wrote: >>> ping - paolo/marc-andré - unless I'm missing something, it looks like >>> this chardev series slipped through the cracks and missed 4.0 >> >> Yeah, it had a bug unfortunately. I'm looking at it RSN. > > I’ll just leave another ping here And another one. Max >> Paolo >> >>> >>> On Fri, Feb 22, 2019 at 03:46:23PM +0200, Alberto Garcia wrote: >>>> This fixes a race condition in which the tcp_chr_read() ioc handler >>>> can close a connection that is being written to from another thread. >>>> >>>> Note: vhost-user-test still fails if QTEST_VHOST_USER_FIXME is set. >>>> >>>> Berto >>>> >>>> RFC: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg01510.html >>>> >>>> v1: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg01834.html >>>> - Fixes memory leaks and adds a qemu_idle_add() function >>>> >>>> v2: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg06137.html >>>> - Rebased on top of the current master (fc3dbb90f2eb069801bfb4cfe9cbc) >>>> - Patches 1 and 2: Remove the changes in char-pty.c, they're not >>>> needed after the rebase. >>>> - Patch 3: Fix conflicts after the rebase. >>>> >>>> v3: >>>> - Patch 3: Add tcp_chr_disconnect_locked() [Daniel] >>>> >>>> Alberto Garcia (3): >>>> main-loop: Fix GSource leak in qio_task_thread_worker() >>>> main-loop: Add qemu_idle_add() >>>> char-socket: Lock tcp_chr_disconnect() and socket_reconnect_timeout() >>>> >>>> chardev/char-socket.c | 25 +++++++++++++++++++++---- >>>> include/qemu/main-loop.h | 12 ++++++++++++ >>>> io/task.c | 9 +++------ >>>> util/main-loop.c | 9 +++++++++ >>>> 4 files changed, 45 insertions(+), 10 deletions(-) >>>> >>>> -- >>>> 2.11.0 >>>> >>> >>> Regards, >>> Daniel >>> >> >> >> > >
On 03/07/19 19:51, Max Reitz wrote: > On 05.06.19 21:36, Max Reitz wrote: >> On 26.04.19 09:51, Paolo Bonzini wrote: >>> On 23/04/19 18:55, Daniel P. Berrangé wrote: >>>> ping - paolo/marc-andré - unless I'm missing something, it looks like >>>> this chardev series slipped through the cracks and missed 4.0 >>> >>> Yeah, it had a bug unfortunately. I'm looking at it RSN. >> >> I’ll just leave another ping here I haven't forgotten. :( Paolo
On 22/02/2019 16:46, Alberto Garcia wrote: > This fixes a race condition in which the tcp_chr_read() ioc handler > can close a connection that is being written to from another thread. > > Note: vhost-user-test still fails if QTEST_VHOST_USER_FIXME is set. > > Berto > > RFC: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg01510.html > > v1: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg01834.html > - Fixes memory leaks and adds a qemu_idle_add() function > > v2: https://lists.gnu.org/archive/html/qemu-devel/2019-02/msg06137.html > - Rebased on top of the current master (fc3dbb90f2eb069801bfb4cfe9cbc) > - Patches 1 and 2: Remove the changes in char-pty.c, they're not > needed after the rebase. > - Patch 3: Fix conflicts after the rebase. > > v3: > - Patch 3: Add tcp_chr_disconnect_locked() [Daniel] > > Alberto Garcia (3): > main-loop: Fix GSource leak in qio_task_thread_worker() > main-loop: Add qemu_idle_add() > char-socket: Lock tcp_chr_disconnect() and socket_reconnect_timeout() > > chardev/char-socket.c | 25 +++++++++++++++++++++---- > include/qemu/main-loop.h | 12 ++++++++++++ > io/task.c | 9 +++------ > util/main-loop.c | 9 +++++++++ > 4 files changed, 45 insertions(+), 10 deletions(-) > Please add me to cc. I confirm that check-unit: tests/test-char does not pass. Andrey