From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v7 1/5] livepatch: Disallow applying after an revert Date: Wed, 21 Sep 2016 12:57:06 -0400 Message-ID: <1474477030-10722-2-git-send-email-konrad.wilk@oracle.com> References: <1474477030-10722-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bmkps-0000G0-DL for xen-devel@lists.xenproject.org; Wed, 21 Sep 2016 16:57:28 +0000 In-Reply-To: <1474477030-10722-1-git-send-email-konrad.wilk@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: konrad@kernel.org, xen-devel@lists.xenproject.org, ross.lagerwall@citrix.com Cc: andrew.cooper3@citrix.com, Jan Beulich , Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org T24gZ2VuZXJhbCB0aGlzIGlzIHVuaGVhbHRoeSAtIGFzIHRoZSBwYXlsb2FkJ3MgLmJzcyAoZGVm aW5pdGx5KQpvciAuZGF0YSAobWF5YmUpIHdpbGwgYmUgbW9kaWZpZWQgb25jZSB0aGUgcGF5bG9h ZCBpcyBydW5uaW5nLgoKRG9pbmcgYW4gcmV2ZXJ0IGFuZCB0aGVuIHJlLWFwcGx5aW5nIHRoZSBw YXlsb2FkIHdpdGggYSBub24tcHJpc3RpbmUKLmJzcyBvciAuZGF0YSBjYW4gbGVhZCB0byB1bmZv cnNlZW4gY29uc2VxdWVuY2VzICguYnNzIGFyZSBhc3N1bWVkCnRvIGFsd2F5cyBjb250YWluIHpl cm8gdmFsdWUgYnV0IG5vdyB0aGV5IG1heSBoYXZlIGEgZGlmZmVyZW50IHZhbHVlKS4KClRoZXJl IGlzIG9uZSBleGNlcHRpb24gLSBpZiB0aGUgcGF5bG9hZCBjb250YWlucyBvbmx5IG9uZSAuZGF0 YSBzZWN0aW9uCi0gdGhlIC5saXZlcGF0Y2guZnVuY3MsIHRoZW4gaXQgaXMgT0sgdG8gcmUtYXBw bHkgYW4gcmV2ZXJ0LgpXZSBkZXRlY3QgdGhpcyByYXRoZXIgc2ltcGx5IChpZiB0aGVyZSBpcyBv bmUgUlcgc2VjdGlvbiBhbmQgaXRzIG5hbWUKaXMgLmxpdmVwYXRjaC5mdW5jcykgLSBidXQgdGhl IHBheWxvYWQgbWF5IGhhdmUgbWFueSBvdGhlciBSVyBzZWN0aW9ucwp0aGF0IGFyZSBub3QgdXNl ZCBhdCBhbGwgKHN1Y2ggYXMgLmJzcyBvciAuZGF0YSBzZWN0aW9ucyB3aXRoIHplcm8KbGVuZ3Ro KS4gVG8gbm90IGFjY291bnQgdGhvc2Ugd2UgYWxzbyBpZ25vcmUgc2VjdGlvbnMgd2l0aCBzaF9z aXplCmJlaW5nIHplcm8uCgpTdWdnZXN0ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNl LmNvbT4KU2lnbmVkLW9mZi1ieTogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0Bv cmFjbGUuY29tPgoKLS0tCkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXgu Y29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgoKdjY6IE5ldyBzdWJtaXNz aW9uLgp2NzogVXNlICdib29sJyBpbnN0ZWFkIG9mICdib29sX3QnCiAgLSBJZ25vcmUgc2hfc2l6 ZT09MCBzZWN0aW9ucyBhcyBhIHdheSB0byBtYWtlIHRoZSBleGNlcHRpb24gY2hlY2sgd29yay4K ICAtIEFsc28gYWRkIHRoZSBzaF9zaXplPT0wIGNoZWNrIGluIGxpdmVwYXRjaF9lbGZfcmVzb2x2 ZV9zeW1ib2xzLgogIC0gVXBkYXRlIGNvbW1lbnQgaW4gbG9hZCBtb3ZlX3BheWxvYWQgdG8gbWVu dGlvbgogICAgImxpdmVwYXRjaF9lbGZfcmVzb2x2ZV9zeW1ib2xzIgotLS0KIGRvY3MvbWlzYy9s aXZlcGF0Y2gubWFya2Rvd24gfCAgNyArKysrKysrCiB4ZW4vY29tbW9uL2xpdmVwYXRjaC5jICAg ICAgIHwgMzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiB4ZW4vY29tbW9u L2xpdmVwYXRjaF9lbGYuYyAgIHwgIDMgKystCiAzIGZpbGVzIGNoYW5nZWQsIDQyIGluc2VydGlv bnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jcy9taXNjL2xpdmVwYXRjaC5t YXJrZG93biBiL2RvY3MvbWlzYy9saXZlcGF0Y2gubWFya2Rvd24KaW5kZXggODljMTA1MC4uODFm NGZjOSAxMDA2NDQKLS0tIGEvZG9jcy9taXNjL2xpdmVwYXRjaC5tYXJrZG93bgorKysgYi9kb2Nz L21pc2MvbGl2ZXBhdGNoLm1hcmtkb3duCkBAIC0xMDYxLDYgKzEwNjEsMTMgQEAgZGVwZW5kaW5n IG9uIHRoZSBjdXJyZW50IHN0YXRlIG9mIGRhdGEuIEFzIHN1Y2ggaXQgc2hvdWxkIG5vdCBiZSBh dHRlbXB0ZWQuCiBUaGF0IHNhaWQgd2Ugc2hvdWxkIHByb3ZpZGUgaG9vayBmdW5jdGlvbnMgc28g dGhhdCB0aGUgZXhpc3RpbmcgZGF0YQogY2FuIGJlIGNoYW5nZWQgZHVyaW5nIHBheWxvYWQgYXBw bGljYXRpb24uCiAKK1RvIGd1YXJhbnRlZSBzYWZldHkgd2UgZGlzYWxsb3cgcmUtYXBwbHlpbmcg YW4gcGF5bG9hZCBhZnRlciBpdCBoYXMgYmVlbgorcmV2ZXJ0ZWQuIFRoaXMgaXMgYmVjYXVzZSB3 ZSBjYW5ub3QgZ3VhcmFudGVlIHRoYXQgdGhlIHN0YXRlIG9mIC5ic3MKK2FuZCAuZGF0YSB0byBi ZSBleGFjdGx5IGFzIGl0IHdhcyBkdXJpbmcgbG9hZGluZy4gSGVuY2UgdGhlIGFkbWluaXN0cmF0 b3IKK01VU1QgdW5sb2FkIHRoZSBwYXlsb2FkIGFuZCB1cGxvYWQgaXQgYWdhaW4gdG8gYXBwbHkg aXQuCisKK1RoZXJlIGlzIGFuIGV4Y2VwdGlvbiB0byB0aGlzOiBpZiB0aGUgcGF5bG9hZCBvbmx5 IGhhcyAubGl2ZXBhdGNoLmZ1bmNzOworYW5kIG5vIC5kYXRhIG9yIC5ic3Mgc2VjdGlvbnMuCiAK ICMjIyBJbmxpbmUgcGF0Y2hpbmcKIApkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9saXZlcGF0Y2gu YyBiL3hlbi9jb21tb24vbGl2ZXBhdGNoLmMKaW5kZXggMjNlNGQ1MS4uMWY1MjdhMyAxMDA2NDQK LS0tIGEveGVuL2NvbW1vbi9saXZlcGF0Y2guYworKysgYi94ZW4vY29tbW9uL2xpdmVwYXRjaC5j CkBAIC01Miw2ICs1Miw4IEBAIHN0cnVjdCBsaXZlcGF0Y2hfYnVpbGRfaWQgewogc3RydWN0IHBh eWxvYWQgewogICAgIHVpbnQzMl90IHN0YXRlOyAgICAgICAgICAgICAgICAgICAgICAvKiBPbmUg b2YgdGhlIExJVkVQQVRDSF9TVEFURV8qLiAqLwogICAgIGludDMyX3QgcmM7ICAgICAgICAgICAg ICAgICAgICAgICAgICAvKiAwIG9yIC1YRU5fRVhYLiAqLworICAgIGJvb2wgcmV2ZXJ0ZWQ7ICAg ICAgICAgICAgICAgICAgICAgICAvKiBXaGV0aGVyIGl0IHdhcyByZXZlcnRlZC4gKi8KKyAgICBi b29sIHNhZmVfdG9fcmVhcHBseTsgICAgICAgICAgICAgICAgLyogQ2FuIGFwcGx5IHNhZmVseSBh ZnRlciByZXZlcnQuICovCiAgICAgc3RydWN0IGxpc3RfaGVhZCBsaXN0OyAgICAgICAgICAgICAg IC8qIExpbmtlZCB0byAncGF5bG9hZF9saXN0Jy4gKi8KICAgICBjb25zdCB2b2lkICp0ZXh0X2Fk ZHI7ICAgICAgICAgICAgICAgLyogVmlydHVhbCBhZGRyZXNzIG9mIC50ZXh0LiAqLwogICAgIHNp emVfdCB0ZXh0X3NpemU7ICAgICAgICAgICAgICAgICAgICAvKiAuLiBhbmQgaXRzIHNpemUuICov CkBAIC0zMDgsNyArMzEwLDcgQEAgc3RhdGljIHZvaWQgY2FsY19zZWN0aW9uKGNvbnN0IHN0cnVj dCBsaXZlcGF0Y2hfZWxmX3NlYyAqc2VjLCBzaXplX3QgKnNpemUsCiBzdGF0aWMgaW50IG1vdmVf cGF5bG9hZChzdHJ1Y3QgcGF5bG9hZCAqcGF5bG9hZCwgc3RydWN0IGxpdmVwYXRjaF9lbGYgKmVs ZikKIHsKICAgICB2b2lkICp0ZXh0X2J1ZiwgKnJvX2J1ZiwgKnJ3X2J1ZjsKLSAgICB1bnNpZ25l ZCBpbnQgaTsKKyAgICB1bnNpZ25lZCBpbnQgaSwgcndfYnVmX3NlYywgcndfYnVmX2NudCA9IDA7 CiAgICAgc2l6ZV90IHNpemUgPSAwOwogICAgIHVuc2lnbmVkIGludCAqb2Zmc2V0OwogICAgIGlu dCByYyA9IDA7CkBAIC0zMjUsOCArMzI3LDEzIEBAIHN0YXRpYyBpbnQgbW92ZV9wYXlsb2FkKHN0 cnVjdCBwYXlsb2FkICpwYXlsb2FkLCBzdHJ1Y3QgbGl2ZXBhdGNoX2VsZiAqZWxmKQogICAgICAg ICAgKiBhbmQgLnNoc3RydGFiLiBGb3IgdGhlIG5vbi1yZWxvY2F0ZSB3ZSBhbGxvY2F0ZSBhbmQg Y29weSB0aGVzZQogICAgICAgICAgKiB2aWEgb3RoZXIgbWVhbnMgLSBhbmQgdGhlIC5yZWwgd2Ug Y2FuIGlnbm9yZSBhcyB3ZSBvbmx5IHVzZSBpdAogICAgICAgICAgKiBvbmNlIGR1cmluZyBsb2Fk aW5nLgorICAgICAgICAgKgorICAgICAgICAgKiBBbHNvIGlnbm9yZSBzZWN0aW9ucyB3aXRoIHpl cm8gc2l6ZS4gVGhvc2UgY2FuIGJlIC5kYXRhLCBvciAuYnNzLgorICAgICAgICAgKgorICAgICAg ICAgKiBUaGlzIGxvZ2ljIG11c3QgTUFUQ0ggd2hhdCBpcyBkb25lIGluIGxpdmVwYXRjaF9lbGZf cmVzb2x2ZV9zeW1ib2xzLgogICAgICAgICAgKi8KLSAgICAgICAgaWYgKCAhKGVsZi0+c2VjW2ld LnNlYy0+c2hfZmxhZ3MgJiBTSEZfQUxMT0MpICkKKyAgICAgICAgaWYgKCAhKGVsZi0+c2VjW2ld LnNlYy0+c2hfZmxhZ3MgJiBTSEZfQUxMT0MpIHx8CisgICAgICAgICAgICAgZWxmLT5zZWNbaV0u c2VjLT5zaF9zaXplID09IDAgKQogICAgICAgICAgICAgb2Zmc2V0W2ldID0gVUlOVF9NQVg7CiAg ICAgICAgIGVsc2UgaWYgKCAoZWxmLT5zZWNbaV0uc2VjLT5zaF9mbGFncyAmIFNIRl9FWEVDSU5T VFIpICYmCiAgICAgICAgICAgICAgICAgICAgIShlbGYtPnNlY1tpXS5zZWMtPnNoX2ZsYWdzICYg U0hGX1dSSVRFKSApCkBAIC0zNzQsMTQgKzM4MSwxOCBAQCBzdGF0aWMgaW50IG1vdmVfcGF5bG9h ZChzdHJ1Y3QgcGF5bG9hZCAqcGF5bG9hZCwgc3RydWN0IGxpdmVwYXRjaF9lbGYgKmVsZikKIAog ICAgIGZvciAoIGkgPSAxOyBpIDwgZWxmLT5oZHItPmVfc2hudW07IGkrKyApCiAgICAgewotICAg ICAgICBpZiAoIGVsZi0+c2VjW2ldLnNlYy0+c2hfZmxhZ3MgJiBTSEZfQUxMT0MgKQorICAgICAg ICBpZiAoIGVsZi0+c2VjW2ldLnNlYy0+c2hfZmxhZ3MgJiBTSEZfQUxMT0MgJiYgZWxmLT5zZWNb aV0uc2VjLT5zaF9zaXplICkKICAgICAgICAgewogICAgICAgICAgICAgdm9pZCAqYnVmOwogCiAg ICAgICAgICAgICBpZiAoIGVsZi0+c2VjW2ldLnNlYy0+c2hfZmxhZ3MgJiBTSEZfRVhFQ0lOU1RS ICkKICAgICAgICAgICAgICAgICBidWYgPSB0ZXh0X2J1ZjsKICAgICAgICAgICAgIGVsc2UgaWYg KCBlbGYtPnNlY1tpXS5zZWMtPnNoX2ZsYWdzICYgU0hGX1dSSVRFICkKKyAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICBidWYgPSByd19idWY7CisgICAgICAgICAgICAgICAgcndfYnVmX3Nl YyA9IGk7CisgICAgICAgICAgICAgICAgcndfYnVmX2NudCsrOworICAgICAgICAgICAgfQogICAg ICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGJ1ZiA9IHJvX2J1ZjsKIApAQCAtNDAyLDYg KzQxMywxMCBAQCBzdGF0aWMgaW50IG1vdmVfcGF5bG9hZChzdHJ1Y3QgcGF5bG9hZCAqcGF5bG9h ZCwgc3RydWN0IGxpdmVwYXRjaF9lbGYgKmVsZikKICAgICAgICAgfQogICAgIH0KIAorICAgIC8q IE9ubHkgb25lIFJXIHNlY3Rpb24gd2l0aCBub24temVybyBzaXplOiAubGl2ZXBhdGNoLmZ1bmNz ICovCisgICAgaWYgKCByd19idWZfY250ID09IDEgJiYKKyAgICAgICAgICFzdHJjbXAoZWxmLT5z ZWNbcndfYnVmX3NlY10ubmFtZSwgRUxGX0xJVkVQQVRDSF9GVU5DKSApCisgICAgICAgIHBheWxv YWQtPnNhZmVfdG9fcmVhcHBseSA9IHRydWU7CiAgb3V0OgogICAgIHhmcmVlKG9mZnNldCk7CiAK QEAgLTEwNTcsNiArMTA3Miw3IEBAIHN0YXRpYyBpbnQgcmV2ZXJ0X3BheWxvYWQoc3RydWN0IHBh eWxvYWQgKmRhdGEpCiAgICAgbGlzdF9kZWxfcmN1KCZkYXRhLT5hcHBsaWVkX2xpc3QpOwogICAg IHVucmVnaXN0ZXJfdmlydHVhbF9yZWdpb24oJmRhdGEtPnJlZ2lvbik7CiAKKyAgICBkYXRhLT5y ZXZlcnRlZCA9IHRydWU7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTE0MzgsNiArMTQ1NCwyMCBA QCBzdGF0aWMgaW50IGxpdmVwYXRjaF9hY3Rpb24oeGVuX3N5c2N0bF9saXZlcGF0Y2hfYWN0aW9u X3QgKmFjdGlvbikKICAgICBjYXNlIExJVkVQQVRDSF9BQ1RJT05fQVBQTFk6CiAgICAgICAgIGlm ICggZGF0YS0+c3RhdGUgPT0gTElWRVBBVENIX1NUQVRFX0NIRUNLRUQgKQogICAgICAgICB7Cisg ICAgICAgICAgICAvKgorICAgICAgICAgICAgICogSXQgaXMgdW5zYWZlIHRvIGFwcGx5IGFuIHJl dmVydGVkIHBheWxvYWQgYXMgdGhlIC5kYXRhIChvciAuYnNzKQorICAgICAgICAgICAgICogbWF5 IG5vdCBiZSBpbiBpbiBwcmlzdGluZSBjb25kaXRpb24uIEhlbmNlIE1VU1QgdW5sb2FkIGFuZCB0 aGVuCisgICAgICAgICAgICAgKiBhcHBseSBwYXRjaCBhZ2Fpbi4gVW5sZXNzIHRoZSBwYXlsb2Fk IGhhcyBubyAuYnNzIG9yIG9ubHkgb25lCisgICAgICAgICAgICAgKiBSVyBzZWN0aW9uICgubGl2 ZXBhdGNoLmZ1bmNzKS4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgaWYgKCBkYXRhLT5y ZXZlcnRlZCAmJiAhZGF0YS0+c2FmZV90b19yZWFwcGx5ICkKKyAgICAgICAgICAgIHsKKyAgICAg ICAgICAgICAgICBkcHJpbnRrKFhFTkxPR19FUlIsICIlcyVzOiBjYW4ndCByZXZlcnQgYXMgcGF5 bG9hZCBoYXMgLmRhdGEuIFBsZWFzZSB1bmxvYWQhXG4iLAorICAgICAgICAgICAgICAgICAgICAg ICAgTElWRVBBVENILCBkYXRhLT5uYW1lKTsKKyAgICAgICAgICAgICAgICBkYXRhLT5yYyA9IC1F SU5WQUw7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisKICAgICAgICAg ICAgIHJjID0gYnVpbGRfaWRfZGVwKGRhdGEsICEhbGlzdF9lbXB0eSgmYXBwbGllZF9saXN0KSk7 CiAgICAgICAgICAgICBpZiAoIHJjICkKICAgICAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdp dCBhL3hlbi9jb21tb24vbGl2ZXBhdGNoX2VsZi5jIGIveGVuL2NvbW1vbi9saXZlcGF0Y2hfZWxm LmMKaW5kZXggY2RhOWIyNy4uMzAzMTE1ZiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9saXZlcGF0 Y2hfZWxmLmMKKysrIGIveGVuL2NvbW1vbi9saXZlcGF0Y2hfZWxmLmMKQEAgLTMxMSw3ICszMTEs OCBAQCBpbnQgbGl2ZXBhdGNoX2VsZl9yZXNvbHZlX3N5bWJvbHMoc3RydWN0IGxpdmVwYXRjaF9l bGYgKmVsZikKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgLyogTWF0Y2hlcyAnbW92ZV9w YXlsb2FkJyB3aGljaCBpZ25vcmVzIHN1Y2ggc2VjdGlvbnMuICovCi0gICAgICAgICAgICBpZiAo ICEoZWxmLT5zZWNbaWR4XS5zZWMtPnNoX2ZsYWdzICYgU0hGX0FMTE9DKSApCisgICAgICAgICAg ICBpZiAoICEoZWxmLT5zZWNbaWR4XS5zZWMtPnNoX2ZsYWdzICYgU0hGX0FMTE9DKSB8fAorICAg ICAgICAgICAgICAgICBlbGYtPnNlY1tpZHhdLnNlYy0+c2hfc2l6ZSA9PSAwICkKICAgICAgICAg ICAgICAgICBicmVhazsKIAogICAgICAgICAgICAgc3RfdmFsdWUgKz0gKHVuc2lnbmVkIGxvbmcp ZWxmLT5zZWNbaWR4XS5sb2FkX2FkZHI7Ci0tIAoyLjQuMTEKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK