From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH v10] run QEMU as non-root Date: Mon, 16 Nov 2015 12:35:07 +0000 Message-ID: <1447677307.27871.68.camel@citrix.com> References: <1446727646-6802-1-git-send-email-stefano.stabellini@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1446727646-6802-1-git-send-email-stefano.stabellini@eu.citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Stefano Stabellini Cc: xen-devel@lists.xensource.com, Ian Jackson List-Id: xen-devel@lists.xenproject.org T24gVGh1LCAyMDE1LTExLTA1IGF0IDEyOjQ3ICswMDAwLCBTdGVmYW5vIFN0YWJlbGxpbmkgd3Jv dGU6Cj4gZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy9xZW11LWRlcHJpdmlsZWdlLnR4dCBiL2RvY3Mv bWlzYy9xZW11LQo+IGRlcHJpdmlsZWdlLnR4dAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5k ZXggMDAwMDAwMC4uZGRlNzRhYgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kb2NzL21pc2MvcWVt dS1kZXByaXZpbGVnZS50eHQKPiBAQCAtMCwwICsxLDMxIEBACj4gK0ZvciBzZWN1cml0eSByZWFz b25zLCBsaWJ4bCB0cmllcyB0byBwYXNzIGEgbm9uLXJvb3QgdXNlcm5hbWUgdG8gUUVNVSBhcwo+ ICthcmd1bWVudC4gRHVyaW5nIGluaXRpYWxpemF0aW9uIFFFTVUgY2FsbHMgc2V0dWlkIGFuZCBz ZXRnaWQgd2l0aCB0aGUKPiArdXNlciBJRCBhbmQgdGhlIGdyb3VwIElEIG9mIHRoZSB1c2VyIHBh c3NlZCBhcyBhcmd1bWVudC4KPiArTGlieGwgbG9va3MgZm9yIHRoZSBmb2xsb3dpbmcgdXNlcnMg aW4gdGhpcyBvcmRlcjoKPiArCj4gKzEpIGEgdXNlciBuYW1lZCAieGVuLXFlbXV1c2VyLWRvbWlk JGRvbWlkIiwKPiArV2hlcmUgJGRvbWlkIGlzIHRoZSBkb21pZCBvZiB0aGUgZG9tYWluIGJlaW5n IGNyZWF0ZWQuCj4gK1RoaXMgcmVxdWlyZXMgdGhlIHJlc2VydmF0aW9uIG9mIDY1NTM1IHVpZHMg ZnJvbSB4ZW4tcWVtdXVzZXItZG9taWQxCj4gK3RvIHhlbi1xZW11dXNlci1kb21pZDY1NTM1LiBU byB1c2UgdGhpcyBtZWNoYW5pc20sIHlvdSBtaWdodCB3YW50IHRvCj4gK2NyZWF0ZSBhIGxhcmdl IG51bWJlciBvZiB1c2VycyBhdCBpbnN0YWxsYXRpb24gdGltZS4gRm9yIGV4YW1wbGU6Cj4gKwo+ ICtmb3IgKChpPTE7IGk8NjU1MzY7IGkrKykpCj4gK2RvCj4gK8KgwqDCoMKgYWRkdXNlciAtLW5v LWNyZWF0ZS1ob21lIC0tc3lzdGVtIHhlbi1xZW11dXNlci1kb21pZCRpCj4gK2RvbmUKCkkgc3Vw cG9zZSB3ZSBzaG91bGQgaW50ZWdyYXRlIGVpdGhlciB0aGlzIG9yIHN1Z2dlc3Rpb24gIzIgaW50 byBvc3N0ZXN0LgpXaWxsIHlvdSBzZW5kIGEgcGF0Y2g/CgpJIHN1cHBvc2UgdHMteGVuLWluc3Rh bGwgaXMgdGhlIG9idmlvdXMgcGxhY2UgdG8gZG8gdGhpcywgb25seSBxdWlyayBtaWdodApiZSBt YWtpbmcgaXQgaWRlbXBvdGVudCAoZm9yIGNvbnZlbmllbmNlIHdoZW4gcnVubmluZyBpbiBzdGFu ZGFsb25lIG1vZGUpLgpUaGUgYWRkdXNlciBtYW5wYWdlIHN1Z2dlc3RzIGl0IGFscmVhZHkgaXM6 CsKgIMKgIMKgIMKgMMKgwqDCoMKgwqDCoFRoZcKgwqB1c2VyIGV4aXN0cyBhcyBzcGVjaWZpZWQu IFRoaXMgY2FuIGhhdmUgMiBjYXVzZXM6CsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBUaGUg dXNlciB3YXPCoMKgY3JlYXRlZMKgwqBiecKgwqBhZGR1c2VywqDCoG9ywqDCoHRoZcKgwqB1c2Vy wqDCoHdhcwrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgYWxyZWFkecKgwqBwcmVzZW50wqDC oG9uwqDCoHRoZcKgwqBzeXN0ZW3CoMKgYmVmb3JlwqDCoGFkZHVzZXIgd2FzCsKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqBpbnZva2VkLiBJZiBhZGR1c2VyIHdhcyByZXR1cm5pbmcgMCAsIGlu dm9raW5nIGFkZHVzZXIKwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGHCoMKgc2Vjb25kIHRp bWUgd2l0aCB0aGUgc2FtZSBwYXJhbWV0ZXJzIGFzIGJlZm9yZSBhbHNvCsKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqByZXR1cm5zIDAuCgpTbyBob3BlZnVsbHkgdGhhdCBpcyB0cml2aWFsLgoK PiAKPiArWW91IG1pZ2h0IHdhbnQgdG8gY29uc2lkZXIgcGFzc2luZyAtLWdyb3VwIHRvIGFkZHVz ZXIgdG8gY3JlYXRlIGEgbmV3Cj4gK2dyb3VwIGZvciBlYWNoIG5ldyB1c2VyLgo+ICsKPiArCj4g KzIpIGEgdXNlciBuYW1lZCAieGVuLXFlbXV1c2VyLXNoYXJlZCIKPiArQXMgYSBmYWxsIGJhY2sg aWYgYm90aCAxKSBmYWlscywgbGlieGwgd2lsbCB1c2UgYSBzaW5nbGUgdXNlciBmb3IKPiArYWxs IFFFTVUgaW5zdGFuY2VzLiBUaGUgdXNlciBpcyBuYW1lZCB4ZW4tcWVtdXVzZXItc2hhcmVkLiBU aGlzIGlzCj4gK2xlc3Mgc2VjdXJlIGJ1dCBzdGlsbCBiZXR0ZXIgdGhhbiBydW5uaW5nIFFFTVUg YXMgcm9vdC4gVXNpbmcgdGhpcyBpcyBhcwo+ICtzaW1wbGUgYXMgY3JlYXRpbmcganVzdCBvbmUg bW9yZSB1c2VyIG9uIHlvdXIgaG9zdDoKPiArCj4gK2FkZHVzZXIgLS1uby1jcmVhdGUtaG9tZSAt LXN5c3RlbSB4ZW4tcWVtdXVzZXItc2hhcmVkCj4gKwo+ICsKPiArMykgcm9vdAo+ICtBcyBhIGxh c3QgcmVzb3J0LCBsaWJ4bCB3aWxsIHN0YXJ0IFFFTVUgYXMgcm9vdC4KPiBkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGwvbGlieGwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsLmgKPiBpbmRleCAxNjhmZWRk Li41ZWRlYjMwIDEwMDY0NAo+IC0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsLmgKPiArKysgYi90b29s cy9saWJ4bC9saWJ4bC5oCj4gQEAgLTE5OSw2ICsxOTksMTEgQEAKPiDCoCAqLwo+IMKgI2RlZmlu ZSBMSUJYTF9IQVZFX0RFVklDRVRSRUVfUEFTU1RIUk9VR0ggMQo+IMKgCj4gKy8qIGxpYnhsX2Rv bWFpbl9idWlsZF9pbmZvIGhhcyBkZXZpY2VfbW9kZWxfdXNlciB0byBzcGVjaWZ5IHRoZSB1c2Vy IHRvCj4gKyAqIHJ1biB0aGUgZGV2aWNlIG1vZGVsIHdpdGguIFNlZSBkb2NzL21pc2MvcWVtdS1k ZXByaXZpbGVnZS50eHQuCj4gKyAqLwo+ICsjZGVmaW5lIExJQlhMX0hBVkVfREVWSUNFX01PREVM X1VTRVIgMQo+ICsKPiDCoC8qCj4gwqAgKiBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyBoYXMgdGhl IGFybS5naWNfdmVyc2lvbiBmaWVsZC4KPiDCoCAqLwo+IGRpZmYgLS1naXQgYS90b29scy9saWJ4 bC9saWJ4bF9kbS5jIGIvdG9vbHMvbGlieGwvbGlieGxfZG0uYwo+IGluZGV4IDljOWVhYTMuLjE1 MWI2ZWQgMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG0uYwo+ICsrKyBiL3Rvb2xz L2xpYnhsL2xpYnhsX2RtLmMKPiBAQCAtMjEsNiArMjEsOCBAQAo+IMKgCj4gwqAjaW5jbHVkZSA8 eGNfZG9tLmg+Cj4gwqAjaW5jbHVkZSA8eGVuL2h2bS9lODIwLmg+Cj4gKyNpbmNsdWRlIDxzeXMv dHlwZXMuaD4KPiArI2luY2x1ZGUgPHB3ZC5oPgo+IMKgCj4gwqBzdGF0aWMgY29uc3QgY2hhciAq bGlieGxfdGFwaWZfc2NyaXB0KGxpYnhsX19nYyAqZ2MpCj4gwqB7Cj4gQEAgLTcyMiw2ICs3MjQs MzYgQEAgbGlieGxfX2RldGVjdF9nZnhfcGFzc3RocnVfa2luZChsaWJ4bF9fZ2MgKmdjLAo+IMKg wqDCoMKgwqByZXR1cm4gTElCWExfR0ZYX1BBU1NUSFJVX0tJTkRfREVGQVVMVDsKPiDCoH0KPiDC oAo+ICsvKiByZXR1cm4gMSBpZiB0aGUgdXNlciB3YXMgZm91bmQsIDAgaWYgaXQgd2FzIG5vdCwg LTEgb24gZXJyb3IgKi8KPiArc3RhdGljIGludCBsaWJ4bF9fZG1fcnVuYXNfaGVscGVyKGxpYnhs X19nYyAqZ2MsIGNvbnN0IGNoYXIgKnVzZXJuYW1lKQo+ICt7Cj4gK8KgwqDCoMKgc3RydWN0IHBh c3N3ZCBwd2QsICp1c2VyID0gTlVMTDsKPiArwqDCoMKgwqBjaGFyICpidWYgPSBOVUxMOwo+ICvC oMKgwqDCoGxvbmcgYnVmX3NpemU7Cj4gK8KgwqDCoMKgaW50IHJldDsKPiArCj4gK8KgwqDCoMKg YnVmX3NpemUgPSBzeXNjb25mKF9TQ19HRVRQV19SX1NJWkVfTUFYKTsKPiArwqDCoMKgwqBpZiAo YnVmX3NpemUgPCAwKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqBMT0dFKEVSUk9SLCAic3lzY29uZihf U0NfR0VUUFdfUl9TSVpFX01BWCkgcmV0dXJuZWQgZXJyb3IgJWxkIiwKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqBidWZfc2l6ZSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqByZXR1cm4g RVJST1JfRkFJTDsKPiArwqDCoMKgwqB9Cj4gKwo+ICvCoMKgwqDCoHdoaWxlICgxKSB7Cj4gK8Kg wqDCoMKgwqDCoMKgwqBidWYgPSBsaWJ4bF9fcmVhbGxvYyhnYywgYnVmLCBidWZfc2l6ZSk7Cj4g K8KgwqDCoMKgwqDCoMKgwqByZXQgPSBnZXRwd25hbV9yKHVzZXJuYW1lLCAmcHdkLCBidWYsIGJ1 Zl9zaXplLCAmdXNlcik7Cj4gK8KgwqDCoMKgwqDCoMKgwqBpZiAocmV0ID09IEVSQU5HRSkgewo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBidWZfc2l6ZSArPSAxMjg7Cj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGNvbnRpbnVlOwo+ICvCoMKgwqDCoMKgwqDCoMKgfQo+ICvCoMKgwqDCoMKg wqDCoMKgaWYgKHJldCAhPSAwKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gRVJS T1JfRkFJTDsKPiArwqDCoMKgwqDCoMKgwqDCoGlmICh1c2VyICE9IE5VTEwpCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHJldHVybiAxOwo+ICvCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIDA7Cj4g K8KgwqDCoMKgfQo+ICt9Cj4gKwo+IMKgc3RhdGljIGludCBsaWJ4bF9fYnVpbGRfZGV2aWNlX21v ZGVsX2FyZ3NfbmV3KGxpYnhsX19nYyAqZ2MsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGNv bnN0IGNoYXIgKmRtLCBpbnQgZ3Vlc3RfZG9taWQsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oGNvbnN0IGxpYnhsX2RvbWFpbl9jb25maWcKPiAqZ3Vlc3RfY29uZmlnLAo+IEBAIC03NDAsOSAr NzcyLDEwIEBAIHN0YXRpYyBpbnQKPiBsaWJ4bF9fYnVpbGRfZGV2aWNlX21vZGVsX2FyZ3NfbmV3 KGxpYnhsX19nYyAqZ2MsCj4gwqDCoMKgwqDCoGNvbnN0IGNoYXIgKmtleW1hcCA9IGRtX2tleW1h cChndWVzdF9jb25maWcpOwo+IMKgwqDCoMKgwqBjaGFyICptYWNoaW5lYXJnOwo+IMKgwqDCoMKg wqBmbGV4YXJyYXlfdCAqZG1fYXJncywgKmRtX2VudnM7Cj4gLcKgwqDCoMKgaW50IGksIGNvbm5l Y3Rpb24sIGRldmlkOwo+ICvCoMKgwqDCoGludCBpLCBjb25uZWN0aW9uLCBkZXZpZCwgcmV0Owo+ IMKgwqDCoMKgwqB1aW50NjRfdCByYW1fc2l6ZTsKPiDCoMKgwqDCoMKgY29uc3QgY2hhciAqcGF0 aCwgKmNoYXJkZXY7Cj4gK8KgwqDCoMKgY2hhciAqdXNlciA9IE5VTEw7Cj4gwqAKPiDCoMKgwqDC oMKgZG1fYXJncyA9IGZsZXhhcnJheV9tYWtlKGdjLCAxNiwgMSk7Cj4gwqDCoMKgwqDCoGRtX2Vu dnMgPSBmbGV4YXJyYXlfbWFrZShnYywgMTYsIDEpOwo+IEBAIC0xMjIyLDYgKzEyNTUsMzggQEAg c3RhdGljIGludAo+IGxpYnhsX19idWlsZF9kZXZpY2VfbW9kZWxfYXJnc19uZXcobGlieGxfX2dj ICpnYywKPiDCoMKgwqDCoMKgwqDCoMKgwqBkZWZhdWx0Ogo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgYnJlYWs7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgfQo+ICsKPiArwqDCoMKgwqDCoMKgwqDC oGlmIChiX2luZm8tPmRldmljZV9tb2RlbF91c2VyKSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHVzZXIgPSBiX2luZm8tPmRldmljZV9tb2RlbF91c2VyOwo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBnb3RvIGVuZF9zZWFyY2g7Cj4gK8KgwqDCoMKgwqDCoMKgwqB9Cj4gKwo+ICvCoMKg wqDCoMKgwqDCoMKgdXNlciA9IGxpYnhsX19zcHJpbnRmKGdjLCAiJXMlZCIsIExJQlhMX1FFTVVf VVNFUl9CQVNFLAo+IGd1ZXN0X2RvbWlkKTsKPiArwqDCoMKgwqDCoMKgwqDCoHJldCA9IGxpYnhs X19kbV9ydW5hc19oZWxwZXIoZ2MsIHVzZXIpOwo+ICvCoMKgwqDCoMKgwqDCoMKgaWYgKHJldCA8 IDApCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gK8KgwqDCoMKgwqDC oMKgwqBpZiAocmV0ID4gMCkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZ290byBlbmRfc2Vh cmNoOwo+ICsKPiArwqDCoMKgwqDCoMKgwqDCoHVzZXIgPSBMSUJYTF9RRU1VX1VTRVJfU0hBUkVE Owo+ICvCoMKgwqDCoMKgwqDCoMKgcmV0ID0gbGlieGxfX2RtX3J1bmFzX2hlbHBlcihnYywgdXNl cik7Cj4gK8KgwqDCoMKgwqDCoMKgwqBpZiAocmV0IDwgMCkKPiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgcmV0dXJuIHJldDsKPiArwqDCoMKgwqDCoMKgwqDCoGlmIChyZXQgPiAwKSB7Cj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoExPRyhXQVJOLCAiQ291bGQgbm90IGZpbmQgdXNlciAlcyVk LCBmYWxsaW5nIGJhY2sgdG8gJXMiLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgTElCWExfUUVNVV9VU0VSX0JBU0UsIGd1ZXN0X2RvbWlkLAo+IExJQlhMX1FFTVVf VVNFUl9TSEFSRUQpOwo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBnb3RvIGVuZF9zZWFyY2g7 Cj4gK8KgwqDCoMKgwqDCoMKgwqB9Cj4gKwo+ICvCoMKgwqDCoMKgwqDCoMKgdXNlciA9IE5VTEw7 Cj4gK8KgwqDCoMKgwqDCoMKgwqBMT0coV0FSTiwgIkNvdWxkIG5vdCBmaW5kIHVzZXIgJXMsIHN0 YXJ0aW5nIFFFTVUgYXMgcm9vdCIsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoExJQlhMX1FF TVVfVVNFUl9TSEFSRUQpOwo+ICsKPiArZW5kX3NlYXJjaDoKPiArwqDCoMKgwqDCoMKgwqDCoGlm ICh1c2VyICE9IE5VTEwgJiYgc3RyY21wKHVzZXIsICJyb290IikpIHsKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgZmxleGFycmF5X2FwcGVuZChkbV9hcmdzLCAiLXJ1bmFzIik7Cj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoGZsZXhhcnJheV9hcHBlbmQoZG1fYXJncywgdXNlcik7Cj4gK8Kg wqDCoMKgwqDCoMKgwqB9Cj4gwqDCoMKgwqDCoH0KPiDCoMKgwqDCoMKgZmxleGFycmF5X2FwcGVu ZChkbV9hcmdzLCBOVUxMKTsKPiDCoMKgwqDCoMKgKmFyZ3MgPSAoY2hhciAqKikgZmxleGFycmF5 X2NvbnRlbnRzKGRtX2FyZ3MpOwo+IGRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRl cm5hbC5oIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAo+IGluZGV4IGIwMGFkZDAuLjk1 MmI2NjggMTAwNjQ0Cj4gLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAo+ICsrKyBi L3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKPiBAQCAtNDAxOCw2ICs0MDE4LDExIEBAIHZv aWQgbGlieGxfX2JpdG1hcF9jb3B5X2Jlc3RfZWZmb3J0KGxpYnhsX19nYyAqZ2MsCj4gbGlieGxf Yml0bWFwICpkcHRyLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgY29uc3QgbGlieGxfYml0bWFwICpzcHRy KTsKPiDCoAo+IMKgaW50IGxpYnhsX19jb3VudF9waHlzaWNhbF9zb2NrZXRzKGxpYnhsX19nYyAq Z2MsIGludCAqc29ja2V0cyk7Cj4gKwo+ICsKPiArI2RlZmluZSBMSUJYTF9RRU1VX1VTRVJfUFJF RklYICJ4ZW4tcWVtdXVzZXIiCj4gKyNkZWZpbmUgTElCWExfUUVNVV9VU0VSX0JBU0XCoMKgwqBM SUJYTF9RRU1VX1VTRVJfUFJFRklYIi1kb21pZCIKPiArI2RlZmluZSBMSUJYTF9RRU1VX1VTRVJf U0hBUkVEIExJQlhMX1FFTVVfVVNFUl9QUkVGSVgiLXNoYXJlZCIKPiDCoCNlbmRpZgo+IMKgCj4g wqAvKgo+IGRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgYi90b29scy9s aWJ4bC9saWJ4bF90eXBlcy5pZGwKPiBpbmRleCA0ZDc4Zjg2Li42ODA4ZjJiIDEwMDY0NAo+IC0t LSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAo+ICsrKyBiL3Rvb2xzL2xpYnhsL2xpYnhs X3R5cGVzLmlkbAo+IEBAIC00NDAsNiArNDQwLDcgQEAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8g PQo+IFN0cnVjdCgiZG9tYWluX2J1aWxkX2luZm8iLFsKPiDCoMKgwqDCoMKgKCJkZXZpY2VfbW9k ZWwiLMKgwqDCoMKgwqBzdHJpbmcpLAo+IMKgwqDCoMKgwqAoImRldmljZV9tb2RlbF9zc2lkcmVm IiwgdWludDMyKSwKPiDCoMKgwqDCoMKgKCJkZXZpY2VfbW9kZWxfc3NpZF9sYWJlbCIsIHN0cmlu ZyksCj4gK8KgwqDCoMKgKCJkZXZpY2VfbW9kZWxfdXNlciIsIHN0cmluZyksCj4gwqAKPiDCoMKg wqDCoMKgIyBleHRyYSBwYXJhbWV0ZXJzIHBhc3MgZGlyZWN0bHkgdG8gcWVtdSwgTlVMTCB0ZXJt aW5hdGVkCj4gwqDCoMKgwqDCoCgiZXh0cmEiLMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGxpYnhs X3N0cmluZ19saXN0KSwKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jIGIv dG9vbHMvbGlieGwveGxfY21kaW1wbC5jCj4gaW5kZXggMDM0NDJlMS4uMmI2MzcxZCAxMDA2NDQK PiAtLS0gYS90b29scy9saWJ4bC94bF9jbWRpbXBsLmMKPiArKysgYi90b29scy9saWJ4bC94bF9j bWRpbXBsLmMKPiBAQCAtMjIwMSw2ICsyMjAxLDkgQEAgc2tpcF92ZmI6Cj4gwqDCoMKgwqDCoMKg wqDCoMKgeGx1X2NmZ19yZXBsYWNlX3N0cmluZyhjb25maWcsCj4gImRldmljZV9tb2RlbF9zdHVi ZG9tYWluX3NlY2xhYmVsIiwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgJmJfaW5mby0+ZGV2aWNlX21vZGVsX3NzaWRfbGFi ZWwsIDApOwo+IMKgCj4gK8KgwqDCoMKgeGx1X2NmZ19yZXBsYWNlX3N0cmluZyhjb25maWcsICJk ZXZpY2VfbW9kZWxfdXNlciIsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCZiX2luZm8tPmRldmljZV9tb2RlbF91c2VyLCAwKTsKPiArCj4g wqAjZGVmaW5lCj4gcGFyc2VfZXh0cmFfYXJncyh0eXBlKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBcCj4gwqDCoMKgwqDCoGUgPSB4bHVfY2ZnX2dldF9saXN0X2FzX3N0cmluZ19saXN0 KGNvbmZpZywKPiAiZGV2aWNlX21vZGVsX2FyZ3MiI3R5cGUsIFwKPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCZiX2luZm8tPmV4dHJhIyN0eXBlLAo+IDApO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFwKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94 ZW4tZGV2ZWwK