From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoffer Dall Subject: [PULL 08/13] KVM: arm: plug potential guest hardware debug leakage Date: Thu, 18 May 2017 11:47:17 +0200 Message-ID: <20170518094722.9926-9-cdall@linaro.org> References: <20170518094722.9926-1-cdall@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Christoffer Dall , kvm@vger.kernel.org, Marc Zyngier , stable@vger.kernel.org, Zhichao Huang , kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org To: Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= Return-path: In-Reply-To: <20170518094722.9926-1-cdall@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu List-Id: kvm.vger.kernel.org RnJvbTogWmhpY2hhbyBIdWFuZyA8emhpY2hhby5odWFuZ0BsaW5hcm8ub3JnPgoKSGFyZHdhcmUg ZGVidWdnaW5nIGluIGd1ZXN0cyBpcyBub3QgaW50ZXJjZXB0ZWQgY3VycmVudGx5LCBpdCBtZWFu cwp0aGF0IGEgbWFsaWNpb3VzIGd1ZXN0IGNhbiBicmluZyBkb3duIHRoZSBlbnRpcmUgbWFjaGlu ZSBieSB3cml0aW5nCnRvIHRoZSBkZWJ1ZyByZWdpc3RlcnMuCgpUaGlzIHBhdGNoIGVuYWJsZSB0 cmFwcGluZyBvZiBhbGwgZGVidWcgcmVnaXN0ZXJzLCBwcmV2ZW50aW5nIHRoZQpndWVzdHMgdG8g YWNjZXNzIHRoZSBkZWJ1ZyByZWdpc3RlcnMuIFRoaXMgaW5jbHVkZXMgYWNjZXNzIHRvIHRoZQpk ZWJ1ZyBtb2RlKERCR0RTQ1IpIGluIHRoZSBndWVzdCB3b3JsZCBhbGwgdGhlIHRpbWUgd2hpY2gg Y291bGQKb3RoZXJ3aXNlIG1lc3Mgd2l0aCB0aGUgaG9zdCBzdGF0ZS4gUmVhZHMgcmV0dXJuIDAg YW5kIHdyaXRlcyBhcmUKaWdub3JlZCAoUkFaX1dJKS4KClRoZSByZXN1bHQgaXMgdGhlIGd1ZXN0 IGNhbm5vdCBkZXRlY3QgYW55IHdvcmtpbmcgaGFyZHdhcmUgYmFzZWQgZGVidWcKc3VwcG9ydC4g QXMgZGVidWcgZXhjZXB0aW9ucyBhcmUgc3RpbGwgcm91dGVkIHRvIHRoZSBndWVzdCBub3JtYWwK ZGVidWcgdXNpbmcgc29mdHdhcmUgYmFzZWQgYnJlYWtwb2ludHMgc3RpbGwgd29ya3MuCgpUbyBz dXBwb3J0IGRlYnVnZ2luZyB1c2luZyBoYXJkd2FyZSByZWdpc3RlcnMgd2UgbmVlZCB0byBpbXBs ZW1lbnQgYQpkZWJ1ZyByZWdpc3RlciBhd2FyZSB3b3JsZCBzd2l0Y2ggYXMgd2VsbCBhcyBzcGVj aWFsIHRyYXBwaW5nIGZvcgpyZWdpc3RlcnMgdGhhdCBtYXkgYWZmZWN0IHRoZSBob3N0IHN0YXRl LgoKQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcKU2lnbmVkLW9mZi1ieTogWmhpY2hhbyBIdWFu ZyA8emhpY2hhby5odWFuZ0BsaW5hcm8ub3JnPgpTaWduZWQtb2ZmLWJ5OiBBbGV4IEJlbm7DqWUg PGFsZXguYmVubmVlQGxpbmFyby5vcmc+ClJldmlld2VkLWJ5OiBDaHJpc3RvZmZlciBEYWxsIDxj ZGFsbEBsaW5hcm8ub3JnPgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RvZmZlciBEYWxsIDxjZGFsbEBs aW5hcm8ub3JnPgotLS0KIGFyY2gvYXJtL2luY2x1ZGUvYXNtL2t2bV9jb3Byb2MuaCB8ICAzICst CiBhcmNoL2FybS9rdm0vY29wcm9jLmMgICAgICAgICAgICAgfCA3NyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0KIGFyY2gvYXJtL2t2bS9oYW5kbGVfZXhpdC5jICAgICAg ICB8ICA0ICstCiBhcmNoL2FybS9rdm0vaHlwL3N3aXRjaC5jICAgICAgICAgfCAgNCArLQogNCBm aWxlcyBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9hcmNoL2FybS9pbmNsdWRlL2FzbS9rdm1fY29wcm9jLmggYi9hcmNoL2FybS9pbmNsdWRl L2FzbS9rdm1fY29wcm9jLmgKaW5kZXggNDkxN2MyZi4uZTc0YWIwZiAxMDA2NDQKLS0tIGEvYXJj aC9hcm0vaW5jbHVkZS9hc20va3ZtX2NvcHJvYy5oCisrKyBiL2FyY2gvYXJtL2luY2x1ZGUvYXNt L2t2bV9jb3Byb2MuaApAQCAtMzEsNyArMzEsOCBAQCB2b2lkIGt2bV9yZWdpc3Rlcl90YXJnZXRf Y29wcm9jX3RhYmxlKHN0cnVjdCBrdm1fY29wcm9jX3RhcmdldF90YWJsZSAqdGFibGUpOwogaW50 IGt2bV9oYW5kbGVfY3AxMF9pZChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHN0cnVjdCBrdm1fcnVu ICpydW4pOwogaW50IGt2bV9oYW5kbGVfY3BfMF8xM19hY2Nlc3Moc3RydWN0IGt2bV92Y3B1ICp2 Y3B1LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKTsKIGludCBrdm1faGFuZGxlX2NwMTRfbG9hZF9zdG9y ZShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHN0cnVjdCBrdm1fcnVuICpydW4pOwotaW50IGt2bV9o YW5kbGVfY3AxNF9hY2Nlc3Moc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBzdHJ1Y3Qga3ZtX3J1biAq cnVuKTsKK2ludCBrdm1faGFuZGxlX2NwMTRfMzIoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBzdHJ1 Y3Qga3ZtX3J1biAqcnVuKTsKK2ludCBrdm1faGFuZGxlX2NwMTRfNjQoc3RydWN0IGt2bV92Y3B1 ICp2Y3B1LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKTsKIGludCBrdm1faGFuZGxlX2NwMTVfMzIoc3Ry dWN0IGt2bV92Y3B1ICp2Y3B1LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKTsKIGludCBrdm1faGFuZGxl X2NwMTVfNjQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKTsKIApk aWZmIC0tZ2l0IGEvYXJjaC9hcm0va3ZtL2NvcHJvYy5jIGIvYXJjaC9hcm0va3ZtL2NvcHJvYy5j CmluZGV4IGFjOGQzNmQuLjE0MDNmZmIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2t2bS9jb3Byb2Mu YworKysgYi9hcmNoL2FybS9rdm0vY29wcm9jLmMKQEAgLTExMiwxMiArMTEyLDYgQEAgaW50IGt2 bV9oYW5kbGVfY3AxNF9sb2FkX3N0b3JlKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgc3RydWN0IGt2 bV9ydW4gKnJ1bikKIAlyZXR1cm4gMTsKIH0KIAotaW50IGt2bV9oYW5kbGVfY3AxNF9hY2Nlc3Mo c3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKQotewotCWt2bV9pbmpl Y3RfdW5kZWZpbmVkKHZjcHUpOwotCXJldHVybiAxOwotfQotCiBzdGF0aWMgdm9pZCByZXNldF9t cGlkcihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIGNvbnN0IHN0cnVjdCBjb3Byb2NfcmVnICpyKQog ewogCS8qCkBAIC01MzMsMTIgKzUyNyw3IEBAIHN0YXRpYyBpbnQgZW11bGF0ZV9jcDE1KHN0cnVj dCBrdm1fdmNwdSAqdmNwdSwKIAlyZXR1cm4gMTsKIH0KIAotLyoqCi0gKiBrdm1faGFuZGxlX2Nw MTVfNjQgLS0gaGFuZGxlcyBhIG1ycmMvbWNyciB0cmFwIG9uIGEgZ3Vlc3QgQ1AxNSBhY2Nlc3MK LSAqIEB2Y3B1OiBUaGUgVkNQVSBwb2ludGVyCi0gKiBAcnVuOiAgVGhlIGt2bV9ydW4gc3RydWN0 Ci0gKi8KLWludCBrdm1faGFuZGxlX2NwMTVfNjQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBzdHJ1 Y3Qga3ZtX3J1biAqcnVuKQorc3RhdGljIHN0cnVjdCBjb3Byb2NfcGFyYW1zIGRlY29kZV82NGJp dF9oc3Ioc3RydWN0IGt2bV92Y3B1ICp2Y3B1KQogewogCXN0cnVjdCBjb3Byb2NfcGFyYW1zIHBh cmFtczsKIApAQCAtNTUyLDkgKzU0MSwzOCBAQCBpbnQga3ZtX2hhbmRsZV9jcDE1XzY0KHN0cnVj dCBrdm1fdmNwdSAqdmNwdSwgc3RydWN0IGt2bV9ydW4gKnJ1bikKIAlwYXJhbXMuUnQyID0gKGt2 bV92Y3B1X2dldF9oc3IodmNwdSkgPj4gMTApICYgMHhmOwogCXBhcmFtcy5DUm0gPSAwOwogCisJ cmV0dXJuIHBhcmFtczsKK30KKworLyoqCisgKiBrdm1faGFuZGxlX2NwMTVfNjQgLS0gaGFuZGxl cyBhIG1ycmMvbWNyciB0cmFwIG9uIGEgZ3Vlc3QgQ1AxNSBhY2Nlc3MKKyAqIEB2Y3B1OiBUaGUg VkNQVSBwb2ludGVyCisgKiBAcnVuOiAgVGhlIGt2bV9ydW4gc3RydWN0CisgKi8KK2ludCBrdm1f aGFuZGxlX2NwMTVfNjQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBzdHJ1Y3Qga3ZtX3J1biAqcnVu KQoreworCXN0cnVjdCBjb3Byb2NfcGFyYW1zIHBhcmFtcyA9IGRlY29kZV82NGJpdF9oc3IodmNw dSk7CisKIAlyZXR1cm4gZW11bGF0ZV9jcDE1KHZjcHUsICZwYXJhbXMpOwogfQogCisvKioKKyAq IGt2bV9oYW5kbGVfY3AxNF82NCAtLSBoYW5kbGVzIGEgbXJyYy9tY3JyIHRyYXAgb24gYSBndWVz dCBDUDE0IGFjY2VzcworICogQHZjcHU6IFRoZSBWQ1BVIHBvaW50ZXIKKyAqIEBydW46ICBUaGUg a3ZtX3J1biBzdHJ1Y3QKKyAqLworaW50IGt2bV9oYW5kbGVfY3AxNF82NChzdHJ1Y3Qga3ZtX3Zj cHUgKnZjcHUsIHN0cnVjdCBrdm1fcnVuICpydW4pCit7CisJc3RydWN0IGNvcHJvY19wYXJhbXMg cGFyYW1zID0gZGVjb2RlXzY0Yml0X2hzcih2Y3B1KTsKKworCS8qIHJhel93aSBjcDE0ICovCisJ cG1fZmFrZSh2Y3B1LCAmcGFyYW1zLCBOVUxMKTsKKworCS8qIGhhbmRsZWQgKi8KKwlrdm1fc2tp cF9pbnN0cih2Y3B1LCBrdm1fdmNwdV90cmFwX2lsX2lzMzJiaXQodmNwdSkpOworCXJldHVybiAx OworfQorCiBzdGF0aWMgdm9pZCByZXNldF9jb3Byb2NfcmVncyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZj cHUsCiAJCQkgICAgICBjb25zdCBzdHJ1Y3QgY29wcm9jX3JlZyAqdGFibGUsIHNpemVfdCBudW0p CiB7CkBAIC01NjUsMTIgKzU4Myw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0X2NvcHJvY19yZWdzKHN0 cnVjdCBrdm1fdmNwdSAqdmNwdSwKIAkJCXRhYmxlW2ldLnJlc2V0KHZjcHUsICZ0YWJsZVtpXSk7 CiB9CiAKLS8qKgotICoga3ZtX2hhbmRsZV9jcDE1XzMyIC0tIGhhbmRsZXMgYSBtcmMvbWNyIHRy YXAgb24gYSBndWVzdCBDUDE1IGFjY2VzcwotICogQHZjcHU6IFRoZSBWQ1BVIHBvaW50ZXIKLSAq IEBydW46ICBUaGUga3ZtX3J1biBzdHJ1Y3QKLSAqLwotaW50IGt2bV9oYW5kbGVfY3AxNV8zMihz dHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHN0cnVjdCBrdm1fcnVuICpydW4pCitzdGF0aWMgc3RydWN0 IGNvcHJvY19wYXJhbXMgZGVjb2RlXzMyYml0X2hzcihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCiB7 CiAJc3RydWN0IGNvcHJvY19wYXJhbXMgcGFyYW1zOwogCkBAIC01ODQsOSArNTk3LDM3IEBAIGlu dCBrdm1faGFuZGxlX2NwMTVfMzIoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBzdHJ1Y3Qga3ZtX3J1 biAqcnVuKQogCXBhcmFtcy5PcDIgPSAoa3ZtX3ZjcHVfZ2V0X2hzcih2Y3B1KSA+PiAxNykgJiAw eDc7CiAJcGFyYW1zLlJ0MiA9IDA7CiAKKwlyZXR1cm4gcGFyYW1zOworfQorCisvKioKKyAqIGt2 bV9oYW5kbGVfY3AxNV8zMiAtLSBoYW5kbGVzIGEgbXJjL21jciB0cmFwIG9uIGEgZ3Vlc3QgQ1Ax NSBhY2Nlc3MKKyAqIEB2Y3B1OiBUaGUgVkNQVSBwb2ludGVyCisgKiBAcnVuOiAgVGhlIGt2bV9y dW4gc3RydWN0CisgKi8KK2ludCBrdm1faGFuZGxlX2NwMTVfMzIoc3RydWN0IGt2bV92Y3B1ICp2 Y3B1LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKQoreworCXN0cnVjdCBjb3Byb2NfcGFyYW1zIHBhcmFt cyA9IGRlY29kZV8zMmJpdF9oc3IodmNwdSk7CiAJcmV0dXJuIGVtdWxhdGVfY3AxNSh2Y3B1LCAm cGFyYW1zKTsKIH0KIAorLyoqCisgKiBrdm1faGFuZGxlX2NwMTRfMzIgLS0gaGFuZGxlcyBhIG1y Yy9tY3IgdHJhcCBvbiBhIGd1ZXN0IENQMTQgYWNjZXNzCisgKiBAdmNwdTogVGhlIFZDUFUgcG9p bnRlcgorICogQHJ1bjogIFRoZSBrdm1fcnVuIHN0cnVjdAorICovCitpbnQga3ZtX2hhbmRsZV9j cDE0XzMyKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgc3RydWN0IGt2bV9ydW4gKnJ1bikKK3sKKwlz dHJ1Y3QgY29wcm9jX3BhcmFtcyBwYXJhbXMgPSBkZWNvZGVfMzJiaXRfaHNyKHZjcHUpOworCisJ LyogcmF6X3dpIGNwMTQgKi8KKwlwbV9mYWtlKHZjcHUsICZwYXJhbXMsIE5VTEwpOworCisJLyog aGFuZGxlZCAqLworCWt2bV9za2lwX2luc3RyKHZjcHUsIGt2bV92Y3B1X3RyYXBfaWxfaXMzMmJp dCh2Y3B1KSk7CisJcmV0dXJuIDE7Cit9CisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIFVz ZXJzcGFjZSBBUEkKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJt L2t2bS9oYW5kbGVfZXhpdC5jIGIvYXJjaC9hcm0va3ZtL2hhbmRsZV9leGl0LmMKaW5kZXggNWZk Nzk2OC4uZjg2YTlhYSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va3ZtL2hhbmRsZV9leGl0LmMKKysr IGIvYXJjaC9hcm0va3ZtL2hhbmRsZV9leGl0LmMKQEAgLTk1LDkgKzk1LDkgQEAgc3RhdGljIGV4 aXRfaGFuZGxlX2ZuIGFybV9leGl0X2hhbmRsZXJzW10gPSB7CiAJW0hTUl9FQ19XRkldCQk9IGt2 bV9oYW5kbGVfd2Z4LAogCVtIU1JfRUNfQ1AxNV8zMl0JPSBrdm1faGFuZGxlX2NwMTVfMzIsCiAJ W0hTUl9FQ19DUDE1XzY0XQk9IGt2bV9oYW5kbGVfY3AxNV82NCwKLQlbSFNSX0VDX0NQMTRfTVJd CT0ga3ZtX2hhbmRsZV9jcDE0X2FjY2VzcywKKwlbSFNSX0VDX0NQMTRfTVJdCT0ga3ZtX2hhbmRs ZV9jcDE0XzMyLAogCVtIU1JfRUNfQ1AxNF9MU10JPSBrdm1faGFuZGxlX2NwMTRfbG9hZF9zdG9y ZSwKLQlbSFNSX0VDX0NQMTRfNjRdCT0ga3ZtX2hhbmRsZV9jcDE0X2FjY2VzcywKKwlbSFNSX0VD X0NQMTRfNjRdCT0ga3ZtX2hhbmRsZV9jcDE0XzY0LAogCVtIU1JfRUNfQ1BfMF8xM10JPSBrdm1f aGFuZGxlX2NwXzBfMTNfYWNjZXNzLAogCVtIU1JfRUNfQ1AxMF9JRF0JPSBrdm1faGFuZGxlX2Nw MTBfaWQsCiAJW0hTUl9FQ19IVkNdCQk9IGhhbmRsZV9odmMsCmRpZmYgLS1naXQgYS9hcmNoL2Fy bS9rdm0vaHlwL3N3aXRjaC5jIGIvYXJjaC9hcm0va3ZtL2h5cC9zd2l0Y2guYwppbmRleCA5MjY3 OGI3Li42MjRhNTEwIDEwMDY0NAotLS0gYS9hcmNoL2FybS9rdm0vaHlwL3N3aXRjaC5jCisrKyBi L2FyY2gvYXJtL2t2bS9oeXAvc3dpdGNoLmMKQEAgLTQ4LDcgKzQ4LDkgQEAgc3RhdGljIHZvaWQg X19oeXBfdGV4dCBfX2FjdGl2YXRlX3RyYXBzKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgdTMyICpm cGV4Y19ob3N0KQogCXdyaXRlX3N5c3JlZyhIU1RSX1QoMTUpLCBIU1RSKTsKIAl3cml0ZV9zeXNy ZWcoSENQVFJfVFRBIHwgSENQVFJfVENQKDEwKSB8IEhDUFRSX1RDUCgxMSksIEhDUFRSKTsKIAl2 YWwgPSByZWFkX3N5c3JlZyhIRENSKTsKLQl3cml0ZV9zeXNyZWcodmFsIHwgSERDUl9UUE0gfCBI RENSX1RQTUNSLCBIRENSKTsKKwl2YWwgfD0gSERDUl9UUE0gfCBIRENSX1RQTUNSOyAvKiB0cmFw IHBlcmZvcm1hbmNlIG1vbml0b3JzICovCisJdmFsIHw9IEhEQ1JfVERSQSB8IEhEQ1JfVERPU0Eg fCBIRENSX1REQTsgLyogdHJhcCBkZWJ1ZyByZWdzICovCisJd3JpdGVfc3lzcmVnKHZhbCwgSERD Uik7CiB9CiAKIHN0YXRpYyB2b2lkIF9faHlwX3RleHQgX19kZWFjdGl2YXRlX3RyYXBzKHN0cnVj dCBrdm1fdmNwdSAqdmNwdSkKLS0gCjIuOS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwprdm1hcm0gbWFpbGluZyBsaXN0Cmt2bWFybUBsaXN0cy5jcy5j b2x1bWJpYS5lZHUKaHR0cHM6Ly9saXN0cy5jcy5jb2x1bWJpYS5lZHUvbWFpbG1hbi9saXN0aW5m by9rdm1hcm0K