diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2015-07-09 16:22:37 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2015-07-09 16:22:37 +0100 |
commit | a9dc4cf94c182f03c0061483891f53d1d21e5e68 (patch) | |
tree | 46a303e7605560b367d97d237e3088462b05c987 | |
parent | 032624868df264d395ee9900331f08bad1431022 (diff) | |
parent | 4f4f6976d80614e2d81cea4385885876f24bb257 (diff) | |
download | qemu-a9dc4cf94c182f03c0061483891f53d1d21e5e68.zip qemu-a9dc4cf94c182f03c0061483891f53d1d21e5e68.tar.gz qemu-a9dc4cf94c182f03c0061483891f53d1d21e5e68.tar.bz2 |
Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
Fixes for two bad bugs. For 2.4-rc0.
# gpg: Signature made Thu Jul 9 15:54:19 2015 BST using RSA key ID 78C7AE83
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
# gpg: aka "Paolo Bonzini <pbonzini@redhat.com>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg: It is not certain that the signature belongs to the owner.
# 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:
crypto: fix builtin qcrypto_cipher_free
migration: fix RCU deadlock
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | crypto/cipher-builtin.c | 4 | ||||
-rw-r--r-- | migration/ram.c | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/crypto/cipher-builtin.c b/crypto/cipher-builtin.c index c625cb4..912c1b9 100644 --- a/crypto/cipher-builtin.c +++ b/crypto/cipher-builtin.c @@ -354,11 +354,13 @@ QCryptoCipher *qcrypto_cipher_new(QCryptoCipherAlgorithm alg, void qcrypto_cipher_free(QCryptoCipher *cipher) { - QCryptoCipherBuiltin *ctxt = cipher->opaque; + QCryptoCipherBuiltin *ctxt; + if (!cipher) { return; } + ctxt = cipher->opaque; ctxt->free(cipher); g_free(cipher); } diff --git a/migration/ram.c b/migration/ram.c index c696814..1e58cd3 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -1266,9 +1266,10 @@ static int ram_save_complete(QEMUFile *f, void *opaque) flush_compressed_data(f); ram_control_after_iterate(f, RAM_CONTROL_FINISH); - migration_end(); rcu_read_unlock(); + + migration_end(); qemu_put_be64(f, RAM_SAVE_FLAG_EOS); return 0; |