From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [PATCH v5.1 7/8] os-posix: Provide new -runas : facility Date: Fri, 20 Oct 2017 14:38:21 +0100 Message-ID: <1508506702-17704-7-git-send-email-ian.jackson@eu.citrix.com> References: <23017.64539.31230.43449@mariner.uk.xensource.com> <1508506702-17704-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e5XVb-0003wL-3K for xen-devel@lists.xenproject.org; Fri, 20 Oct 2017 13:38:43 +0000 In-Reply-To: <1508506702-17704-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 bGwgYmUgdXNlZnVsIGluIGNlcnRhaW4KWGVuIGNvbmZpZ3VyYXRpb25zLgoKV2UgZG9uJ3Qgc3Vw cG9ydCBqdXN0IC1ydW5hcyA8dWlkPiBiZWNhdXNlOiAoaSkgZGVwcml2aWxlZ2luZyB3aXRob3V0 CmNhbGxpbmcgc2V0Z3JvdXBzIHdvdWxkIGJlIGluZWZmZWN0aXZlIChpaSkgZ2l2ZW4gb25seSBh IHVpZCB3ZSBkb24ndAprbm93IHdoYXQgZ2lkIHdlIG91Z2h0IHRvIHVzZSAoc2luY2UgdWlkcyBt YXkgZXBwZWFyIGluIG11bHRpcGxlCnBhc3N3ZCBmaWxlIGVudHJpZXMgd2l0aCBkaWZmZXJlbnQg Z2lkcykuCgpTaWduZWQtb2ZmLWJ5OiBJYW4gSmFja3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4 LmNvbT4KLS0tCnY1OiBVc2UgOiByYXRoZXIgdGhhbiAuIHRvIHNlcGFyYXRlIHVpZCBmcm9tIGdp ZAp2NDogQ2hhbmdlZCB0byByZXVzZSBvcHRpb24gLXJ1bmFzCnYzOiBFcnJvciBtZXNzYWdlcyBm aXhlZC4gIFRoYW5rcyB0byBQZXRlciBNYXlkZWxsIGFuZCBSb3NzIExhZ2Vyd2FsbC4KdjI6IENv ZGluZyBzdHlsZSBmaXhlcy4KCnNxdWFzaCEgb3MtcG9zaXg6IFByb3ZpZGUgbmV3IC1ydW5hcyA8 dWlkPi48Z2lkPiBmYWNpbGl0eQotLS0KIG9zLXBvc2l4LmMgICAgICB8IDY0ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogcWVtdS1vcHRp b25zLmh4IHwgIDMgKystCiAyIGZpbGVzIGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKyksIDEyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL29zLXBvc2l4LmMgYi9vcy1wb3NpeC5jCmluZGV4IDky ZTlkODUuLmY5NWI3YmYgMTAwNjQ0Ci0tLSBhL29zLXBvc2l4LmMKKysrIGIvb3MtcG9zaXguYwpA QCAtNDMsNiArNDMsOCBAQAogI2VuZGlmCiAKIHN0YXRpYyBzdHJ1Y3QgcGFzc3dkICp1c2VyX3B3 ZDsKK3N0YXRpYyB1aWRfdCB1c2VyX3VpZCA9ICh1aWRfdCktMTsKK3N0YXRpYyBnaWRfdCB1c2Vy X2dpZCA9IChnaWRfdCktMTsKIHN0YXRpYyBjb25zdCBjaGFyICpjaHJvb3RfZGlyOwogc3RhdGlj IGludCBkYWVtb25pemU7CiBzdGF0aWMgaW50IGRhZW1vbl9waXBlOwpAQCAtMTI4LDYgKzEzMCwz NCBAQCB2b2lkIG9zX3NldF9wcm9jX25hbWUoY29uc3QgY2hhciAqcykKICNlbmRpZgogfQogCisK K3N0YXRpYyBib29sIG9zX3BhcnNlX3J1bmFzX3VpZF9naWQoY29uc3QgY2hhciAqb3B0YXJnKQor eworICAgIHVuc2lnbmVkIGxvbmcgbHY7CisgICAgY2hhciAqZXA7CisgICAgdWlkX3QgZ290X3Vp ZDsKKyAgICBnaWRfdCBnb3RfZ2lkOworICAgIGludCByYzsKKworICAgIGVycm5vID0gMDsKKyAg ICBsdiA9IHN0cnRvdWwob3B0YXJnLCAmZXAsIDApOyAvKiBjYW4ndCBxZW11X3N0cnRvdWwsIHdh bnQgKmVwPT0nOicgKi8KKyAgICBnb3RfdWlkID0gbHY7IC8qIG92ZXJmbG93IGhlcmUgaXMgSUQg aW4gQzk5ICovCisgICAgaWYgKGVycm5vIHx8ICplcCAhPSAnOicgfHwgZ290X3VpZCAhPSBsdiB8 fCBnb3RfdWlkID09ICh1aWRfdCktMSkgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQor CisgICAgbHYgPSAwOworICAgIHJjID0gcWVtdV9zdHJ0b3VsKGVwICsgMSwgMCwgMCwgJmx2KTsK KyAgICBnb3RfZ2lkID0gbHY7IC8qIG92ZXJmbG93IGhlcmUgaXMgSUQgaW4gQzk5ICovCisgICAg aWYgKHJjIHx8IGdvdF9naWQgIT0gbHYgfHwgZ290X2dpZCA9PSAoZ2lkX3QpLTEpIHsKKyAgICAg ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHVzZXJfdWlkID0gZ290X3VpZDsKKyAgICB1 c2VyX2dpZCA9IGdvdF9naWQ7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIC8qCiAgKiBQYXJzZSBP UyBzcGVjaWZpYyBjb21tYW5kIGxpbmUgb3B0aW9ucy4KICAqIHJldHVybiAwIGlmIG9wdGlvbiBo YW5kbGVkLCAtMSBvdGhlcndpc2UKQEAgLTE0NSw4ICsxNzUsMTAgQEAgdm9pZCBvc19wYXJzZV9j bWRfYXJncyhpbnQgaW5kZXgsIGNvbnN0IGNoYXIgKm9wdGFyZykKICNlbmRpZgogICAgIGNhc2Ug UUVNVV9PUFRJT05fcnVuYXM6CiAgICAgICAgIHVzZXJfcHdkID0gZ2V0cHduYW0ob3B0YXJnKTsK LSAgICAgICAgaWYgKCF1c2VyX3B3ZCkgewotICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJV c2VyIFwiJXNcIiBkb2Vzbid0IGV4aXN0XG4iLCBvcHRhcmcpOworICAgICAgICBpZiAoIXVzZXJf cHdkICYmICFvc19wYXJzZV9ydW5hc191aWRfZ2lkKG9wdGFyZykpIHsKKyAgICAgICAgICAgIGZw cmludGYoc3RkZXJyLAorICAgICAgICAgICAgICAgICAgICAiVXNlciBcIiVzXCIgZG9lc24ndCBl eGlzdCAoYW5kIGlzIG5vdCA8dWlkPi48Z2lkPilcbiIsCisgICAgICAgICAgICAgICAgICAgIG9w dGFyZyk7CiAgICAgICAgICAgICBleGl0KDEpOwogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwpA QCAtMTY2LDE4ICsxOTgsMjggQEAgdm9pZCBvc19wYXJzZV9jbWRfYXJncyhpbnQgaW5kZXgsIGNv bnN0IGNoYXIgKm9wdGFyZykKIAogc3RhdGljIHZvaWQgY2hhbmdlX3Byb2Nlc3NfdWlkKHZvaWQp CiB7Ci0gICAgaWYgKHVzZXJfcHdkKSB7Ci0gICAgICAgIGlmIChzZXRnaWQodXNlcl9wd2QtPnB3 X2dpZCkgPCAwKSB7Ci0gICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBzZXRn aWQoJWQpXG4iLCB1c2VyX3B3ZC0+cHdfZ2lkKTsKKyAgICBpZiAodXNlcl9wd2QgfHwgdXNlcl91 aWQgIT0gKHVpZF90KS0xKSB7CisgICAgICAgIGdpZF90IGludGVuZGVkX2dpZCA9IHVzZXJfcHdk ID8gdXNlcl9wd2QtPnB3X2dpZCA6IHVzZXJfZ2lkOworICAgICAgICB1aWRfdCBpbnRlbmRlZF91 aWQgPSB1c2VyX3B3ZCA/IHVzZXJfcHdkLT5wd191aWQgOiB1c2VyX3VpZDsKKyAgICAgICAgaWYg KHNldGdpZChpbnRlbmRlZF9naWQpIDwgMCkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIs ICJGYWlsZWQgdG8gc2V0Z2lkKCVkKVxuIiwgaW50ZW5kZWRfZ2lkKTsKICAgICAgICAgICAgIGV4 aXQoMSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKGluaXRncm91cHModXNlcl9wd2QtPnB3X25h bWUsIHVzZXJfcHdkLT5wd19naWQpIDwgMCkgewotICAgICAgICAgICAgZnByaW50ZihzdGRlcnIs ICJGYWlsZWQgdG8gaW5pdGdyb3VwcyhcIiVzXCIsICVkKVxuIiwKLSAgICAgICAgICAgICAgICAg ICAgdXNlcl9wd2QtPnB3X25hbWUsIHVzZXJfcHdkLT5wd19naWQpOwotICAgICAgICAgICAgZXhp dCgxKTsKKyAgICAgICAgaWYgKHVzZXJfcHdkKSB7CisgICAgICAgICAgICBpZiAoaW5pdGdyb3Vw cyh1c2VyX3B3ZC0+cHdfbmFtZSwgdXNlcl9wd2QtPnB3X2dpZCkgPCAwKSB7CisgICAgICAgICAg ICAgICAgZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gaW5pdGdyb3VwcyhcIiVzXCIsICVkKVxu IiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfcHdkLT5wd19uYW1lLCB1c2VyX3B3ZC0+ cHdfZ2lkKTsKKyAgICAgICAgICAgICAgICBleGl0KDEpOworICAgICAgICAgICAgfQorICAgICAg ICB9IGVsc2UgeworICAgICAgICAgICAgaWYgKHNldGdyb3VwcygxLCAmdXNlcl9naWQpIDwgMCkg eworICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRmFpbGVkIHRvIHNldGdyb3Vwcygx LCBbJWRdKSIsCisgICAgICAgICAgICAgICAgICAgICAgICB1c2VyX2dpZCk7CisgICAgICAgICAg ICAgICAgZXhpdCgxKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBpZiAoc2V0 dWlkKHVzZXJfcHdkLT5wd191aWQpIDwgMCkgewotICAgICAgICAgICAgZnByaW50ZihzdGRlcnIs ICJGYWlsZWQgdG8gc2V0dWlkKCVkKVxuIiwgdXNlcl9wd2QtPnB3X3VpZCk7CisgICAgICAgIGlm IChzZXR1aWQoaW50ZW5kZWRfdWlkKSA8IDApIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJy LCAiRmFpbGVkIHRvIHNldHVpZCglZClcbiIsIGludGVuZGVkX3VpZCk7CiAgICAgICAgICAgICBl eGl0KDEpOwogICAgICAgICB9CiAgICAgICAgIGlmIChzZXR1aWQoMCkgIT0gLTEpIHsKZGlmZiAt LWdpdCBhL3FlbXUtb3B0aW9ucy5oeCBiL3FlbXUtb3B0aW9ucy5oeAppbmRleCA5ZjZlMmFkLi5m NzA3MTk3ZSAxMDA2NDQKLS0tIGEvcWVtdS1vcHRpb25zLmh4CisrKyBiL3FlbXUtb3B0aW9ucy5o eApAQCAtMzk1OCw3ICszOTU4LDggQEAgRVRFWEkKIAogI2lmbmRlZiBfV0lOMzIKIERFRigicnVu YXMiLCBIQVNfQVJHLCBRRU1VX09QVElPTl9ydW5hcywgXAotICAgICItcnVuYXMgdXNlciAgICAg Y2hhbmdlIHRvIHVzZXIgaWQgdXNlciBqdXN0IGJlZm9yZSBzdGFydGluZyB0aGUgVk1cbiIsCisg ICAgIi1ydW5hcyB1c2VyICAgICBjaGFuZ2UgdG8gdXNlciBpZCB1c2VyIGp1c3QgYmVmb3JlIHN0 YXJ0aW5nIHRoZSBWTVxuIiBcCisgICAgIiAgICAgICAgICAgICAgICB1c2VyIGNhbiBiZSBudW1l cmljIHVpZDpnaWQgaW5zdGVhZFxuIiwKICAgICBRRU1VX0FSQ0hfQUxMKQogI2VuZGlmCiBTVEVY SQotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBz Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK