From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 2/4] tools/libxc: Tolerate zero-length records in migration v2 streams Date: Thu, 21 Jul 2016 18:17:35 +0100 Message-ID: <1469121457-365-3-git-send-email-andrew.cooper3@citrix.com> References: <1469121457-365-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1469121457-365-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Ian Jackson , Wei Liu List-Id: xen-devel@lists.xenproject.org VW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzLCB0aGUgbWlncmF0aW9uIHYyIHNhdmUgY29kZSB3b3Vs ZCBnZW5lcmF0ZSB2YWxpZApyZWNvcmRzIHdpdGggemVybyBjb250ZW50LCB3aGVuIHRoZSBpbnRl bmRlZCBiZWhhdmlvdXIgd2FzIHRvIG9taXQgdGhlIHJlY29yZAplbnRpcmVseS4KCkFzIHRoZSBz dHJlYW0gaXMgb3RoZXJ3aXNlIGZpbmUsIHRvbGVyYXRlIHRoZXNlIHJlY29yZHMgYW5kIGF2b2lk IGZhaWxpbmcgdGhlCm1pZ3JhdGlvbi4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFu ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzogSWFuIEphY2tzb24gPElhbi5KYWNrc29u QGV1LmNpdHJpeC5jb20+CkNDOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHRv b2xzL2xpYnhjL3hjX3NyX3Jlc3RvcmVfeDg2X2h2bS5jIHwgMjUgKysrKysrKysrKysrKysrKysr KysrKy0tLQogdG9vbHMvbGlieGMveGNfc3JfcmVzdG9yZV94ODZfcHYuYyAgfCAxNyArKysrKysr KysrKysrKy0tLQogMiBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX3NyX3Jlc3RvcmVfeDg2X2h2bS5jIGIv dG9vbHMvbGlieGMveGNfc3JfcmVzdG9yZV94ODZfaHZtLmMKaW5kZXggNDlkMjJjNy4uMWRjYTg1 MyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfc3JfcmVzdG9yZV94ODZfaHZtLmMKKysrIGIv dG9vbHMvbGlieGMveGNfc3JfcmVzdG9yZV94ODZfaHZtLmMKQEAgLTM5LDEzICszOSwzMiBAQCBz dGF0aWMgaW50IGhhbmRsZV9odm1fcGFyYW1zKHN0cnVjdCB4Y19zcl9jb250ZXh0ICpjdHgsCiAg ICAgdW5zaWduZWQgaW50IGk7CiAgICAgaW50IHJjOwogCi0gICAgaWYgKCByZWMtPmxlbmd0aCA8 IHNpemVvZigqaGRyKQotICAgICAgICAgfHwgcmVjLT5sZW5ndGggPCBzaXplb2YoKmhkcikgKyBo ZHItPmNvdW50ICogc2l6ZW9mKCplbnRyeSkgKQorICAgIGlmICggcmVjLT5sZW5ndGggPCBzaXpl b2YoKmhkcikgKQogICAgIHsKLSAgICAgICAgRVJST1IoImh2bV9wYXJhbXMgcmVjb3JkIGlzIHRv byBzaG9ydCIpOworICAgICAgICBFUlJPUigiSFZNX1BBUkFNUyByZWNvcmQgdHJ1bmNhdGVkOiBs ZW5ndGggJXUsIGhlYWRlciBzaXplICV6dSIsCisgICAgICAgICAgICAgIHJlYy0+bGVuZ3RoLCBz aXplb2YoKmhkcikpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfQogCisgICAgaWYgKCByZWMt Pmxlbmd0aCAhPSAoc2l6ZW9mKCpoZHIpICsgaGRyLT5jb3VudCAqIHNpemVvZigqZW50cnkpKSAp CisgICAgeworICAgICAgICBFUlJPUigiSFZNX1BBUkFNUyByZWNvcmQgdHJ1bmNhdGVkOiBoZWFk ZXIgJXp1LCBjb3VudCAldSwgIgorICAgICAgICAgICAgICAiZXhwZWN0ZWQgbGVuICV6dSwgZ290 ICV1IiwKKyAgICAgICAgICAgICAgc2l6ZW9mKCpoZHIpLCBoZHItPmNvdW50LCBoZHItPmNvdW50 ICogc2l6ZW9mKCplbnRyeSksCisgICAgICAgICAgICAgIHJlYy0+bGVuZ3RoKTsKKyAgICAgICAg cmV0dXJuIC0xOworICAgIH0KKworICAgIC8qCisgICAgICogVG9sZXJhdGUgZW1wdHkgcmVjb3Jk cy4gIE9sZGVyIHNlbmRpbmcgc2lkZXMgdXNlZCB0byBhY2NpZGVudGFsbHkKKyAgICAgKiBnZW5l cmF0ZSB0aGVtLgorICAgICAqLworICAgIGlmICggaGRyLT5jb3VudCA9PSAwICkKKyAgICB7Cisg ICAgICAgIERCR1BSSU5URigiU2tpcHBpbmcgZW1wdHkgSFZNX1BBUkFNUyByZWNvcmRcbiIpOwor ICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKICAgICBmb3IgKCBpID0gMDsgaSA8IGhkci0+Y291 bnQ7IGkrKywgZW50cnkrKyApCiAgICAgewogICAgICAgICBzd2l0Y2ggKCBlbnRyeS0+aW5kZXgg KQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfc3JfcmVzdG9yZV94ODZfcHYuYyBiL3Rvb2xz L2xpYnhjL3hjX3NyX3Jlc3RvcmVfeDg2X3B2LmMKaW5kZXggYmM2MDRiMy4uNTBlMjVjMSAxMDA2 NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfc3JfcmVzdG9yZV94ODZfcHYuYworKysgYi90b29scy9s aWJ4Yy94Y19zcl9yZXN0b3JlX3g4Nl9wdi5jCkBAIC03NTMsMTUgKzc1MywyNiBAQCBzdGF0aWMg aW50IGhhbmRsZV94ODZfcHZfdmNwdV9ibG9iKHN0cnVjdCB4Y19zcl9jb250ZXh0ICpjdHgsCiAg ICAgfQogCiAgICAgLyogQ29uZmlybSB0aGF0IHRoZXJlIGlzIGEgY29tcGxldGUgaGVhZGVyLiAq LwotICAgIGlmICggcmVjLT5sZW5ndGggPD0gc2l6ZW9mKCp2aGRyKSApCisgICAgaWYgKCByZWMt Pmxlbmd0aCA8IHNpemVvZigqdmhkcikgKQogICAgIHsKLSAgICAgICAgRVJST1IoIiVzIHJlY29y ZCB0cnVuY2F0ZWQ6IGxlbmd0aCAldSwgbWluICV6dSIsCi0gICAgICAgICAgICAgIHJlY19uYW1l LCByZWMtPmxlbmd0aCwgc2l6ZW9mKCp2aGRyKSArIDEpOworICAgICAgICBFUlJPUigiJXMgcmVj b3JkIHRydW5jYXRlZDogbGVuZ3RoICV1LCBoZWFkZXIgc2l6ZSAlenUiLAorICAgICAgICAgICAg ICByZWNfbmFtZSwgcmVjLT5sZW5ndGgsIHNpemVvZigqdmhkcikpOwogICAgICAgICBnb3RvIG91 dDsKICAgICB9CiAKICAgICBibG9ic3ogPSByZWMtPmxlbmd0aCAtIHNpemVvZigqdmhkcik7CiAK KyAgICAvKgorICAgICAqIFRvbGVyYXRlIGVtcHR5IHJlY29yZHMuICBPbGRlciBzZW5kaW5nIHNp ZGVzIHVzZWQgdG8gYWNjaWRlbnRhbGx5CisgICAgICogZ2VuZXJhdGUgdGhlbS4KKyAgICAgKi8K KyAgICBpZiAoIGJsb2JzeiA9PSAwICkKKyAgICB7CisgICAgICAgIERCR1BSSU5URigiU2tpcHBp bmcgZW1wdHkgJXMgcmVjb3JkIGZvciB2Y3B1ICV1XG4iLAorICAgICAgICAgICAgICAgICAgcmVj X3R5cGVfdG9fc3RyKHJlYy0+dHlwZSksIHZoZHItPnZjcHVfaWQpOworICAgICAgICBnb3RvIG91 dDsKKyAgICB9CisKICAgICAvKiBDaGVjayB0aGF0IHRoZSB2Y3B1IGlkIGlzIHdpdGhpbiByYW5n ZS4gKi8KICAgICBpZiAoIHZoZHItPnZjcHVfaWQgPj0gY3R4LT54ODZfcHYucmVzdG9yZS5ucl92 Y3B1cyApCiAgICAgewotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK