From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [PATCH 08/12] os-posix: Provide new -runas : facility Date: Thu, 8 Mar 2018 19:03:03 +0000 Message-ID: <1520535787-6223-9-git-send-email-ian.jackson@eu.citrix.com> References: <1520535787-6223-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 us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eu0pR-0005pU-PI for xen-devel@lists.xenproject.org; Thu, 08 Mar 2018 19:03:49 +0000 In-Reply-To: <1520535787-6223-1-git-send-email-ian.jackson@eu.citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: qemu-devel@nongnu.org Cc: Juergen Gross , Stefano Stabellini , "Daniel P. Berrange" , Ian Jackson , Markus Armbruster , Ross Lagerwall , Paolo Bonzini , Anthony PERARD , xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org VGhpcyBhbGxvd3MgdGhlIGNhbGxlciB0byBzcGVjaWZ5IGEgdWlkIGFuZCBnaWQgdG8gdXNlLCBl dmVuIGlmIHRoZXJlCmlzIG5vIGNvcnJlc3BvbmRpbmcgcGFzc3dvcmQgZW50cnkuICBUaGlzIHdp bGwgYmUgdXNlZnVsIGluIGNlcnRhaW4KWGVuIGNvbmZpZ3VyYXRpb25zLgoKV2UgZG9uJ3Qgc3Vw cG9ydCBqdXN0IC1ydW5hcyA8dWlkPiBiZWNhdXNlOiAoaSkgZGVwcml2aWxlZ2luZyB3aXRob3V0 CmNhbGxpbmcgc2V0Z3JvdXBzIHdvdWxkIGJlIGluZWZmZWN0aXZlIChpaSkgZ2l2ZW4gb25seSBh IHVpZCB3ZSBkb24ndAprbm93IHdoYXQgZ2lkIHdlIG91Z2h0IHRvIHVzZSAoc2luY2UgdWlkcyBt YXkgZXBwZWFyIGluIG11bHRpcGxlCnBhc3N3ZCBmaWxlIGVudHJpZXMgd2l0aCBkaWZmZXJlbnQg Z2lkcykuCgpTaWduZWQtb2ZmLWJ5OiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4 LmNvbT4KUmV2aWV3ZWQtYnk6IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXgu Y29tPgpDQzogUGFvbG8gQm9uemluaSA8cGJvbnppbmlAcmVkaGF0LmNvbT4KQ0M6IE1hcmt1cyBB cm1icnVzdGVyIDxhcm1icnVAcmVkaGF0LmNvbT4KQ0M6IERhbmllbCBQLiBCZXJyYW5nZSA8YmVy cmFuZ2VAcmVkaGF0LmNvbT4KLS0tCnY2LjE6IEZpeCBjb25zdG5lc3Mgb2YgcWVtdV9zdHJ0b3Vs IGVuZCBwb2ludGVyIHBhcmFtZXRlci4KdjY6IFVzZSBxZW11X3N0cnRvdWwgZm9yIHRoZSBmaXJz dCBzdHJ0b3VsLgogICAgVXNlIGVycm9yX3JlcG9ydCByYXRoZXIgdGhhbiBmcHJpbnRmIHRvIHBy aW50IHVzYWdlIGVycm9yIG1lc3NhZ2UuCiAgICBGaXggYW4gZXJyb3IgbWVzc2FnZSB3aGljaCBz dGlsbCByZWZlcnJlZCB0byAuIHJhdGhlciB0aGFuIDoKdjU6IFVzZSA6IHJhdGhlciB0aGFuIC4g dG8gc2VwYXJhdGUgdWlkIGZyb20gZ2lkCnY0OiBDaGFuZ2VkIHRvIHJldXNlIG9wdGlvbiAtcnVu YXMKdjM6IEVycm9yIG1lc3NhZ2VzIGZpeGVkLiAgVGhhbmtzIHRvIFBldGVyIE1heWRlbGwgYW5k IFJvc3MgTGFnZXJ3YWxsLgp2MjogQ29kaW5nIHN0eWxlIGZpeGVzLgoKU2lnbmVkLW9mZi1ieTog SWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+Ci0tLQogb3MtcG9zaXguYyAg ICAgIHwgNjIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tCiBxZW11LW9wdGlvbnMuaHggfCAgMyArKy0KIDIgZmlsZXMgY2hhbmdlZCwgNTMg aW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvb3MtcG9zaXguYyBi L29zLXBvc2l4LmMKaW5kZXggYjljMjM0My4uMjE0ZjhmYiAxMDA2NDQKLS0tIGEvb3MtcG9zaXgu YworKysgYi9vcy1wb3NpeC5jCkBAIC00Miw2ICs0Miw4IEBACiAjZW5kaWYKIAogc3RhdGljIHN0 cnVjdCBwYXNzd2QgKnVzZXJfcHdkOworc3RhdGljIHVpZF90IHVzZXJfdWlkID0gKHVpZF90KS0x Oworc3RhdGljIGdpZF90IHVzZXJfZ2lkID0gKGdpZF90KS0xOwogc3RhdGljIGNvbnN0IGNoYXIg KmNocm9vdF9kaXI7CiBzdGF0aWMgaW50IGRhZW1vbml6ZTsKIHN0YXRpYyBpbnQgZGFlbW9uX3Bp cGU7CkBAIC0xMjcsNiArMTI5LDM0IEBAIHZvaWQgb3Nfc2V0X3Byb2NfbmFtZShjb25zdCBjaGFy ICpzKQogI2VuZGlmCiB9CiAKKworc3RhdGljIGJvb2wgb3NfcGFyc2VfcnVuYXNfdWlkX2dpZChj b25zdCBjaGFyICpvcHRhcmcpCit7CisgICAgdW5zaWduZWQgbG9uZyBsdjsKKyAgICBjb25zdCBj aGFyICplcDsKKyAgICB1aWRfdCBnb3RfdWlkOworICAgIGdpZF90IGdvdF9naWQ7CisgICAgaW50 IHJjOworCisgICAgZXJybm8gPSAwOworICAgIHJjID0gcWVtdV9zdHJ0b3VsKG9wdGFyZywgJmVw LCAwLCAmbHYpOworICAgIGdvdF91aWQgPSBsdjsgLyogb3ZlcmZsb3cgaGVyZSBpcyBJRCBpbiBD OTkgKi8KKyAgICBpZiAocmMgfHwgKmVwICE9ICc6JyB8fCBnb3RfdWlkICE9IGx2IHx8IGdvdF91 aWQgPT0gKHVpZF90KS0xKSB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBs diA9IDA7CisgICAgcmMgPSBxZW11X3N0cnRvdWwoZXAgKyAxLCAwLCAwLCAmbHYpOworICAgIGdv dF9naWQgPSBsdjsgLyogb3ZlcmZsb3cgaGVyZSBpcyBJRCBpbiBDOTkgKi8KKyAgICBpZiAocmMg fHwgZ290X2dpZCAhPSBsdiB8fCBnb3RfZ2lkID09IChnaWRfdCktMSkgeworICAgICAgICByZXR1 cm4gZmFsc2U7CisgICAgfQorCisgICAgdXNlcl91aWQgPSBnb3RfdWlkOworICAgIHVzZXJfZ2lk ID0gZ290X2dpZDsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogLyoKICAqIFBhcnNlIE9TIHNwZWNp ZmljIGNvbW1hbmQgbGluZSBvcHRpb25zLgogICogcmV0dXJuIDAgaWYgb3B0aW9uIGhhbmRsZWQs IC0xIG90aGVyd2lzZQpAQCAtMTQ0LDggKzE3NCw4IEBAIHZvaWQgb3NfcGFyc2VfY21kX2FyZ3Mo aW50IGluZGV4LCBjb25zdCBjaGFyICpvcHRhcmcpCiAjZW5kaWYKICAgICBjYXNlIFFFTVVfT1BU SU9OX3J1bmFzOgogICAgICAgICB1c2VyX3B3ZCA9IGdldHB3bmFtKG9wdGFyZyk7Ci0gICAgICAg IGlmICghdXNlcl9wd2QpIHsKLSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVXNlciBcIiVz XCIgZG9lc24ndCBleGlzdFxuIiwgb3B0YXJnKTsKKyAgICAgICAgaWYgKCF1c2VyX3B3ZCAmJiAh b3NfcGFyc2VfcnVuYXNfdWlkX2dpZChvcHRhcmcpKSB7CisgICAgICAgICAgICBlcnJvcl9yZXBv cnQoIlVzZXIgZG9lc24ndCBleGlzdCAoYW5kIGlzIG5vdCA8dWlkPjo8Z2lkPikiKTsKICAgICAg ICAgICAgIGV4aXQoMSk7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CkBAIC0xNjUsMTggKzE5 NSwyOCBAQCB2b2lkIG9zX3BhcnNlX2NtZF9hcmdzKGludCBpbmRleCwgY29uc3QgY2hhciAqb3B0 YXJnKQogCiBzdGF0aWMgdm9pZCBjaGFuZ2VfcHJvY2Vzc191aWQodm9pZCkKIHsKLSAgICBpZiAo dXNlcl9wd2QpIHsKLSAgICAgICAgaWYgKHNldGdpZCh1c2VyX3B3ZC0+cHdfZ2lkKSA8IDApIHsK LSAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHNldGdpZCglZClcbiIsIHVz ZXJfcHdkLT5wd19naWQpOworICAgIGlmICh1c2VyX3B3ZCB8fCB1c2VyX3VpZCAhPSAodWlkX3Qp LTEpIHsKKyAgICAgICAgZ2lkX3QgaW50ZW5kZWRfZ2lkID0gdXNlcl9wd2QgPyB1c2VyX3B3ZC0+ cHdfZ2lkIDogdXNlcl9naWQ7CisgICAgICAgIHVpZF90IGludGVuZGVkX3VpZCA9IHVzZXJfcHdk ID8gdXNlcl9wd2QtPnB3X3VpZCA6IHVzZXJfdWlkOworICAgICAgICBpZiAoc2V0Z2lkKGludGVu ZGVkX2dpZCkgPCAwKSB7CisgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBz ZXRnaWQoJWQpXG4iLCBpbnRlbmRlZF9naWQpOwogICAgICAgICAgICAgZXhpdCgxKTsKICAgICAg ICAgfQotICAgICAgICBpZiAoaW5pdGdyb3Vwcyh1c2VyX3B3ZC0+cHdfbmFtZSwgdXNlcl9wd2Qt PnB3X2dpZCkgPCAwKSB7Ci0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBp bml0Z3JvdXBzKFwiJXNcIiwgJWQpXG4iLAotICAgICAgICAgICAgICAgICAgICB1c2VyX3B3ZC0+ cHdfbmFtZSwgdXNlcl9wd2QtPnB3X2dpZCk7Ci0gICAgICAgICAgICBleGl0KDEpOworICAgICAg ICBpZiAodXNlcl9wd2QpIHsKKyAgICAgICAgICAgIGlmIChpbml0Z3JvdXBzKHVzZXJfcHdkLT5w d19uYW1lLCB1c2VyX3B3ZC0+cHdfZ2lkKSA8IDApIHsKKyAgICAgICAgICAgICAgICBmcHJpbnRm KHN0ZGVyciwgIkZhaWxlZCB0byBpbml0Z3JvdXBzKFwiJXNcIiwgJWQpXG4iLAorICAgICAgICAg ICAgICAgICAgICAgICAgdXNlcl9wd2QtPnB3X25hbWUsIHVzZXJfcHdkLT5wd19naWQpOworICAg ICAgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7Cisg ICAgICAgICAgICBpZiAoc2V0Z3JvdXBzKDEsICZ1c2VyX2dpZCkgPCAwKSB7CisgICAgICAgICAg ICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gc2V0Z3JvdXBzKDEsIFslZF0pIiwKKyAg ICAgICAgICAgICAgICAgICAgICAgIHVzZXJfZ2lkKTsKKyAgICAgICAgICAgICAgICBleGl0KDEp OworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIGlmIChzZXR1aWQodXNlcl9wd2Qt PnB3X3VpZCkgPCAwKSB7Ci0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBz ZXR1aWQoJWQpXG4iLCB1c2VyX3B3ZC0+cHdfdWlkKTsKKyAgICAgICAgaWYgKHNldHVpZChpbnRl bmRlZF91aWQpIDwgMCkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8g c2V0dWlkKCVkKVxuIiwgaW50ZW5kZWRfdWlkKTsKICAgICAgICAgICAgIGV4aXQoMSk7CiAgICAg ICAgIH0KICAgICAgICAgaWYgKHNldHVpZCgwKSAhPSAtMSkgewpkaWZmIC0tZ2l0IGEvcWVtdS1v cHRpb25zLmh4IGIvcWVtdS1vcHRpb25zLmh4CmluZGV4IDY1ODUwNTguLjIxMWYyYTYgMTAwNjQ0 Ci0tLSBhL3FlbXUtb3B0aW9ucy5oeAorKysgYi9xZW11LW9wdGlvbnMuaHgKQEAgLTM3NjMsNyAr Mzc2Myw4IEBAIEVURVhJCiAKICNpZm5kZWYgX1dJTjMyCiBERUYoInJ1bmFzIiwgSEFTX0FSRywg UUVNVV9PUFRJT05fcnVuYXMsIFwKLSAgICAiLXJ1bmFzIHVzZXIgICAgIGNoYW5nZSB0byB1c2Vy IGlkIHVzZXIganVzdCBiZWZvcmUgc3RhcnRpbmcgdGhlIFZNXG4iLAorICAgICItcnVuYXMgdXNl ciAgICAgY2hhbmdlIHRvIHVzZXIgaWQgdXNlciBqdXN0IGJlZm9yZSBzdGFydGluZyB0aGUgVk1c biIgXAorICAgICIgICAgICAgICAgICAgICAgdXNlciBjYW4gYmUgbnVtZXJpYyB1aWQ6Z2lkIGlu c3RlYWRcbiIsCiAgICAgUUVNVV9BUkNIX0FMTCkKICNlbmRpZgogU1RFWEkKLS0gCjIuMS40CgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0 cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==