93 Commits

Author SHA1 Message Date
Euler Robot
dd0133f54b spec: Update patch and changelog with !38
migration/tls: save hostname into MigrationState
migration/tls: extract migration_tls_client_create for common-use
migration/tls: add tls_hostname into MultiFDSendParams
migration/tls: extract cleanup function for common-use
migration/tls: add support for multifd tls-handshake
migration/tls: add trace points for multifd-tls
qemu-file: Don't do IO after shutdown
multifd: Make sure that we don't do any IO after an error
migration: Don't send data if we have stopped
migration: Create migration_is_running()
migration: fix COLO broken caused by a previous commit
migration/multifd: fix hangup with TLS-Multifd due to  blocking handshake
multifd/tls: fix memoryleak of the QIOChannelSocket object when cancelling migration

Signed-off-by: Alex Chen <alex.chen@huawei.com>
2020-12-03 21:26:56 +08:00
Euler Robot
aefc17ea0a spec: Update release version with !37
increase release verison by one

Signed-off-by: Euler Robot <euler.robot@huawei.com>
2020-12-02 11:27:03 +08:00
Euler Robot
81dda36cbb spec: Update patch and changelog with !37
migration/dirtyrate: setup up query-dirtyrate framwork
migration/dirtyrate: add DirtyRateStatus to denote calculation status
migration/dirtyrate: Add RamblockDirtyInfo to store sampled page info
migration/dirtyrate: Add dirtyrate statistics series functions
migration/dirtyrate: move RAMBLOCK_FOREACH_MIGRATABLE into ram.h
migration/dirtyrate: Record hash results for each sampled page
migration/dirtyrate: Compare page hash results for recorded sampled page
migration/dirtyrate: skip sampling ramblock with size below MIN_RAMBLOCK_SIZE
migration/dirtyrate: Implement set_sample_page_period() and is_sample_period_valid()
migration/dirtyrate: Implement calculate_dirtyrate() function
migration/dirtyrate: Implement qmp_cal_dirty_rate()/qmp_get_dirty_rate() function
migration/dirtyrate: Add trace_calls to make it easier to debug
migration/dirtyrate: record start_time and calc_time while at the measuring state
migration/dirtyrate: present dirty rate only when querying the rate has completed
migration/dirtyrate: simplify includes in dirtyrate.c

Signed-off-by: Alex Chen <alex.chen@huawei.com>
2020-12-02 11:27:01 +08:00
Euler Robot
ddddb8ff86 spec: Update release version with !34
increase release verison by one

Signed-off-by: Euler Robot <euler.robot@huawei.com>
2020-11-23 16:27:18 +08:00
Euler Robot
5c35322b0d spec: Update patch and changelog with !34
ati: check x y display parameter values

Signed-off-by: Alex Chen <alex.chen@huawei.com>
2020-11-23 16:27:15 +08:00
Euler Robot
21531c8c02 spec: Update release version with !30
increase release verison by one

Signed-off-by: Euler Robot <euler.robot@huawei.com>
2020-11-20 16:28:05 +08:00
Euler Robot
c32dae5a38 spec: Update patch and changelog with !30
elf2dmp: Fix memory leak on main() error paths
io: Don't use '#' flag of printf format
hw/display/omap_lcdc: Fix potential NULL pointer dereference
hw/display/exynos4210_fimd: Fix potential NULL pointer dereference
block/vvfat: Fix bad printf format specifiers
block: Remove unused include
ssi: Fix bad printf format specifiers
net/l2tpv3: Remove redundant check in net_init_l2tpv3()

Signed-off-by: Alex Chen <alex.chen@huawei.com>
2020-11-20 16:28:04 +08:00
Euler Robot
bb6ba0d2ee spec: Update release version with !24
increase release verison by one

Signed-off-by: Euler Robot <euler.robot@huawei.com>
2020-10-22 16:29:48 +08:00
Euler Robot
7dafe6b03d spec: Update patch and changelog with !24
pci: check bus pointer before dereference
hw/ide: check null block before _cancel_dma_sync

Signed-off-by: Prasad J Pandit <pjp@fedoraproject.org>
2020-10-22 16:29:39 +08:00
Ying Fang
46ca686596 spec: Update release version
increase release version by one.

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-09-28 15:29:50 +08:00
Jiajie Li
372c6f4847 fix CVE-2020-25085 & CVE-2020-25084
Signed-off-by: Jiajie Li <lijiajie11@huawei.com>
2020-09-18 14:43:13 +08:00
Jiajie Li
a765ea466d Drop bogus IPv6 messages
Drop IPv6 message shorter than what's mentioned in the payload
  length header (+ the size of the IPv6 header). They're invalid and could
  lead to data leakage in icmp6_send_echoreply().
2020-09-11 11:38:56 +08:00
Peng Liang
6cc24b9880 target/arm: ignore evtstrm and cpuid CPU features
evtstrm and cpuid cann't be controlled by VMM:
1. evtstrm: The generic timer is configured to generate events at a
   frequency of approximately 100KHz.  It's controlled by the linux
   kernel config CONFIG_ARM_ARCH_TIMER_EVTSTREAM.
2. cpuid: EL0 access to certain ID registers is available.  It's always
   set by linux kernel after 77c97b4ee2129 ("arm64: cpufeature: Expose
   CPUID registers by emulation").
However, they are exposed by getauxval() and /proc/cpuinfo.  Hence,
let's report and ignore the CPU features if someone set them.

Signed-off-by: Peng Liang <liangpeng10@huawei.com>
2020-09-08 23:27:33 +08:00
lijiajie128
27947f2b8c Merge branch 'master' of gitee.com:src-openeuler/qemu into fix-usb 2020-08-26 09:30:12 +08:00
lijiajie
6665dac3a5 update qemu.spec with Release num Increace one 2020-08-24 16:34:15 +08:00
lijiajie
b9478104d1 update qemu.spec with hw-usb-core-fixe-buffer-overflow.patch 2020-08-21 10:46:04 +08:00
Peng Liang
29b03965de Support disable/enable CPU features for AArch64
QEMU does not support disable/enable CPU features in AArch64 for now.
This patch series add support for CPU features in AArch64.

Firstly, we change the isar struct in ARMCPU to an array for
convenience.  Secondly, we add support to configure CPU feautres in
AArch64 and make sure that the ID registers can be synchronized to KVM
so that guest can read the value we configure.  Thirdly, we add a
mechanism to solve the dependency relationship of some CPU features.
Last, we add a KVM_CAP_ARM_CPU_FEATURE to check whether KVM supports to
set CPU features in AArch64.

Also export CPU features to the result of qmp query-cpu-model-expansion
so that libvirt can get the supported CPU features.

Update the ID fields to ARMv8.6 and add some CPU features according to
the new ID fields.

With related KVM patch set[1], we can disable/enable CPU features in
AArch64.

[1] https://patchwork.kernel.org/cover/11711693/

Signed-off-by: Peng Liang <liangpeng10@huawei.com>
2020-08-19 12:44:30 +08:00
Peng Liang
0c39e725b0 target/arm: backport upstream patches to support CPU feature
To support CPU feature in AArch64, we need to move some field from
ARMCPU to ARMISARegisters, add more definitions of ID fields, and add
suport query-cpu-model-expansion qmp command.  Let's backport upstream
patches to do these.

Signed-off-by: Peng Liang <liangpeng10@huawei.com>
2020-08-19 12:36:09 +08:00
Henglong Fan
b391c6d2f4 build smt processor structure to support smt topology
if vcpu support smt, create new smt hierarchy according to
Processor Properties Topology Table(PPTT) in acpi spec 6.3.
Threads sharing a core must be grouped under a unique Processor
hierarchy node structure for each group of threads

Signed-off-by: Henglong Fan <fanhenglong@huawei.com>
2020-08-18 22:00:58 +08:00
jiangfangjie
54e09b7986 aarch64 support vtpm
Signed-off-by: jiangfangjie <jiangfangjie@huawei.com>
2020-08-13 13:11:02 -04:00
Zeyu Jin
6b320d5441 hw/arm/acpi: enable SHPC native hot plug
backport from upstream:
https://git.qemu.org/?p=qemu.git;a=commit;h=e04c13cdcf5befd9d08df38d4d34494a802cdf63

Signed-off-by: Zeyu Jin <jinzeyu@huawei.com>
2020-08-12 14:10:17 +08:00
zhanghailiang
bac79dd0c6 qemu: pick serveral patches from upstream that fix CVE
Fix CVE-2020-13361, CVE-2020-13659, CVE-2020-13800, CVE-2020-13362

Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
2020-08-06 17:17:08 +08:00
Ying Fang
88bcb3346d spec: Update release version
increase release version by one

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-08-06 14:23:58 +08:00
Ying Fang
a138fa6057 spec: enable Werror by default
enable Werror by default so that we can check compilation warnnings

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-08-06 14:23:22 +08:00
Ying Fang
d5b31b6bcb tests: Disalbe filemonitor testcase
Since filemonitor testcase requires that host kernel being a LTS version,
we cannot guarantee that on OBS system. Let's disable it by default.

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-08-06 11:13:53 +08:00
Zeyu Jin
f725fc129f spec: increase build-requirement of rbd-devel
Rbd support is default in qemu configure, so we should also add rbd support in qemu.spec .

Signed-off-by: jinzeyu <jinzeyu@huawei.com>
2020-07-23 20:25:38 +08:00
zhanghailiang
6855f47eb2 spec: increase release number
Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
2020-06-20 15:39:31 +08:00
Ying Fang
8d6b291d5c spec: Update release version
increase release version by one

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
c588c37f4f target/arm: Add the kvm_adjvtime vcpu property for Cortex-A72
Add the kvm_adjvtime vcpu property for ARM Cortex-A72 cpu model,
so that virtual time adjust will be enabled for it.

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
24dd460ad6 Revert "target/arm: add ths missing GENERIC_TIMER"
This reverts commit 665d6b61fd86629272885e281410f512f8e7f32e.
2020-06-01 09:13:39 +00:00
zhanghailiang
ad7a2e0d04 target/arm: add ths missing GENERIC_TIMER
Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
fd193c0aa0 spec: Update release version
increase release verison by one

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
6f41ba9021 vtimer: Drop vtimer virtual timer adjust
This patch drops the vtimer virtual timer adjust, cross version migration
from openEuler qemu-4.0.1 to qemu-4.1.0 is not supported as a consequence.

By default openEuler qemu-4.1.0 use kvm_adjvtime as the virtual timer.

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
3b892a3933 spec: Update release version
increase release version by one

Signed-off-by: Ying Fang <fanging1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
d68b43587a migration: Compat virtual timer adjust for v4.0.1 and v4.1.0
Vtimer adjust is used in openEuler qemu-4.0.1, however kvm_adjvtime
is introduced in openEuler qemu-4.1.0. To maintain the compatibility
and enable cross version migration, let's enable vtimer adjust only
if kvm_adjvtime is not enabled, otherwise there may be conflicts
between vtimer adjust and kvm_adjvtime.

After this modification:
1: openEuler qemu-4.0.1 use vtimer as the default virtual timer
2: openEuler qemu-4.1.0 use kvm_adjvtime as the defaut virtual timer

Migration from openEuler qemu-4.0.1 to openEuler qemu-4.1.0 will
be ok, but migration path from upstream qemu-4.0.1 to openEuler
qemu-4..0.1 will be broken.

Since openEuler qemu-4.1.0, kvm_adjvtime is used as the default
virtual timer. So please upgrade to openEuler qemu-4.1.0 and
use the virt-4.1 machine.

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
b24393ef8e hw/arm/virt: add missing compat for kvm-no-adjvtime
Machine compatibility for kvm-no-adjvtime is missed,
let's add it for virt machine 4.0, thus kvm-no-adjvtime
is supported in v4.1.0.

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
7774be8671 vtimer: introduce the vtimer first used in v4.0.1
To support cross version migration, we had to add the vtimer back
which was introduced in openEuler qemu-4.0.1.

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
409590df6a Revert: "vtimer: compat cross version migration from v4.0.1"
This reverts commit patch:
vtimer-compat-cross-version-migration-from-v4.0.1.patch

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
a93a929409 spec: Update release version
increase release version by one

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
67a1d83a9d log: Add some logs on VM runtime path
Add logs on VM runtime path, to make it easier to do trouble shooting.

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Leo Fang
95c8ff21d2 CVE: Fix CVE-2018-19665
upstream url:
https://patchwork.kernel.org/patch/10688527/

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
42f23fa4e7 CVE: Fix CVE-2019-15890
this patch fix CVE-2019-15890, upstream patch url:
https://gitlab.freedesktop.org/slirp/libslirp/commit/c5927943

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
ce26e77689 CVE: Fix CVE-2020-7211
backport from upstream:
14ec36e107

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
f10dd80ac0 spec: Update release version
increase release version by one

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
cc6571bce3 CVE: fix CVE-2020-11869
backport from qemu upstream:
https://git.qemu.org/?p=qemu.git;a=commit;h=ac2071c3791b67fc7af78b8ceb320c01ca1b5df7

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
f645d20455 CVE: fix CVE-2019-20175
backport patch from upstream:
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=ed78352a59ea7acf7520d4d47a96b9911bae7fc3

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
b7d6ad34b1 spec: Update release version
increase release version by one

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Keqian Zhu
3e55e426e1 arm/virt: Support CPU cold plug
This adds CPU cold plug support to arm virt machine board.
CPU cold plug means adding CPU by using "-device xx-arm-cpu"
when we bring up Qemu.

Signed-off-by: Keqian Zhu <zhukeqian1@huawei.com>
2020-06-01 09:13:39 +00:00
Ying Fang
d2dca0b095 spec: Update release version
increase release version by one

Signed-off-by: Ying Fang <fangying1@huawei.com>
2020-06-01 09:13:39 +00:00
Leo Fang
e215d8d12a migration: fix some memleaks
Fix some memleaks for migration.

Signed-off-by: Pan Nengyuan <pannengyuan@huawei.com>
2020-06-01 09:13:39 +00:00