Commit Graph

73625 Commits

Author SHA1 Message Date
Matt Borgerson cd1f6f376c build: Default to release builds, rename Win binaries 2020-03-12 01:04:33 -07:00
Matt Borgerson 8779bb933c ci: Remove glib from macOS dep list
Apparently it is already installed on the GitHub runners and trying to
install it again will cause an error now, failing the build.
2020-02-21 00:59:59 -07:00
Matt Borgerson 5d88b084ff README: Direct users to the website for more info 2020-02-21 00:45:41 -07:00
Matt Borgerson 07ec9162db README: Update badges, add download button 2020-02-18 22:33:17 -07:00
Matt Borgerson 4a6910f052 memory: Sync before doing a test and clear 2020-02-18 22:14:32 -07:00
Matt Borgerson 3e5da78157 memory: Fix start offset for bitmap log_clear hook
Currently only the final page offset is being passed to the `log_clear`
hook via `memory_region_clear_dirty_bitmap` after it is used as an
iterator in `cpu_physical_memory_test_and_clear_dirty`. This patch
corrects the start address and size of the region.

Signed-off-by: Matt Borgerson <contact@mborgerson.com>
2020-02-18 22:14:32 -07:00
Matt Borgerson 2b667343db hw/xbox: Update xbox machine to align with new pc/x86 machine 2020-02-18 22:14:32 -07:00
Matt Borgerson f1892f13fa memory: Add back change from upstream 2020-02-18 22:14:32 -07:00
Matt Borgerson 76707bcc99 hvf: Align with upstream and fix 32b 2020-02-18 22:14:32 -07:00
Matt Borgerson 8d50346ce6 hw/xbox: Update includes that have changed upstream 2020-02-17 23:49:33 -07:00
Matt Borgerson 62fe1638d8 hw/i386: Add USB_OHCI_PCI selection to XBOX configuration 2020-02-17 23:47:40 -07:00
Matt Borgerson f6efba6a89 usb: Fix Xbox patch to use configurable num_ports field 2020-02-17 23:46:26 -07:00
Matt Borgerson 4009d69e8d build: Update build options after merge 2020-02-17 23:45:58 -07:00
Matt Borgerson 51908f4375 v4.2.0 release
-----BEGIN PGP SIGNATURE-----
 
 iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAl3ybsUZHHBldGVyLm1h
 eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3kYJD/wJTQcoyDpg0J/I/7Ehi+HC
 oJV0opIFNtJCFsjMNVhkv6tyA9YM+3A0o5anWq/bt5+3zxZwe5Z5PVp6O21DZYv/
 Z2Myt5qZkpQIO7OEOHnXko2u4i127Bwz/AyCzrjmJUe4IlRUFBv5DcVAuJ/WZOtZ
 W7ZyZXxtdcP3USXuWdr4ofZbjsPVKeSGQ04PLyLJRJnNZe29a8QPifX6Iuy5WY0e
 /lir5BZt4xhfysi+kIWDYfLIGFIFp3KkHM5IIFavUn5FZsia//yrcnLF5vbWiDTg
 XcZ44Wu5n8cCPJUOTw2COago4SsolrEAa1ifXnxG6vxxFVk0+wRpopiWEHqRzAgQ
 ai2Q37pdzFG6jIdnKx5JVG5LJ5NpI/fFLLrkSGw7BiLePp9F+EbYu7S9o6myKdUp
 jRfRQWKtLAxBEb5MBFP34wkB2fzxGUCc8JoWp9sIUWj711Wum1Z59Tib2Pu2YjQa
 4Mwei+8fyARTZ3dnjHdtv2R84uJUox6mVlfOYL8eRgt9+LqaIRfr0VMLq9A0TxO1
 ks0EkrA7D7kQtx14eDHZypHRuwQ2ed9YPhIsGEnngHhGTRLozkP200E8c1T/fE/G
 5t3C6tOHtNa63JytJyABCiK2ZssiYl7qZsRPIAyVSwtYGeMmU8bWQkdLS8EVZ3Bu
 My+1+EKBeBBK2im6lHl0ag==
 =X+wx
 -----END PGP SIGNATURE-----

Merge tag 'v4.2.0' into merge-qemu-v4.2.0

v4.2.0 release
2020-02-17 22:22:07 -07:00
Matt Borgerson 36eeccd016 README: Use the same workflow badge for each platform
GitHub badges only report status of a workflow, not of the jobs. Since
I've unified the jobs to a single workflow, this means we only get one
badge status. We want to demonstrate support for all platforms, so just
fake it until we can get job-specific badges.
2020-02-15 18:01:03 -07:00
Matt Borgerson da345f66ac ci: Merge artifacts and add a release job 2020-02-15 18:01:03 -07:00
Matt Borgerson 4d3555a36c ci: Merge build jobs to a single workflow 2020-02-15 15:25:08 -07:00
Luke Usher 0ced417e73 dsp: Use endianness handling functions when accessing memory 2020-01-03 02:28:14 +01:00
Matt Borgerson d57fa78169 ci: Unlink python@2 for macOS
Dependency resolution resulting in installation of 'python' will grab
python@3 which conflicts with existing python@2 installation's symlinks.
Unlink python@2 for now so python@3 can install cleanly.
2020-01-02 16:24:25 -07:00
Matt Borgerson 3cbe585b59 build: Disable some unnecessary features 2019-12-24 17:10:34 -07:00
Matt Borgerson 32ad2bc012 ci: Auto-confirm update to MSYS2 environment 2019-12-23 15:02:50 -07:00
Matt Borgerson b451995502 README: Update CI badges 2019-12-23 14:17:56 -07:00
Matt Borgerson dd26bee808 ci: Use ccache to reduce build time 2019-12-23 14:17:56 -07:00
Matt Borgerson 70f8837912 ci: Add GitHub Actions build workflows 2019-12-23 14:17:56 -07:00
Matt Borgerson 84c168de09 ci: Remove AppVeyor config 2019-12-23 14:17:56 -07:00
Matt Borgerson 3fa1ec3bd4 .travis.yml: Restore Travis-CI config to QEMU upstream 2019-12-23 14:17:56 -07:00
Matt Borgerson b23ea976cf build: Narrow `make` scope to i386-softmmu target 2019-12-23 14:17:56 -07:00
Matt Borgerson f8a7f34508 build: Disable source fortification for Windows builds
MSYS2/Mingw does not appear to provide a stable set of fortified source
functions which the compiler makes calls to when the feature is enabled.
Disable the feature for now.
2019-12-23 14:17:56 -07:00
Matt Borgerson 310addb197 configure: Add option to disable source fortification 2019-12-23 14:17:56 -07:00
Matt Borgerson 6dc3f4f582 osdep: Define __USE_MINGW_ANSI_STDIO before includes
This patch moves the definition of __USE_MINGW_ANSI_STDIO to precede
inclusion of any headers. This is done to prevent stdio.h from assigning
a default value which was previously conflicting with our unconditional
definition, resulting in numerous compiler warnings.
2019-12-23 14:17:56 -07:00
Peter Maydell b0ca999a43 Update version for v4.2.0 release
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-12-12 16:45:57 +00:00
Peter Maydell 52901abf94 Update version for v4.2.0-rc5 release
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-12-10 17:15:21 +00:00
Peter Maydell 9b4efa2ede bitmap fix for 4.2-rc5
- Fix a regression that broke bitmap deletion without a transaction,
 and causes a crash with transaction (only transaction is new to 4.2),
 when a qcow2 file contains persistent bitmaps from prior shutdown
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEccLMIrHEYCkn0vOqp6FrSiUnQ2oFAl3uaBMACgkQp6FrSiUn
 Q2rX+Af8Dn6cklzAizMLWCvXgEmbUhEvcVp5Gc9w34McCYokQaFDtNDuoShDIksa
 F01uP3TlKYd8JoMiGihqVP1mcof8dyGBNMX1fVr2iYIet0h7OAtzOfatXiHmaz4g
 r3utlx+0BHm+m9jhwsnCKp24ERa9izGmFQAIyaFLarGdasr29ArepCEXGXiOwtYF
 RwD+ioolN9wDcOHjRrEVLHKKRkiX9dSnxKxENahf+M2hVXD+UfbX4cumYxBWOxJQ
 qJpTznTA3BxRzUd3/Ue6NL0YmKmXLqHzyeX2Nc1NsdC485nCKn/QZtgI/8yAU0uL
 6nseBGa1kgF4+97LwGmPKUmumcxGmQ==
 =YAZ1
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/ericb/tags/pull-nbd-2019-12-09' into staging

bitmap fix for 4.2-rc5

- Fix a regression that broke bitmap deletion without a transaction,
and causes a crash with transaction (only transaction is new to 4.2),
when a qcow2 file contains persistent bitmaps from prior shutdown

# gpg: Signature made Mon 09 Dec 2019 15:28:19 GMT
# gpg:                using RSA key 71C2CC22B1C4602927D2F3AAA7A16B4A2527436A
# gpg: Good signature from "Eric Blake <eblake@redhat.com>" [full]
# gpg:                 aka "Eric Blake (Free Software Programmer) <ebb9@byu.net>" [full]
# gpg:                 aka "[jpeg image of size 6874]" [full]
# Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2  F3AA A7A1 6B4A 2527 436A

* remotes/ericb/tags/pull-nbd-2019-12-09:
  block/qcow2-bitmap: fix crash bug in qcow2_co_remove_persistent_dirty_bitmap

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-12-09 16:06:51 +00:00
Vladimir Sementsov-Ogievskiy f56281abd9 block/qcow2-bitmap: fix crash bug in qcow2_co_remove_persistent_dirty_bitmap
Here is double bug:

First, return error but not set errp. This may lead to:
qmp block-dirty-bitmap-remove may report success when actually failed

block-dirty-bitmap-remove used in a transaction will crash, as
qmp_transaction will think that it returned success and will call
block_dirty_bitmap_remove_commit which will crash, as state->bitmap is
NULL

Second (like in anecdote), this case is not an error at all. As it is
documented in the comment above bdrv_co_remove_persistent_dirty_bitmap
definition, absence of bitmap is not an error, and similar case handled
at start of qcow2_co_remove_persistent_dirty_bitmap, it returns 0 when
there is no bitmaps at all.

But when there are some bitmaps, but not the requested one, it return
error with errp unset.

Fix that.

Trigger:
1. create persistent bitmap A
2. shutdown vm  (bitmap A is synced)
3. start vm
4. create persistent bitmap B
5. remove bitmap B - it fails (and crashes if in transaction)

Potential workaround (rather invasive to ask clients to implement it):
1. create persistent bitmap A
2. shutdown vm
3. start vm
4. create persistent bitmap B
5. remember, that we want to remove bitmap B after vm shutdown
...
  some other operations
...
6. vm shutdown
7. start vm in stopped mode, and remove all bitmaps marked for removing
8. stop vm

Fixes: b56a1e3175
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20191205193049.30666-1-vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
[eblake: commit message tweaks]
Signed-off-by: Eric Blake <eblake@redhat.com>
2019-12-09 09:23:04 -06:00
Peter Maydell 8350b17be0 ppc patch queue 2019-12-09
This is a last minute pull request for ppc-for-4.2.  I know it's very
 late in freeze, but this does fix a regression: a bad interaction
 between the new qemu and SLOF device tree construction code means that
 SLOF will crash if PCI to PCI bridges are included in the system.
 
 This PR supersedes ppc-for-4.2-20191206.  This one has only a more
 minimal change to the firmware addressed only at fixing this bug and
 not incorporating some other unrelated changes that happened in the
 meantime.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEdfRlhq5hpmzETofcbDjKyiDZs5IFAl3t0wMACgkQbDjKyiDZ
 s5Jfsg//c8aRcQLJDYmdrMdmSh9t2rhXBG7lM+kRYa914HM9J3+Zk03NRJYmeEYn
 NP05Vek0r6EE603dtHujcepfX5PiU5702fENv6aqSun24uionIVsN6NH8CElY93/
 KcDY5xeNX9XOkZ2m6q+QRK8SxgSmB0fEgpQg2pcC3L5zCd7LQ4psaT/lCDY4Mvix
 9l7WdrWKfY5GLZ1F54jX9Rulu4p8Bcy9jTkrddfyQK0/NMjuT3TsnJKt/CSGU0ar
 CjTxxf8C2UTObXB2N6DPRruKQ2sB8Dwx6YXHY9k7pShRiFtBXAJBLOdawX/5MXXq
 DYKl6hw0RNrzcGbyH4fgcIC7X/GoaAf+GSW3c0C6umHo+A63LTjnPvaPhM/Tzdw6
 Z4UnWFZ+xVOuKBc1PAjTEzoQtnoxa8Rn9glnTKtgQ7N/GTwoTMmwLCA7zrbGOyk9
 o1rx/87QpAob6idzZIxNWhNqQIFhKtAz9BjsCfpJIQDDPn2o+NbAQIU/QPKgN0LQ
 rIpXDBM94jjhDkQ4S9HoqwI74AGQjzvUcT59bSsYpYD2UYZAjwAYEIj6gbOgpvJB
 Hu1ujhl50gwgVGxYcfrxoJvURIsroaDNSYVyYVlnZBqIz83SE6LTyzas1GmDsgz5
 GIGPMSr6aYKMTgRnDbHHs48bE1UGPybgnAek/tS5Ei3qoV5JJMs=
 =ZWDP
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-4.2-20191209' into staging

ppc patch queue 2019-12-09

This is a last minute pull request for ppc-for-4.2.  I know it's very
late in freeze, but this does fix a regression: a bad interaction
between the new qemu and SLOF device tree construction code means that
SLOF will crash if PCI to PCI bridges are included in the system.

This PR supersedes ppc-for-4.2-20191206.  This one has only a more
minimal change to the firmware addressed only at fixing this bug and
not incorporating some other unrelated changes that happened in the
meantime.

# gpg: Signature made Mon 09 Dec 2019 04:52:19 GMT
# gpg:                using RSA key 75F46586AE61A66CC44E87DC6C38CACA20D9B392
# gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" [full]
# gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>" [full]
# gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" [full]
# gpg:                 aka "David Gibson (kernel.org) <dwg@kernel.org>" [unknown]
# Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392

* remotes/dgibson/tags/ppc-for-4.2-20191209:
  pseries: Update SLOF firmware image

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-12-09 11:07:34 +00:00
Alexey Kardashevskiy a2fad86497 pseries: Update SLOF firmware image
This fixes PCI bridge regression.

Alexey Kardashevskiy (3):
      ibm,client-architecture-support: Fix stack handling
      fdt: Fix updating the tree at H_CAS
      version: update to 20191209

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2019-12-09 12:16:26 +11:00
Peter Maydell 02f9c885ed * fix for x86 KVM on older kernels (Yang Zhong)
-----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAl3qPSgUHHBib256aW5p
 QHJlZGhhdC5jb20ACgkQv/vSX3jHroMaPAf/d9qRoE2EBrvz2gYksEz4WY0BpyyG
 1QX5U3cF3DNXWyqbB2gWMR/O7h4cxYBr8u9tTFVUjhAK69fNqm0lACfhkmhUjeMx
 Nh1Hy3JW9wDadUk/8jEmxGH+vJcJW5wV6PJtyKYTGGkpA4ZvUIY7xSea4MlfrqPr
 mpBk3GR2ItsQh+IEyItfQrNWSqKEiHjxejsb8DsM0qkJSudT462vyL2BjVEvIF3Z
 uQPO5U8flSeR1mgAqIGOP98Db1iWPBOCAwDW62W18CH5t64Q7ZTTB+nPP+MrLoPm
 IMkRr1zKMJFX+z20Sl/E3NoQ1cLVr0bMFN792uNKR0qFEXyhsQM/CFRHRQ==
 =T82y
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging

* fix for x86 KVM on older kernels (Yang Zhong)

# gpg: Signature made Fri 06 Dec 2019 11:36:08 GMT
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* remotes/bonzini/tags/for-upstream:
  target/i386: disable VMX features if nested=0

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-12-06 15:05:20 +00:00
Yang Zhong 2605188240 target/i386: disable VMX features if nested=0
If kvm does not support VMX feature by nested=0, the kvm_vmx_basic
can't get the right value from MSR_IA32_VMX_BASIC register, which
make qemu coredump when qemu do KVM_SET_MSRS.

The coredump info:
error: failed to set MSR 0x480 to 0x0
kvm_put_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.

Signed-off-by: Yang Zhong <yang.zhong@intel.com>
Message-Id: <20191206071111.12128-1-yang.zhong@intel.com>
Reported-by: Catherine Ho <catherine.hecx@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-12-06 12:35:40 +01:00
Peter Maydell 1bdc319ab5 Update version for v4.2.0-rc4 release
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-12-03 17:56:30 +00:00
Peter Maydell 24d68f3737 * last HVF fix (Cameron)
-----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAl3mGMcUHHBib256aW5p
 QHJlZGhhdC5jb20ACgkQv/vSX3jHroNkgAf9F37Q+vR+AE43/tMExyyxP43LD56X
 S+GMyR6ZUxk+w2vUCI0J4mVip5lmFrsNGKQmHpIqUDa/YnUiGm0FmCIXIZTfC14C
 96AROkNxG3/q4H7pznnMhtAJBltvDydGopK8uN6pgsCQchpr0OehzONa1iR7dxdL
 dQxjYAvj3SITUULyhzMYt5Id9V1EHUjU9dY8exguMDlU27Mpe6BBTPHe1EZ6c47a
 ZX41v1sPTC70ylbMAfRWrFVCbVGPh4ojzV3s/3CmuVhlsQeUwa33ghWEsuEXTFxh
 RVKBT9RZTlfKiNOlr2YulkVjteMOy+nLfGgPEebX8oM1Q51hr4bujkSOMA==
 =9PV4
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging

* last HVF fix (Cameron)

# gpg: Signature made Tue 03 Dec 2019 08:11:51 GMT
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* remotes/bonzini/tags/for-upstream:
  hvf: correctly inject VMCS_INTR_T_HWINTR versus VMCS_INTR_T_SWINTR.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-12-03 10:07:56 +00:00
Cameron Esfahani 64bef038e7 hvf: correctly inject VMCS_INTR_T_HWINTR versus VMCS_INTR_T_SWINTR.
Previous implementation in hvf_inject_interrupts() would always inject
VMCS_INTR_T_SWINTR even when VMCS_INTR_T_HWINTR was required.  Now
correctly determine when VMCS_INTR_T_HWINTR is appropriate versus
VMCS_INTR_T_SWINTR.

Make sure to clear ins_len and has_error_code when ins_len isn't
valid and error_code isn't set.

Signed-off-by: Cameron Esfahani <dirty@apple.com>
Message-Id: <bf8d945ea1b423786d7802bbcf769517d1fd01f8.1575330463.git.dirty@apple.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-12-03 09:11:42 +01:00
Peter Maydell 39032981fa Error reporting patches for 2019-12-02
-----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAl3lKxkSHGFybWJydUBy
 ZWRoYXQuY29tAAoJEDhwtADrkYZTtmYP/i3G3U3L74gsuk0YDLedqHktcc+QGook
 oUkhEKhaU2VgIPgL58ghALzEXQobridh6FQsysx5ETGEN+snwkgJeqM4pAG1ROB6
 OpF4lvR613HEGK+YjxwYpera8Hu4K/6aYSddrpf+mvnUcI7LR7OrvbnqE8slj294
 fp7LdonIDdzl48zzb2DcRYdySNobMmWgFvX5jGbayZ7274iU7wHbk5D2TCf7MvxP
 iuRpsQYQS9lwtCxiaWveMU5mW7Fjcv54CoCxLpY0Z0kyFR1g6p7hVJtfuaxaRJMp
 8QOkLdLDxOYLmL/eGOjFbaaSEk4aXjCnrHy8LgcViqzOl6pXyXbxSv0GTLcPH1mH
 nVutohuZzjxCa+nNf6CW6DbTOZOBwGl6efVLtUqkkd855ls9poxyxMLTyO/EveSK
 E46ZLSM3XiX8HGmboBeeW18QS5wUJlT8SB0PO9k6oQr9LdCJt45MjGCZCjjOglmk
 1RO+Mx+XlzjFJsbdMoNfSrYVvuPn+c1mACSoITkr0eTr2XyqaxXknHMRKXacJSt7
 1ppA4sFaQH6ORvCKm8NutTRAd0qAlOdougmrgSL7p0ZcaxfygAG4GAgh6UjEDWOe
 /+LmmT2p41BOxmd3F5Pj6YZaOWucw7rZMm1YuxN9ZllMKoj9lP5leGjssGYom+K6
 UW96fQzGmpaV
 =qwBN
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/armbru/tags/pull-error-2019-12-02' into staging

Error reporting patches for 2019-12-02

# gpg: Signature made Mon 02 Dec 2019 15:17:45 GMT
# gpg:                using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg:                issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653

* remotes/armbru/tags/pull-error-2019-12-02:
  block/file-posix: Fix laio_init() error handling crash bug
  net/virtio: Fix failover error handling crash bugs
  net/virtio: Drop useless n->primary_dev not null checks

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-12-02 16:29:41 +00:00
Markus Armbruster cb09104ea8 block/file-posix: Fix laio_init() error handling crash bug
raw_aio_attach_aio_context() passes uninitialized Error *local_err by
reference to laio_init() via aio_setup_linux_aio().  When laio_init()
fails, it passes it on to error_setg_errno(), tripping error_setv()'s
assertion unless @local_err is null by dumb luck.

Fix by initializing @local_err properly.

Fixes: ed6e216171
Cc: Nishanth Aravamudan <naravamudan@digitalocean.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20191130194240.10517-4-armbru@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
2019-12-02 16:14:41 +01:00
Markus Armbruster 5a0948d36c net/virtio: Fix failover error handling crash bugs
Functions that take an Error ** parameter to pass an error to the
caller expect the parameter to point to null.
failover_replug_primary() violates this precondition in several
places:

* After qemu_opts_from_qdict() failed, *errp is no longer null.
  Passing it to error_setg() is wrong, and will trip the assertion in
  error_setv().  Messed up in commit 150ab54aa6 "net/virtio: fix
  re-plugging of primary device".  Simply drop the error_setg().

* Passing @errp to qemu_opt_set_bool(), hotplug_handler_pre_plug(),
  and hotplug_handler_plug() is wrong.  If one of the first two fails,
  *errp is no longer null.  Risks tripping the same assertion.
  Moreover, continuing after such errors is unsafe.  Messed up in
  commit 9711cd0dfc "net/virtio: add failover support".  Fix by
  handling each error properly.

failover_replug_primary() crashes when passed a null @errp.  Also
messed up in commit 9711cd0dfc.  This bug can't bite as no caller
actually passes null.  Fix it anyway.

Fixes: 9711cd0dfc
Fixes: 150ab54aa6
Cc: Jens Freimann <jfreimann@redhat.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20191130194240.10517-3-armbru@redhat.com>
Reviewed-by: Jens Freimann <jfreimann@redhat.com>
2019-12-02 16:14:38 +01:00
Markus Armbruster 4dbac1aed2 net/virtio: Drop useless n->primary_dev not null checks
virtio_net_handle_migration_primary() returns early when it can't
ensure n->primary_dev is non-null.  Checking it again right after that
early return is redundant.  Drop.

If n->primary_dev is null on entering failover_replug_primary(), @pdev
will become null, and pdev->partially_hotplugged will crash.  Checking
n->primary_dev later is useless.  It can't actually be null, because
its caller virtio_net_handle_migration_primary() ensures it isn't.
Drop the useless check.

Cc: Jens Freimann <jfreimann@redhat.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20191130194240.10517-2-armbru@redhat.com>
Reviewed-by: Jens Freimann <jfreimann@redhat.com>
2019-12-02 16:14:33 +01:00
Alex Bennée fb2246882a .travis.yml: drop xcode9.4 from build matrix
It's broken so it's no longer helping. The latest Xcode is covered by
Cirrus.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-id: 20191127132430.3681-1-alex.bennee@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-11-29 15:51:52 +00:00
Peter Maydell b944295090 A fix for regression in the s390-ccw bios
-----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAl3g5FsRHHRodXRoQHJl
 ZGhhdC5jb20ACgkQLtnXdP5wLbXH8Q//X2+FcS42xJ3ND+vKThQVp8lsXo3NvGzD
 mOrOqSplx47qFdbNlvM+UT9vvP82K9fQtOK/2KFDpnO2+zKJLcqeQBBdo5faJqgw
 MO7Xdr6Yi1Xh/eQYdE6mP3kCeQ96ZMp9HrGgHPtCHck4vFbotYH8UjvSK/vEqvt3
 AN/zBVXC0aoAoD0SSWVGCVH5yiglnRISlKFVwxncQeWWIlrCmBSRIwy9z+ZYQYxQ
 rGDbKOejv2xDKF8SwNITjC2lPFZqJT8+eWjoqQ8tppoUBJnjiWQw8VxWI/ivfPX9
 W9pLv0X97mvCdUtuuhPaZVl5bWXWSPAWIq7z6SeuxluPQlj8VT2jIi0apgEchNnp
 kXSQgMOTtKB/XFkA0NiRVtUpGkZ8wly/u7w6F05zjdkenMq2SrKSk+30j22TCh9y
 fYh1KMAKFEECObzGbkcsctJ4uzh+rG6ehecDyAKirQvhcyDsiRoXsDyYGS5oBXb1
 gZoe4SPQRbcpVYDbah6CFzCBAzuBBV4JfWBOHMntS5QOnO13+mSxC9lXa1mMYGi2
 fqS0JzpnsGAR5Uyb3XAurvJw7gE2XSOGS0XZanisyjlFbDSwVJjy2wkB3ofwz4xo
 weYpAEfSvqHcuxfExeTDwWHb4B5FGwzb7V4lOtgqqDwDs55wZ//lmw+7A2veyh+Q
 jWAQ3TYovX0=
 =NzmB
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2019-11-29' into staging

A fix for regression in the s390-ccw bios

# gpg: Signature made Fri 29 Nov 2019 09:26:51 GMT
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* remotes/huth-gitlab/tags/pull-request-2019-11-29:
  pc-bios/s390: Update firmware image with the "fix sclp_get_loadparm_ascii" patch
  pc-bios/s390-ccw: fix sclp_get_loadparm_ascii

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-11-29 11:41:55 +00:00
Thomas Huth bf876a688c pc-bios/s390: Update firmware image with the "fix sclp_get_loadparm_ascii" patch
This fixes various boot scenarios, e.g. the possibility to use
"-boot menu=on".

Signed-off-by: Thomas Huth <thuth@redhat.com>
2019-11-29 10:12:33 +01:00
Claudio Imbrenda f24ec9fead pc-bios/s390-ccw: fix sclp_get_loadparm_ascii
The existing s390 bios gets the LOADPARM information from the system using
an SCLP call that specifies a buffer length too small to contain all the
output.

The recent fixes in the SCLP code have exposed this bug, since now the
SCLP call will return an error (as per architecture) instead of
writing partially and completing successfully.

The solution is simply to specify the full page length as the SCCB
length instead of a smaller size.

Fixes: 832be0d8a3 ("s390x: sclp: Report insufficient SCCB length")
Fixes: 9a22473c70 ("pc-bios/s390-ccw: get LOADPARM stored in SCP Read Info")

Reported-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-Id: <1574944437-31182-1-git-send-email-imbrenda@linux.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Tested-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Tested-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2019-11-29 09:16:02 +01:00
Peter Maydell 1a61a081ac Update version for v4.2.0-rc3 release
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-11-26 21:52:26 +00:00