692 Commits

Author SHA1 Message Date
Ying Fang
5d7a2bee1d Revert: "util/async: Add memory barrier to aio_ctx_prepare"
This reverts commit 6777b03eafa348f6075dd47aae4e9f4b8f568a26

This fix picked from https://lists.gnu.org/archive/html/qemu-devel/2020-04/msg00204.html
was incomplete to fix the qemu-img hang problem.

Let's revert it and use upstream patch picked from Paolo Bonzini
https://patchwork.kernel.org/patch/11482099/
https://patchwork.kernel.org/patch/11482103/

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-04-10 17:47:50 +08:00
openeuler-ci-bot
4131e5fa7a !26 add-memory-barrier-to-aio_ctx_prepare
Merge pull request !26 from FangYing/util-async-add-memory-barrier
2020-04-03 17:36:42 +08:00
Ying Fang
6777b03eaf util/async: Add memory barrier to aio_ctx_prepare
Qemu main thread is found to hang up in the mainloop when doing
image format convert on aarch64 platform and it is highly
reproduceable by executing test using:

qemu-img convert -f qcow2 -O qcow2 origin.qcow2 converted.qcow2

This mysterious hang can be explained by a race condition between
the main thread and an io worker thread. There can be a chance that
the last worker thread has called aio_bh_schedule_oneshot and it is
checking against notify_me to deliver a notfiy event. At the same
time, the main thread is calling aio_ctx_prepare however it first
calls qemu_timeout_ns_to_ms, thus the worker thread did not see
notify_me as true and did not send a notify event. The time line
can be shown in the following way:

 Main Thread
 ------------------------------------------------
 aio_ctx_prepare
    atomic_or(&ctx->notify_me, 1);
    /* out of order execution goes here */
    *timeout = qemu_timeout_ns_to_ms(aio_compute_timeout(ctx));

 Worker Thread
 -----------------------------------------------
 aio_bh_schedule_oneshot -> aio_bh_enqueue
    aio_notify
    	smp_mb();
       	if (ctx->notify_me) {   /* worker thread checks notify_me here */
            event_notifier_set(&ctx->notifier);
            atomic_mb_set(&ctx->notified, true);
       }

Normal VM runtime is not affected by this hang since there is always some
timer timeout or subsequent io worker come and notify the main thead.
To fix this problem, a memory barrier is added to aio_ctx_prepare and
it is proved to have the hang fixed in our test.

This hang is not observed on the x86 platform however it can be easily
reproduced on the aarch64 platform, thus it is architecture related.
Not sure if this is revelant to Commit eabc977973103527bbb8fed69c91cfaa6691f8ab

Signed-off-by: Ying Fang <fangying1@huawei.com>
Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
Reported-by: Euler Robot <euler.robot@huawei.com>
2020-04-02 16:13:58 +08:00
openeuler-ci-bot
890f828d19 !25 Add pcie-root-port fast hotplg/unplug feature
Merge pull request !25 from FangYing/pcie-hotplug-unplug
2020-03-18 17:56:19 +08:00
Leo Fang
b3ccd965a7 pcie: Add pcie-root-port deivce fast plug/unplug feature
If a device is plugged in the pcie-root-port when VM kernel is
booting, the kernel may wrongly disable the device.
This bug was brought in by two patches of the linux kernel:

https://patchwork.kernel.org/patch/10575355/
https://patchwork.kernel.org/patch/10766219/

VM runtime like kata uses this feature to boot microVM,
so we must fix it up. We hack into the pcie native hotplug
patch so that hotplug/unplug will work under this circumstance.

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-03-18 17:27:28 +08:00
openeuler-ci-bot
f2bc77071c !24 [feature] put linuxboot_dma.bin into x86 package
Merge pull request !24 from zhanghailiang/put-linuxboot-dma.bin
2020-03-18 10:28:21 +08:00
zhanghailiang
79d0c59389 spec: include linuxboot_dma.bin and pvh.bin in x86 package
linuxboot_dma.bin will be used by kata. Let's put it back
into x86 package.

Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
2020-03-17 16:48:40 +08:00
openeuler-ci-bot
a7318b6b26 !23 backport-from-qemu-4.1.1
Merge pull request !23 from FangYing/backport-from-qemu-4.1.1
2020-03-16 23:05:14 +08:00
Ying Fang
db47ea85b4 qemu: backport some bug fixing patches from upstream
We backport some bug fixing patches form qemu-stable-4.1.1
branch of upstream.

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-03-16 22:39:17 +08:00
openeuler-ci-bot
eccf220ed1 !18 [bugfix] fix some memleak for monitor
Merge pull request !18 from benchroot/master
2020-03-16 16:10:01 +08:00
Chen Qun
f2082b3f2f fix some issue for monitor and iscsi
block/iscsi: use MIN() between mx_sb_len and sb_len_wr
monitor: fix memory leak in monitor_fdset_dup_fd_find_remove

Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com>
2020-03-16 15:59:10 +08:00
openeuler-ci-bot
93db242cdd !17 Fix-CVE-2020-7039-and-CVE-2020-8068
Merge pull request !17 from FangYing/fix-CVE-2020-7039-and-CVE-2020-8608
2020-03-12 20:44:45 +08:00
Ying Fang
9b341be807 slirp: Fix libslirp CVE-2020-8608
Picked from libslirp upstream:

tcp_emu: fix unsafe snprintf() usages
68ccb8021a

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-03-12 15:37:08 +08:00
Ying Fang
fb21ed7696 slirp: Fix libslirp CVE-2020-7039
Picked from libslirp upstream:

tcp_emu: Fix oob access
2655fffed7

slirp: use correct size while emulating IRC commands
ce131029d6

slirp: use correct size while emulating commands
82ebe9c370

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-03-12 15:34:32 +08:00
openeuler-ci-bot
a3315051ea !13 Fix-CVE-2020-1711
Merge pull request !13 from FangYing/fix-CVE-2020-1711
2020-03-10 11:07:38 +08:00
Ying Fang
046e9d4f2c spec: Fix patch number mismatch
Patch numbers are mismatched when QEMU is rebased from v4.0.0 to v4.0.1,
this patch is introduced to have it fixed.

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-03-10 10:35:50 +08:00
Ying Fang
b047726c50 iscsi: Cap block count from GET LBA STATUS (CVE-2020-1711)
Pick patch from upstream to fix CVE-2020-1711
upstream url:
https://git.qemu.org/?p=qemu.git;a=commit;h=693fd2acdf14dd86c0bf852610f1c2cca80a74dc

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-03-10 10:28:53 +08:00
openeuler-ci-bot
a7a219f0e2 !11 spec: Build qemu with python3
Merge pull request !11 from FangYing/rebase-qemu-4.0.1
2020-02-26 14:17:06 +08:00
Ying Fang
23f09debc1 spec: Build qemu with python3 support
Python2 will reach the end of its life, it's time to build qemu
with python3 support.

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-02-26 11:00:38 +08:00
openeuler-ci-bot
5bb93099f4 !10 rebase qemu from qemu-4.0.0 to qemu-4.0.1
Merge pull request !10 from FangYing/rebase-qemu-4.0.1
2020-02-24 15:45:37 +08:00
Ying Fang
e4766d9eee docs: Enable build and install of our rST docs
drop Revert-Enable-build-and-install-of-our-rST-docs.patch
to enable python-sphnix doc support.

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-02-21 18:34:23 +08:00
Ying Fang
87b139ea79 qemu: Rebase from qemu-4.0.0 to qemu-4.0.1
Rebase to qemu-4.0.1 and drop redunt patches.
Update release version info.

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-02-21 18:34:15 +08:00
Ying Fang
ac7cc5760b spec: remove patches that already been merge into 4.0.1 base line
Prepare for upgrading base package from 4.0.0 to 4.0.1.

Remove all the patches that have been contained in 4.0.1 base package.

Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
2020-02-21 18:34:08 +08:00
Ying Fang
750a7e3757 9pfs: Update 9pfs-local-Fix-possible patch format
Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-02-21 18:33:57 +08:00
openeuler-ci-bot
c3e6d825f6 !9 [bugfix] Remove unused fno-inline option in spec
Merge pull request !9 from zhanghailiang/fix-spec
2020-02-06 11:34:47 +08:00
zhanghailiang
8116423248 spec: remove fno-inline option
fno-inline option is need by hot-patch, but we didn't support
hot-patch in this version, remove it.

Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
2020-02-06 10:08:20 +08:00
openeuler-ci-bot
bf8b118e4d !8 [bugfix] block: fix memleaks in bdrv_refresh_filename
Merge pull request !8 from panny060/master
2020-02-05 11:38:03 +08:00
panny060
ab90d4b6f1 update block-fix-memleaks-in-bdrv_refresh_filename.patch. 2020-02-05 11:05:27 +08:00
openeuler-ci-bot
64c96f82b9 !7 [bugfix] block: fix memleaks in bdrv_refresh_filename
Merge pull request !7 from panny060/master
2020-01-20 09:41:27 +08:00
wsp1991
7374cb0f9c block: fix memleaks in bdrv_refresh_filename
Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Pan Nengyuan <pannengyuan@huawei.com>
2020-01-16 18:15:23 +08:00
openeuler-ci-bot
01b6e5a64f !6 Fix some memory leak in qemu
Merge pull request !6 from FangYing/memory-leak
2020-01-13 22:25:47 +08:00
xuding
ed0d368182 Fix some memory leak in qemu
Signed-off-by: Ying Fang <fangying1@huawei.com>
Signed-off-by: Chen Qun <kuhn.chenqun@huawei.com>
Signed-off-by: Pan Nengyuan <pannengyuan@huawei.com>
2020-01-13 20:40:08 +08:00
openeuler-ci-bot
295dd8dc81 !5 9pfs: Fix possible memory leak in local_link
Merge pull request !5 from FangYing/master
2020-01-13 17:24:57 +08:00
Ying Fang
eb23f6e929 There is a possible memory leak while local_link return -1 without free odirpath and oname.
Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-01-13 16:38:01 +08:00
openeuler-ci-bot
835b11517d !2 [feature] Add templete for PR and issues
Merge pull request !2 from openeuler-virt/master
2020-01-13 10:14:30 +08:00
zhanghailiang
a86541a288 Issue/PR: add templete for issue and PR
It is convenient for communication by using this templete.

Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
2020-01-13 09:42:41 +08:00
openeuler-ci-bot
98d1ecc235 !1 Backport some patches to support start VM with more than 256 vcpus
Merge pull request !1 from zhanghailiang/master
2020-01-10 09:11:03 +08:00
zhanghailiang
928b70e2d1 Arm: Backport patches from upstream to support more than 256 vcpus
Without this serial, we can't start VM with more than 256 vcpus,
this is limited by kvm API, backport this serial to fix the bug.

With this patches, it can supports up to 512 vcpus.

Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
2020-01-06 14:42:24 +08:00
dogsheng
5b4fe89268 Package init 2019-12-25 16:06:27 +08:00
dogsheng
42fef5c34b Package init 2019-12-13 16:06:06 +08:00
zhuchunyi
f0229b47e9 update code 2019-11-06 19:50:55 +08:00
overweight
9a683b2a29 Package init 2019-09-30 11:15:46 -04:00