From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [PATCH 07/11] os-posix: Provide new -runas : facility Date: Thu, 8 Mar 2018 17:39:13 +0000 Message-ID: <1520530757-4477-8-git-send-email-ian.jackson@eu.citrix.com> References: <1520530757-4477-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 all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1etzYe-0006nx-9X for xen-devel@lists.xenproject.org; Thu, 08 Mar 2018 17:42:24 +0000 In-Reply-To: <1520530757-4477-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 cmFuZ2VAcmVkaGF0LmNvbT4KLS0tCnY2OiBVc2UgcWVtdV9zdHJ0b3VsIGZvciB0aGUgZmlyc3Qg c3RydG91bC4KICAgIFVzZSBlcnJvcl9yZXBvcnQgcmF0aGVyIHRoYW4gZnByaW50ZiB0byBwcmlu dCB1c2FnZSBlcnJvciBtZXNzYWdlLgogICAgRml4IGFuIGVycm9yIG1lc3NhZ2Ugd2hpY2ggc3Rp bGwgcmVmZXJyZWQgdG8gLiByYXRoZXIgdGhhbiA6CnY1OiBVc2UgOiByYXRoZXIgdGhhbiAuIHRv IHNlcGFyYXRlIHVpZCBmcm9tIGdpZAp2NDogQ2hhbmdlZCB0byByZXVzZSBvcHRpb24gLXJ1bmFz CnYzOiBFcnJvciBtZXNzYWdlcyBmaXhlZC4gIFRoYW5rcyB0byBQZXRlciBNYXlkZWxsIGFuZCBS b3NzIExhZ2Vyd2FsbC4KdjI6IENvZGluZyBzdHlsZSBmaXhlcy4KClNpZ25lZC1vZmYtYnk6IElh biBKYWNrc29uIDxJYW4uSmFja3NvbkBldS5jaXRyaXguY29tPgotLS0KIG9zLXBvc2l4LmMgICAg ICB8IDYyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLQogcWVtdS1vcHRpb25zLmh4IHwgIDMgKystCiAyIGZpbGVzIGNoYW5nZWQsIDUzIGlu c2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL29zLXBvc2l4LmMgYi9v cy1wb3NpeC5jCmluZGV4IGI5YzIzNDMuLjMyZDdjZjAgMTAwNjQ0Ci0tLSBhL29zLXBvc2l4LmMK KysrIGIvb3MtcG9zaXguYwpAQCAtNDIsNiArNDIsOCBAQAogI2VuZGlmCiAKIHN0YXRpYyBzdHJ1 Y3QgcGFzc3dkICp1c2VyX3B3ZDsKK3N0YXRpYyB1aWRfdCB1c2VyX3VpZCA9ICh1aWRfdCktMTsK K3N0YXRpYyBnaWRfdCB1c2VyX2dpZCA9IChnaWRfdCktMTsKIHN0YXRpYyBjb25zdCBjaGFyICpj aHJvb3RfZGlyOwogc3RhdGljIGludCBkYWVtb25pemU7CiBzdGF0aWMgaW50IGRhZW1vbl9waXBl OwpAQCAtMTI3LDYgKzEyOSwzNCBAQCB2b2lkIG9zX3NldF9wcm9jX25hbWUoY29uc3QgY2hhciAq cykKICNlbmRpZgogfQogCisKK3N0YXRpYyBib29sIG9zX3BhcnNlX3J1bmFzX3VpZF9naWQoY29u c3QgY2hhciAqb3B0YXJnKQoreworICAgIHVuc2lnbmVkIGxvbmcgbHY7CisgICAgY2hhciAqZXA7 CisgICAgdWlkX3QgZ290X3VpZDsKKyAgICBnaWRfdCBnb3RfZ2lkOworICAgIGludCByYzsKKwor ICAgIGVycm5vID0gMDsKKyAgICByYyA9IHFlbXVfc3RydG91bChvcHRhcmcsICZlcCwgMCwgJmx2 KTsKKyAgICBnb3RfdWlkID0gbHY7IC8qIG92ZXJmbG93IGhlcmUgaXMgSUQgaW4gQzk5ICovCisg ICAgaWYgKHJjIHx8ICplcCAhPSAnOicgfHwgZ290X3VpZCAhPSBsdiB8fCBnb3RfdWlkID09ICh1 aWRfdCktMSkgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgbHYgPSAwOwor ICAgIHJjID0gcWVtdV9zdHJ0b3VsKGVwICsgMSwgMCwgMCwgJmx2KTsKKyAgICBnb3RfZ2lkID0g bHY7IC8qIG92ZXJmbG93IGhlcmUgaXMgSUQgaW4gQzk5ICovCisgICAgaWYgKHJjIHx8IGdvdF9n aWQgIT0gbHYgfHwgZ290X2dpZCA9PSAoZ2lkX3QpLTEpIHsKKyAgICAgICAgcmV0dXJuIGZhbHNl OworICAgIH0KKworICAgIHVzZXJfdWlkID0gZ290X3VpZDsKKyAgICB1c2VyX2dpZCA9IGdvdF9n aWQ7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIC8qCiAgKiBQYXJzZSBPUyBzcGVjaWZpYyBjb21t YW5kIGxpbmUgb3B0aW9ucy4KICAqIHJldHVybiAwIGlmIG9wdGlvbiBoYW5kbGVkLCAtMSBvdGhl cndpc2UKQEAgLTE0NCw4ICsxNzQsOCBAQCB2b2lkIG9zX3BhcnNlX2NtZF9hcmdzKGludCBpbmRl eCwgY29uc3QgY2hhciAqb3B0YXJnKQogI2VuZGlmCiAgICAgY2FzZSBRRU1VX09QVElPTl9ydW5h czoKICAgICAgICAgdXNlcl9wd2QgPSBnZXRwd25hbShvcHRhcmcpOwotICAgICAgICBpZiAoIXVz ZXJfcHdkKSB7Ci0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIlVzZXIgXCIlc1wiIGRvZXNu J3QgZXhpc3RcbiIsIG9wdGFyZyk7CisgICAgICAgIGlmICghdXNlcl9wd2QgJiYgIW9zX3BhcnNl X3J1bmFzX3VpZF9naWQob3B0YXJnKSkgeworICAgICAgICAgICAgZXJyb3JfcmVwb3J0KCJVc2Vy IGRvZXNuJ3QgZXhpc3QgKGFuZCBpcyBub3QgPHVpZD46PGdpZD4pIik7CiAgICAgICAgICAgICBl eGl0KDEpOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwpAQCAtMTY1LDE4ICsxOTUsMjggQEAg dm9pZCBvc19wYXJzZV9jbWRfYXJncyhpbnQgaW5kZXgsIGNvbnN0IGNoYXIgKm9wdGFyZykKIAog c3RhdGljIHZvaWQgY2hhbmdlX3Byb2Nlc3NfdWlkKHZvaWQpCiB7Ci0gICAgaWYgKHVzZXJfcHdk KSB7Ci0gICAgICAgIGlmIChzZXRnaWQodXNlcl9wd2QtPnB3X2dpZCkgPCAwKSB7Ci0gICAgICAg ICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBzZXRnaWQoJWQpXG4iLCB1c2VyX3B3ZC0+ cHdfZ2lkKTsKKyAgICBpZiAodXNlcl9wd2QgfHwgdXNlcl91aWQgIT0gKHVpZF90KS0xKSB7Cisg ICAgICAgIGdpZF90IGludGVuZGVkX2dpZCA9IHVzZXJfcHdkID8gdXNlcl9wd2QtPnB3X2dpZCA6 IHVzZXJfZ2lkOworICAgICAgICB1aWRfdCBpbnRlbmRlZF91aWQgPSB1c2VyX3B3ZCA/IHVzZXJf cHdkLT5wd191aWQgOiB1c2VyX3VpZDsKKyAgICAgICAgaWYgKHNldGdpZChpbnRlbmRlZF9naWQp IDwgMCkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gc2V0Z2lkKCVk KVxuIiwgaW50ZW5kZWRfZ2lkKTsKICAgICAgICAgICAgIGV4aXQoMSk7CiAgICAgICAgIH0KLSAg ICAgICAgaWYgKGluaXRncm91cHModXNlcl9wd2QtPnB3X25hbWUsIHVzZXJfcHdkLT5wd19naWQp IDwgMCkgewotICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gaW5pdGdyb3Vw cyhcIiVzXCIsICVkKVxuIiwKLSAgICAgICAgICAgICAgICAgICAgdXNlcl9wd2QtPnB3X25hbWUs IHVzZXJfcHdkLT5wd19naWQpOwotICAgICAgICAgICAgZXhpdCgxKTsKKyAgICAgICAgaWYgKHVz ZXJfcHdkKSB7CisgICAgICAgICAgICBpZiAoaW5pdGdyb3Vwcyh1c2VyX3B3ZC0+cHdfbmFtZSwg dXNlcl9wd2QtPnB3X2dpZCkgPCAwKSB7CisgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIs ICJGYWlsZWQgdG8gaW5pdGdyb3VwcyhcIiVzXCIsICVkKVxuIiwKKyAgICAgICAgICAgICAgICAg ICAgICAgIHVzZXJfcHdkLT5wd19uYW1lLCB1c2VyX3B3ZC0+cHdfZ2lkKTsKKyAgICAgICAgICAg ICAgICBleGl0KDEpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAg ICAgaWYgKHNldGdyb3VwcygxLCAmdXNlcl9naWQpIDwgMCkgeworICAgICAgICAgICAgICAgIGZw cmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHNldGdyb3VwcygxLCBbJWRdKSIsCisgICAgICAgICAg ICAgICAgICAgICAgICB1c2VyX2dpZCk7CisgICAgICAgICAgICAgICAgZXhpdCgxKTsKKyAgICAg ICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBpZiAoc2V0dWlkKHVzZXJfcHdkLT5wd191aWQp IDwgMCkgewotICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gc2V0dWlkKCVk KVxuIiwgdXNlcl9wd2QtPnB3X3VpZCk7CisgICAgICAgIGlmIChzZXR1aWQoaW50ZW5kZWRfdWlk KSA8IDApIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHNldHVpZCgl ZClcbiIsIGludGVuZGVkX3VpZCk7CiAgICAgICAgICAgICBleGl0KDEpOwogICAgICAgICB9CiAg ICAgICAgIGlmIChzZXR1aWQoMCkgIT0gLTEpIHsKZGlmZiAtLWdpdCBhL3FlbXUtb3B0aW9ucy5o eCBiL3FlbXUtb3B0aW9ucy5oeAppbmRleCA2NTg1MDU4Li4yMTFmMmE2IDEwMDY0NAotLS0gYS9x ZW11LW9wdGlvbnMuaHgKKysrIGIvcWVtdS1vcHRpb25zLmh4CkBAIC0zNzYzLDcgKzM3NjMsOCBA QCBFVEVYSQogCiAjaWZuZGVmIF9XSU4zMgogREVGKCJydW5hcyIsIEhBU19BUkcsIFFFTVVfT1BU SU9OX3J1bmFzLCBcCi0gICAgIi1ydW5hcyB1c2VyICAgICBjaGFuZ2UgdG8gdXNlciBpZCB1c2Vy IGp1c3QgYmVmb3JlIHN0YXJ0aW5nIHRoZSBWTVxuIiwKKyAgICAiLXJ1bmFzIHVzZXIgICAgIGNo YW5nZSB0byB1c2VyIGlkIHVzZXIganVzdCBiZWZvcmUgc3RhcnRpbmcgdGhlIFZNXG4iIFwKKyAg ICAiICAgICAgICAgICAgICAgIHVzZXIgY2FuIGJlIG51bWVyaWMgdWlkOmdpZCBpbnN0ZWFkXG4i LAogICAgIFFFTVVfQVJDSF9BTEwpCiAjZW5kaWYKIFNURVhJCi0tIAoyLjEuNAoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=