From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v4 09/18] xen/pvcalls: implement bind command Date: Thu, 15 Jun 2017 12:09:38 -0700 Message-ID: <1497553787-3709-9-git-send-email-sstabellini@kernel.org> References: <1497553787-3709-1-git-send-email-sstabellini@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1497553787-3709-1-git-send-email-sstabellini@kernel.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: jgross@suse.com, Stefano Stabellini , boris.ostrovsky@oracle.com, sstabellini@kernel.org, linux-kernel@vger.kernel.org List-Id: xen-devel@lists.xenproject.org QWxsb2NhdGUgYSBzb2NrZXQuIFRyYWNrIHRoZSBhbGxvY2F0ZWQgcGFzc2l2ZSBzb2NrZXRzIHdp dGggYSBuZXcgZGF0YQpzdHJ1Y3R1cmUgbmFtZWQgc29ja3Bhc3NfbWFwcGluZy4gSXQgY29udGFp bnMgYW4gdW5ib3VuZCB3b3JrcXVldWUgdG8Kc2NoZWR1bGUgZGVsYXllZCB3b3JrIGZvciB0aGUg YWNjZXB0IGFuZCBwb2xsIGNvbW1hbmRzLiBJdCBhbHNvIGhhcyBhCnJlcWNvcHkgZmllbGQgdG8g YmUgdXNlZCB0byBzdG9yZSBhIGNvcHkgb2YgYSByZXF1ZXN0IGZvciBkZWxheWVkIHdvcmsuClJl YWRzL3dyaXRlcyB0byBpdCBhcmUgcHJvdGVjdGVkIGJ5IGEgbG9jayAodGhlICJjb3B5X2xvY2si IHNwaW5sb2NrKS4KSW5pdGlhbGl6ZSB0aGUgd29ya3F1ZXVlIGluIHB2Y2FsbHNfYmFja19iaW5k LgoKSW1wbGVtZW50IHRoZSBiaW5kIGNvbW1hbmQgd2l0aCBpbmV0X2JpbmQuCgpUaGUgcGFzc19z a19kYXRhX3JlYWR5IGV2ZW50IGhhbmRsZXIgd2lsbCBiZSBhZGRlZCBsYXRlci4KClNpZ25lZC1v ZmYtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3RlZmFub0BhcG9yZXRvLmNvbT4KQ0M6IGJvcmlz Lm9zdHJvdnNreUBvcmFjbGUuY29tCkNDOiBqZ3Jvc3NAc3VzZS5jb20KLS0tCiBkcml2ZXJzL3hl bi9wdmNhbGxzLWJhY2suYyB8IDg3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA4NyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy94ZW4vcHZjYWxscy1iYWNrLmMgYi9kcml2ZXJzL3hlbi9wdmNhbGxzLWJhY2su YwppbmRleCA0ZWVjZDgzLi5jMTdkOTcwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9wdmNhbGxz LWJhY2suYworKysgYi9kcml2ZXJzL3hlbi9wdmNhbGxzLWJhY2suYwpAQCAtODAsNiArODAsMTgg QEAgc3RydWN0IHNvY2tfbWFwcGluZyB7CiAJc3RydWN0IHB2Y2FsbHNfaW93b3JrZXIgaW93b3Jr ZXI7CiB9OwogCitzdHJ1Y3Qgc29ja3Bhc3NfbWFwcGluZyB7CisJc3RydWN0IGxpc3RfaGVhZCBs aXN0OworCXN0cnVjdCBwdmNhbGxzX2ZlZGF0YSAqZmVkYXRhOworCXN0cnVjdCBzb2NrZXQgKnNv Y2s7CisJdWludDY0X3QgaWQ7CisJc3RydWN0IHhlbl9wdmNhbGxzX3JlcXVlc3QgcmVxY29weTsK KwlzcGlubG9ja190IGNvcHlfbG9jazsKKwlzdHJ1Y3Qgd29ya3F1ZXVlX3N0cnVjdCAqd3E7CisJ c3RydWN0IHdvcmtfc3RydWN0IHJlZ2lzdGVyX3dvcms7CisJdm9pZCAoKnNhdmVkX2RhdGFfcmVh ZHkpKHN0cnVjdCBzb2NrICpzayk7Cit9OworCiBzdGF0aWMgaXJxcmV0dXJuX3QgcHZjYWxsc19i YWNrX2Nvbm5fZXZlbnQoaW50IGlycSwgdm9pZCAqc29ja19tYXApOwogc3RhdGljIGludCBwdmNh bGxzX2JhY2tfcmVsZWFzZV9hY3RpdmUoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiwKIAkJCQkg ICAgICAgc3RydWN0IHB2Y2FsbHNfZmVkYXRhICpmZWRhdGEsCkBAIC0yNjIsOSArMjc0LDg0IEBA IHN0YXRpYyBpbnQgcHZjYWxsc19iYWNrX3JlbGVhc2Uoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRl diwKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgX19wdmNhbGxzX2JhY2tfYWNjZXB0KHN0 cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKK30KKworc3RhdGljIHZvaWQgcHZjYWxsc19wYXNz X3NrX2RhdGFfcmVhZHkoc3RydWN0IHNvY2sgKnNvY2spCit7Cit9CisKIHN0YXRpYyBpbnQgcHZj YWxsc19iYWNrX2JpbmQoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiwKIAkJCSAgICAgc3RydWN0 IHhlbl9wdmNhbGxzX3JlcXVlc3QgKnJlcSkKIHsKKwlzdHJ1Y3QgcHZjYWxsc19mZWRhdGEgKmZl ZGF0YTsKKwlpbnQgcmV0LCBlcnI7CisJc3RydWN0IHNvY2tldCAqc29jazsKKwlzdHJ1Y3Qgc29j a3Bhc3NfbWFwcGluZyAqbWFwOworCXN0cnVjdCB4ZW5fcHZjYWxsc19yZXNwb25zZSAqcnNwOwor CisJZmVkYXRhID0gZGV2X2dldF9kcnZkYXRhKCZkZXYtPmRldik7CisKKwltYXAgPSBremFsbG9j KHNpemVvZigqbWFwKSwgR0ZQX0tFUk5FTCk7CisJaWYgKG1hcCA9PSBOVUxMKSB7CisJCXJldCA9 IC1FTk9NRU07CisJCWdvdG8gb3V0OworCX0KKworCUlOSVRfV09SSygmbWFwLT5yZWdpc3Rlcl93 b3JrLCBfX3B2Y2FsbHNfYmFja19hY2NlcHQpOworCXNwaW5fbG9ja19pbml0KCZtYXAtPmNvcHlf bG9jayk7CisJbWFwLT53cSA9IGFsbG9jX3dvcmtxdWV1ZSgicHZjYWxsc193cSIsIFdRX1VOQk9V TkQsIDEpOworCWlmICghbWFwLT53cSkgeworCQlyZXQgPSAtRU5PTUVNOworCQlrZnJlZShtYXAp OworCQlnb3RvIG91dDsKKwl9CisKKwlyZXQgPSBzb2NrX2NyZWF0ZShBRl9JTkVULCBTT0NLX1NU UkVBTSwgMCwgJnNvY2spOworCWlmIChyZXQgPCAwKSB7CisJCWRlc3Ryb3lfd29ya3F1ZXVlKG1h cC0+d3EpOworCQlrZnJlZShtYXApOworCQlnb3RvIG91dDsKKwl9CisKKwlyZXQgPSBpbmV0X2Jp bmQoc29jaywgKHN0cnVjdCBzb2NrYWRkciAqKSZyZXEtPnUuYmluZC5hZGRyLAorCQkJcmVxLT51 LmJpbmQubGVuKTsKKwlpZiAocmV0IDwgMCkgeworCQlzb2NrX3JlbGVhc2Uoc29jayk7CisJCWRl c3Ryb3lfd29ya3F1ZXVlKG1hcC0+d3EpOworCQlrZnJlZShtYXApOworCQlnb3RvIG91dDsKKwl9 CisKKwltYXAtPmZlZGF0YSA9IGZlZGF0YTsKKwltYXAtPnNvY2sgPSBzb2NrOworCW1hcC0+aWQg PSByZXEtPnUuYmluZC5pZDsKKworCWRvd24oJmZlZGF0YS0+c29ja2V0X2xvY2spOworCWVyciA9 IHJhZGl4X3RyZWVfaW5zZXJ0KCZmZWRhdGEtPnNvY2tldHBhc3NfbWFwcGluZ3MsIG1hcC0+aWQs CisJCQkJbWFwKTsKKwl1cCgmZmVkYXRhLT5zb2NrZXRfbG9jayk7CisJaWYgKGVycikgeworCQly ZXQgPSBlcnI7CisJCXNvY2tfcmVsZWFzZShzb2NrKTsKKwkJZGVzdHJveV93b3JrcXVldWUobWFw LT53cSk7CisJCWtmcmVlKG1hcCk7CisJCWdvdG8gb3V0OworCX0KKworCXdyaXRlX2xvY2tfYmgo JnNvY2stPnNrLT5za19jYWxsYmFja19sb2NrKTsKKwltYXAtPnNhdmVkX2RhdGFfcmVhZHkgPSBz b2NrLT5zay0+c2tfZGF0YV9yZWFkeTsKKwlzb2NrLT5zay0+c2tfdXNlcl9kYXRhID0gbWFwOwor CXNvY2stPnNrLT5za19kYXRhX3JlYWR5ID0gcHZjYWxsc19wYXNzX3NrX2RhdGFfcmVhZHk7CisJ d3JpdGVfdW5sb2NrX2JoKCZzb2NrLT5zay0+c2tfY2FsbGJhY2tfbG9jayk7CisKK291dDoKKwly c3AgPSBSSU5HX0dFVF9SRVNQT05TRSgmZmVkYXRhLT5yaW5nLCBmZWRhdGEtPnJpbmcucnNwX3By b2RfcHZ0KyspOworCXJzcC0+cmVxX2lkID0gcmVxLT5yZXFfaWQ7CisJcnNwLT5jbWQgPSByZXEt PmNtZDsKKwlyc3AtPnUuYmluZC5pZCA9IHJlcS0+dS5iaW5kLmlkOworCXJzcC0+cmV0ID0gcmV0 OwogCXJldHVybiAwOwogfQogCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=