From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 1/2] xen: Introduce an xmemdup() helper Date: Mon, 9 Jul 2018 11:29:47 +0100 Message-ID: <1531132188-20564-2-git-send-email-andrew.cooper3@citrix.com> References: <1531132188-20564-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: <1531132188-20564-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Sergey Dyasli , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org Li4uIGFuZCB1c2UgaXQgaW4gcGxhY2Ugb2YgdGhlIG9wZW5jb2RlZCBpbnN0YW5jZXMuCgpGb3Ig Y29uc2lzdGVuY3ksIHJlc3RydWN0dXJlIGluaXRfZG9tYWluX2NwdWlkX3BvbGljeSgpIHRvIGJl IGxpa2UKaW5pdF97ZG9tYWluLHZjcHV9X21zcl9wb2xpY3koKSBieSBvcGVyYXRpbmcgb24gdGhl IGxvY2FsIHBvaW50ZXIgd2hlcmUKcG9zc2libGUuCgpObyBjaGFuZ2UgaW4gYmVoYXZpb3VyLgoK U2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K LS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+CkNDOiBXZWkgTGl1IDx3ZWku bGl1MkBjaXRyaXguY29tPgpDQzogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5j b20+CkNDOiBTZXJnZXkgRHlhc2xpIDxzZXJnZXkuZHlhc2xpQGNpdHJpeC5jb20+Ci0tLQogeGVu L2FyY2gveDg2L2NwdWlkLmMgICAgICB8IDEzICsrKysrKystLS0tLS0KIHhlbi9hcmNoL3g4Ni9t c3IuYyAgICAgICAgfCAxOCArKysrKystLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL3hlbi94bWFs bG9jLmggfCAxMCArKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyks IDE4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHVpZC5jIGIveGVu L2FyY2gveDg2L2NwdWlkLmMKaW5kZXggYzMzYzZkNC4uZTEzYzY1NyAxMDA2NDQKLS0tIGEveGVu L2FyY2gveDg2L2NwdWlkLmMKKysrIGIveGVuL2FyY2gveDg2L2NwdWlkLmMKQEAgLTcwMywxNiAr NzAzLDE3IEBAIHZvaWQgcmVjYWxjdWxhdGVfY3B1aWRfcG9saWN5KHN0cnVjdCBkb21haW4gKmQp CiAKIGludCBpbml0X2RvbWFpbl9jcHVpZF9wb2xpY3koc3RydWN0IGRvbWFpbiAqZCkKIHsKLSAg ICBkLT5hcmNoLmNwdWlkID0geG1hbGxvYyhzdHJ1Y3QgY3B1aWRfcG9saWN5KTsKKyAgICBzdHJ1 Y3QgY3B1aWRfcG9saWN5ICpwID0KKyAgICAgICAgeG1lbWR1cChpc19wdl9kb21haW4oZCkgPyAm IHB2X21heF9jcHVpZF9wb2xpY3kKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAm aHZtX21heF9jcHVpZF9wb2xpY3kpOwogCi0gICAgaWYgKCAhZC0+YXJjaC5jcHVpZCApCisgICAg aWYgKCAhcCApCiAgICAgICAgIHJldHVybiAtRU5PTUVNOwogCi0gICAgKmQtPmFyY2guY3B1aWQg PSBpc19wdl9kb21haW4oZCkKLSAgICAgICAgPyBwdl9tYXhfY3B1aWRfcG9saWN5IDogaHZtX21h eF9jcHVpZF9wb2xpY3k7Ci0KICAgICBpZiAoIGQtPmRpc2FibGVfbWlncmF0ZSApCi0gICAgICAg IGQtPmFyY2guY3B1aWQtPmV4dGQuaXRzYyA9IGNwdV9oYXNfaXRzYzsKKyAgICAgICAgcC0+ZXh0 ZC5pdHNjID0gY3B1X2hhc19pdHNjOworCisgICAgZC0+YXJjaC5jcHVpZCA9IHA7CiAKICAgICBy ZWNhbGN1bGF0ZV9jcHVpZF9wb2xpY3koZCk7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9t c3IuYyBiL3hlbi9hcmNoL3g4Ni9tc3IuYwppbmRleCBkMDM1YzY3Li4yN2M0OTE1IDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvbXNyLmMKKysrIGIveGVuL2FyY2gveDg2L21zci5jCkBAIC04MSwx NiArODEsMTMgQEAgdm9pZCBfX2luaXQgaW5pdF9ndWVzdF9tc3JfcG9saWN5KHZvaWQpCiAKIGlu dCBpbml0X2RvbWFpbl9tc3JfcG9saWN5KHN0cnVjdCBkb21haW4gKmQpCiB7Ci0gICAgc3RydWN0 IG1zcl9kb21haW5fcG9saWN5ICpkcDsKLQotICAgIGRwID0geG1hbGxvYyhzdHJ1Y3QgbXNyX2Rv bWFpbl9wb2xpY3kpOworICAgIHN0cnVjdCBtc3JfZG9tYWluX3BvbGljeSAqZHAgPQorICAgICAg ICB4bWVtZHVwKGlzX3B2X2RvbWFpbihkKSA/ICYgcHZfbWF4X21zcl9kb21haW5fcG9saWN5Cisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJmh2bV9tYXhfbXNyX2RvbWFpbl9wb2xp Y3kpOwogCiAgICAgaWYgKCAhZHAgKQogICAgICAgICByZXR1cm4gLUVOT01FTTsKIAotICAgICpk cCA9IGlzX3B2X2RvbWFpbihkKSA/IHB2X21heF9tc3JfZG9tYWluX3BvbGljeSA6Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgaHZtX21heF9tc3JfZG9tYWluX3BvbGljeTsKLQogICAgIC8q IFNlZSBjb21tZW50IGluIGludGVsX2N0eHRfc3dpdGNoX2xldmVsbGluZygpICovCiAgICAgaWYg KCBpc19jb250cm9sX2RvbWFpbihkKSApCiAgICAgICAgIGRwLT5wbGFmb3JtX2luZm8uY3B1aWRf ZmF1bHRpbmcgPSBmYWxzZTsKQEAgLTEwMywxNiArMTAwLDEzIEBAIGludCBpbml0X2RvbWFpbl9t c3JfcG9saWN5KHN0cnVjdCBkb21haW4gKmQpCiBpbnQgaW5pdF92Y3B1X21zcl9wb2xpY3koc3Ry dWN0IHZjcHUgKnYpCiB7CiAgICAgc3RydWN0IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsKLSAgICBz dHJ1Y3QgbXNyX3ZjcHVfcG9saWN5ICp2cDsKLQotICAgIHZwID0geG1hbGxvYyhzdHJ1Y3QgbXNy X3ZjcHVfcG9saWN5KTsKKyAgICBzdHJ1Y3QgbXNyX3ZjcHVfcG9saWN5ICp2cCA9CisgICAgICAg IHhtZW1kdXAoaXNfcHZfZG9tYWluKGQpID8gJiBwdl9tYXhfbXNyX3ZjcHVfcG9saWN5CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJmh2bV9tYXhfbXNyX3ZjcHVfcG9saWN5KTsK IAogICAgIGlmICggIXZwICkKICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAKLSAgICAqdnAgPSBp c19wdl9kb21haW4oZCkgPyBwdl9tYXhfbXNyX3ZjcHVfcG9saWN5IDoKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICBodm1fbWF4X21zcl92Y3B1X3BvbGljeTsKLQogICAgIHYtPmFyY2gubXNy ID0gdnA7CiAKICAgICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi94bWFs bG9jLmggYi94ZW4vaW5jbHVkZS94ZW4veG1hbGxvYy5oCmluZGV4IGNjMjY3M2QuLjM0YzY1ODgg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi94bWFsbG9jLmgKKysrIGIveGVuL2luY2x1ZGUv eGVuL3htYWxsb2MuaApAQCAtMTMsNiArMTMsMTYgQEAKICNkZWZpbmUgeG1hbGxvYyhfdHlwZSkg KChfdHlwZSAqKV94bWFsbG9jKHNpemVvZihfdHlwZSksIF9fYWxpZ25vZl9fKF90eXBlKSkpCiAj ZGVmaW5lIHh6YWxsb2MoX3R5cGUpICgoX3R5cGUgKilfeHphbGxvYyhzaXplb2YoX3R5cGUpLCBf X2FsaWdub2ZfXyhfdHlwZSkpKQogCisvKiBBbGxvY2F0ZSBzcGFjZSBmb3IgYSB0eXBlZCBvYmpl Y3QgYW5kIGNvcHkgYW4gZXhpc3RpbmcgaW5zdGFuY2UuICovCisjZGVmaW5lIHhtZW1kdXAocHRy KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKHsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB0 eXBlb2YoKihwdHIpKSAqcF8gPSAocHRyKSwgKm5fID0geG1hbGxvYyh0eXBlb2YoKnBfKSk7ICBc CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgIGlmICggbl8gKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKKyAgICAgICAgbWVtY3B5KG5fLCBwXywgc2l6ZW9mKCpuXykpOyAgICAg ICAgICAgICAgICAgICAgICAgICBcCisgICAgbl87ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorfSkKKwogLyogQWxsb2NhdGUgc3BhY2UgZm9y IGFycmF5IG9mIHR5cGVkIG9iamVjdHMuICovCiAjZGVmaW5lIHhtYWxsb2NfYXJyYXkoX3R5cGUs IF9udW0pIFwKICAgICAoKF90eXBlICopX3htYWxsb2NfYXJyYXkoc2l6ZW9mKF90eXBlKSwgX19h bGlnbm9mX18oX3R5cGUpLCBfbnVtKSkKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls bWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==