[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/4] fix crashes when inject errors to vhost-user-blk chardev
From: |
Li Feng |
Subject: |
[PATCH 0/4] fix crashes when inject errors to vhost-user-blk chardev |
Date: |
Wed, 15 Apr 2020 11:28:22 +0800 |
The following patches fix various crashes happened when injecting errors to
chardev unix domain socket.
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)工作邮箱. 如本邮箱发出的邮件与工作无关,该邮件未得到本公司任何的明示或默示的授权.
- [PATCH 0/4] fix crashes when inject errors to vhost-user-blk chardev,
Li Feng <=