From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [PATCH 7/8] os-posix: Provide new -runasid option Date: Fri, 6 Oct 2017 19:27:23 +0100 Message-ID: <1507314444-30835-8-git-send-email-ian.jackson@eu.citrix.com> References: <1507314444-30835-1-git-send-email-ian.jackson@eu.citrix.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 1e0XLj-0000wC-Ow for xen-devel@lists.xenproject.org; Fri, 06 Oct 2017 18:27:51 +0000 In-Reply-To: <1507314444-30835-1-git-send-email-ian.jackson@eu.citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: qemu-devel@nongnu.org Cc: Juergen Gross , Stefano Stabellini , Ian Jackson , Ross Lagerwall , Anthony PERARD , xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org VGhpcyBhbGxvd3MgdGhlIGNhbGxlciB0byBzcGVjaWZ5IGEgdWlkIGFuZCBnaWQgdG8gdXNlLCBl dmVuIGlmIHRoZXJlCmlzIG5vIGNvcnJlc3BvbmRpbmcgcGFzc3dvcmQgZW50cnkuICBUaGlzIHdp bGwgYmUgdXNlZnVsIGluIGNlcnRhaW4KWGVuIGNvbmZpZ3VyYXRpb25zLgoKU2lnbmVkLW9mZi1i eTogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+Ci0tLQp2MzogRXJyb3Ig bWVzc2FnZXMgZml4ZWQuICBUaGFua3MgdG8gUGV0ZXIgTWF5ZGVsbCBhbmQgUm9zcyBMYWdlcndh bGwuCnYyOiBDb2Rpbmcgc3R5bGUgZml4ZXMuCi0tLQogb3MtcG9zaXguYyAgICAgIHwgNDkgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogcWVtdS1vcHRp b25zLmh4IHwgMTIgKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDUyIGluc2VydGlvbnMo KyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvb3MtcG9zaXguYyBiL29zLXBvc2l4LmMK aW5kZXggOTJlOWQ4NS4uNmNjNTg2OCAxMDA2NDQKLS0tIGEvb3MtcG9zaXguYworKysgYi9vcy1w b3NpeC5jCkBAIC00Myw2ICs0Myw4IEBACiAjZW5kaWYKIAogc3RhdGljIHN0cnVjdCBwYXNzd2Qg KnVzZXJfcHdkOworc3RhdGljIHVpZF90IHVzZXJfdWlkID0gKHVpZF90KS0xOworc3RhdGljIGdp ZF90IHVzZXJfZ2lkID0gKGdpZF90KS0xOwogc3RhdGljIGNvbnN0IGNoYXIgKmNocm9vdF9kaXI7 CiBzdGF0aWMgaW50IGRhZW1vbml6ZTsKIHN0YXRpYyBpbnQgZGFlbW9uX3BpcGU7CkBAIC0xMzQs NiArMTM2LDkgQEAgdm9pZCBvc19zZXRfcHJvY19uYW1lKGNvbnN0IGNoYXIgKnMpCiAgKi8KIHZv aWQgb3NfcGFyc2VfY21kX2FyZ3MoaW50IGluZGV4LCBjb25zdCBjaGFyICpvcHRhcmcpCiB7Cisg ICAgdW5zaWduZWQgbG9uZyBsdjsKKyAgICBjaGFyICplcDsKKyAgICBpbnQgcmM7CiAgICAgc3dp dGNoIChpbmRleCkgewogI2lmZGVmIENPTkZJR19TTElSUAogICAgIGNhc2UgUUVNVV9PUFRJT05f c21iOgpAQCAtMTUwLDYgKzE1NSwyMiBAQCB2b2lkIG9zX3BhcnNlX2NtZF9hcmdzKGludCBpbmRl eCwgY29uc3QgY2hhciAqb3B0YXJnKQogICAgICAgICAgICAgZXhpdCgxKTsKICAgICAgICAgfQog ICAgICAgICBicmVhazsKKyAgICBjYXNlIFFFTVVfT1BUSU9OX3J1bmFzaWQ6CisgICAgICAgIGVy cm5vID0gMDsKKyAgICAgICAgbHYgPSBzdHJ0b3VsKG9wdGFyZywgJmVwLCAwKTsgLyogY2FuJ3Qg cWVtdV9zdHJ0b3VsLCB3YW50ICplcD09Jy4nICovCisgICAgICAgIHVzZXJfdWlkID0gbHY7IC8q IG92ZXJmbG93IGhlcmUgaXMgSUQgaW4gQzk5ICovCisgICAgICAgIGlmIChlcnJubyB8fCAqZXAg IT0gJy4nIHx8IHVzZXJfdWlkICE9IGx2IHx8IHVzZXJfdWlkID09ICh1aWRfdCktMSkgeworICAg ICAgICAgICAgZnByaW50ZihzdGRlcnIsICJDb3VsZCBub3Qgb2J0YWluIHVpZCBmcm9tIFwiJXNc IiIsIG9wdGFyZyk7CisgICAgICAgICAgICBleGl0KDEpOworICAgICAgICB9CisgICAgICAgIGx2 ID0gMDsKKyAgICAgICAgcmMgPSBxZW11X3N0cnRvdWwoZXAgKyAxLCAwLCAwLCAmbHYpOworICAg ICAgICB1c2VyX2dpZCA9IGx2OyAvKiBvdmVyZmxvdyBoZXJlIGlzIElEIGluIEM5OSAqLworICAg ICAgICBpZiAocmMgfHwgdXNlcl9naWQgIT0gbHYgfHwgdXNlcl9naWQgPT0gKGdpZF90KS0xKSB7 CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkNvdWxkIG5vdCBvYnRhaW4gZ2lkIGZyb20g XCIlc1wiIiwgb3B0YXJnKTsKKyAgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgIH0KKyAgICAg ICAgYnJlYWs7CiAgICAgY2FzZSBRRU1VX09QVElPTl9jaHJvb3Q6CiAgICAgICAgIGNocm9vdF9k aXIgPSBvcHRhcmc7CiAgICAgICAgIGJyZWFrOwpAQCAtMTY2LDE4ICsxODcsMjggQEAgdm9pZCBv c19wYXJzZV9jbWRfYXJncyhpbnQgaW5kZXgsIGNvbnN0IGNoYXIgKm9wdGFyZykKIAogc3RhdGlj IHZvaWQgY2hhbmdlX3Byb2Nlc3NfdWlkKHZvaWQpCiB7Ci0gICAgaWYgKHVzZXJfcHdkKSB7Ci0g ICAgICAgIGlmIChzZXRnaWQodXNlcl9wd2QtPnB3X2dpZCkgPCAwKSB7Ci0gICAgICAgICAgICBm cHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBzZXRnaWQoJWQpXG4iLCB1c2VyX3B3ZC0+cHdfZ2lk KTsKKyAgICBpZiAodXNlcl9wd2QgfHwgdXNlcl91aWQgIT0gKHVpZF90KS0xKSB7CisgICAgICAg IGdpZF90IGludGVuZGVkX2dpZCA9IHVzZXJfcHdkID8gdXNlcl9wd2QtPnB3X2dpZCA6IHVzZXJf Z2lkOworICAgICAgICB1aWRfdCBpbnRlbmRlZF91aWQgPSB1c2VyX3B3ZCA/IHVzZXJfcHdkLT5w d191aWQgOiB1c2VyX3VpZDsKKyAgICAgICAgaWYgKHNldGdpZChpbnRlbmRlZF9naWQpIDwgMCkg eworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gc2V0Z2lkKCVkKVxuIiwg aW50ZW5kZWRfZ2lkKTsKICAgICAgICAgICAgIGV4aXQoMSk7CiAgICAgICAgIH0KLSAgICAgICAg aWYgKGluaXRncm91cHModXNlcl9wd2QtPnB3X25hbWUsIHVzZXJfcHdkLT5wd19naWQpIDwgMCkg ewotICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gaW5pdGdyb3VwcyhcIiVz XCIsICVkKVxuIiwKLSAgICAgICAgICAgICAgICAgICAgdXNlcl9wd2QtPnB3X25hbWUsIHVzZXJf cHdkLT5wd19naWQpOwotICAgICAgICAgICAgZXhpdCgxKTsKKyAgICAgICAgaWYgKHVzZXJfcHdk KSB7CisgICAgICAgICAgICBpZiAoaW5pdGdyb3Vwcyh1c2VyX3B3ZC0+cHdfbmFtZSwgdXNlcl9w d2QtPnB3X2dpZCkgPCAwKSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWls ZWQgdG8gaW5pdGdyb3VwcyhcIiVzXCIsICVkKVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAg IHVzZXJfcHdkLT5wd19uYW1lLCB1c2VyX3B3ZC0+cHdfZ2lkKTsKKyAgICAgICAgICAgICAgICBl eGl0KDEpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgaWYg KHNldGdyb3VwcygxLCAmdXNlcl9naWQpIDwgMCkgeworICAgICAgICAgICAgICAgIGZwcmludGYo c3RkZXJyLCAiRmFpbGVkIHRvIHNldGdyb3VwcygxLCBbJWRdKSIsCisgICAgICAgICAgICAgICAg ICAgICAgICB1c2VyX2dpZCk7CisgICAgICAgICAgICAgICAgZXhpdCgxKTsKKyAgICAgICAgICAg IH0KICAgICAgICAgfQotICAgICAgICBpZiAoc2V0dWlkKHVzZXJfcHdkLT5wd191aWQpIDwgMCkg ewotICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gc2V0dWlkKCVkKVxuIiwg dXNlcl9wd2QtPnB3X3VpZCk7CisgICAgICAgIGlmIChzZXR1aWQoaW50ZW5kZWRfdWlkKSA8IDAp IHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHNldHVpZCglZClcbiIs IGludGVuZGVkX3VpZCk7CiAgICAgICAgICAgICBleGl0KDEpOwogICAgICAgICB9CiAgICAgICAg IGlmIChzZXR1aWQoMCkgIT0gLTEpIHsKZGlmZiAtLWdpdCBhL3FlbXUtb3B0aW9ucy5oeCBiL3Fl bXUtb3B0aW9ucy5oeAppbmRleCA5ZjZlMmFkLi4zNGE1MzI5IDEwMDY0NAotLS0gYS9xZW11LW9w dGlvbnMuaHgKKysrIGIvcWVtdS1vcHRpb25zLmh4CkBAIC0zOTY4LDYgKzM5NjgsMTggQEAgSW1t ZWRpYXRlbHkgYmVmb3JlIHN0YXJ0aW5nIGd1ZXN0IGV4ZWN1dGlvbiwgZHJvcCByb290IHByaXZp bGVnZXMsIHN3aXRjaGluZwogdG8gdGhlIHNwZWNpZmllZCB1c2VyLgogRVRFWEkKIAorI2lmbmRl ZiBfV0lOMzIKK0RFRigicnVuYXNpZCIsIEhBU19BUkcsIFFFTVVfT1BUSU9OX3J1bmFzaWQsIFwK KyAgICAiLXJ1bmFzaWQgdWlkLmdpZCAgICAgY2hhbmdlIHRvIG51bWVyaWMgdWlkIGFuZCBnaWQg anVzdCBiZWZvcmUgc3RhcnRpbmcgdGhlIFZNXG4iLAorICAgIFFFTVVfQVJDSF9BTEwpCisjZW5k aWYKK1NURVhJCitAaXRlbSAtcnVuYXNpZCBAdmFye3VpZH0uQHZhcntnaWR9CitAZmluZGV4IC1y dW5hc2lkCitJbW1lZGlhdGVseSBiZWZvcmUgc3RhcnRpbmcgZ3Vlc3QgZXhlY3V0aW9uLCBkcm9w IHJvb3QgcHJpdmlsZWdlcywgc3dpdGNoaW5nCit0byB0aGUgc3BlY2lmaWVkIHVpZCBhbmQgZ2lk LgorRVRFWEkKKwogREVGKCJwcm9tLWVudiIsIEhBU19BUkcsIFFFTVVfT1BUSU9OX3Byb21fZW52 LAogICAgICItcHJvbS1lbnYgdmFyaWFibGU9dmFsdWVcbiIKICAgICAiICAgICAgICAgICAgICAg IHNldCBPcGVuQklPUyBudnJhbSB2YXJpYWJsZXNcbiIsCi0tIAoyLjEuNAoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=