[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/4] fix crashes when inject errors to vhost-user-blk chardev
From: |
Michael S. Tsirkin |
Subject: |
Re: [PATCH 0/4] fix crashes when inject errors to vhost-user-blk chardev |
Date: |
Fri, 17 Apr 2020 05:45:20 -0400 |
On Wed, Apr 15, 2020 at 11:28:22AM +0800, Li Feng wrote:
> The following patches fix various crashes happened when injecting errors to
> chardev unix domain socket.
I think these are mostly unrelated fixes right?
If so pls post them separately so I know I can just apply
some and wait for others to get acked.
> The crashes are encountered when the socket is from connected to disconnected
> at
> vhost-user-blk realize routine.
>
> These crashes could be reproduced like this:
> 1. gdb break at vhost_user_write;
> 2. add a vhost-user-blk device through qmp;
> 3. when stop at vhost_user_write, kill the vhost-user-blk target;
> 3. let qemu continue running;
> 4. start vhost-user-blk;
> 5. see crash!
>
> The 'CLOSE' event path is core trouble maker.
>
> qemu_chr_fe_set_handlers
> -> vhost_user_blk_event(OPEN)
> -> vhost_user_blk_connect
> -> vhost_dev_init
> -> vhost_user_blk_event(CLOSE)
> -> vhost_dev_cleanup
>
>
> Li Feng (4):
> vhost-user-blk: delay vhost_user_blk_disconnect
> vhost-user-blk: fix invalid memory access
> char-socket: avoid double call tcp_chr_free_connection
> vhost-user-blk: fix crash in realize process
>
> chardev/char-socket.c | 5 ++++
> hw/block/vhost-user-blk.c | 75
> ++++++++++++++++++++++++++++++++---------------
> hw/virtio/vhost.c | 2 +-
> 3 files changed, 58 insertions(+), 24 deletions(-)
>
> --
> 2.11.0
>
>
> --
> The SmartX email address is only for business purpose. Any sent message
> that is not related to the business is not authorized or permitted by
> SmartX.
> 本邮箱为北京志凌海纳科技有限公司(SmartX)工作邮箱. 如本邮箱发出的邮件与工作无关,该邮件未得到本公司任何的明示或默示的授权.
>