Re: [PATCH v6 7/8] RISC-V: KVM: Add support for control-flow integrity FWFT features
Anup Patel <[email protected]> Wed, 29 Jul 2026 18:40:03 +0530
| Newsgroups | org.infradead.lists.kvm-riscv,org.infradead.lists.linux-riscv,org.kernel.vger.kvm,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest |
|---|---|
| Message-ID | <CAAhSdy2P3Fgfv3t9n=wNTfBL-63k+3qaDvsG1QWxtkWTFfvWvg@mail.gmail.com> |
T24gTW9uLCBKdWwgMTMsIDIwMjYgYXQgNjozNOKAr0FNIElub2NoaSBBbWFvdG8gPGlub2NoaWFt YUBnbWFpbC5jb20+IHdyb3RlOgo+Cj4gQ29udHJvbC1mbG93IGludGVncml0eSBpcyBjb250cm9s bGVkIHRocm91Z2ggYSBXQVJMIGZpZWxkIGluIGhlbnZjZmcuCj4gRXhwb3NlIHRoZSBmZWF0dXJl IG9ubHkgaWYgdGhlIFppY2ZpbHAvWmljZmlzcyBpcyBzdXBwb3J0ZWQgZm9yIFZTLW1vZGUuCj4g QWxsb3cgdGhlIFZNTSB0byBibG9jayBhY2Nlc3MgdG8gdGhlIGZlYXR1cmUgYnkgZGlzYWJsaW5n IHRoZSBJU0EKPiBleHRlbnNpb24gaW4gdGhlIGd1ZXN0Lgo+Cj4gQXNzaXN0ZWQtYnk6IFl1YW5T aGVuZzpjbGF1ZGUtNC43LW9wdXMKPiBDby1kZXZlbG9wZWQtYnk6IFF1YW4gWmhvdSA8emhvdXF1 YW5AaXNjYXMuYWMuY24+Cj4gU2lnbmVkLW9mZi1ieTogUXVhbiBaaG91IDx6aG91cXVhbkBpc2Nh cy5hYy5jbj4KPiBTaWduZWQtb2ZmLWJ5OiBJbm9jaGkgQW1hb3RvIDxpbm9jaGlhbWFAZ21haWwu Y29tPgoKTEdUTS4KClJldmlld2VkLWJ5OiBBbnVwIFBhdGVsIDxhbnVwQGJyYWluZmF1bHQub3Jn PgoKVGhhbmtzLApBbnVwCgo+IC0tLQo+ICBhcmNoL3Jpc2N2L2luY2x1ZGUvdWFwaS9hc20va3Zt LmggfCAgIDIgKwo+ICBhcmNoL3Jpc2N2L2t2bS92Y3B1X3NiaV9md2Z0LmMgICAgfCAxMDcgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDIgZmlsZXMgY2hhbmdlZCwgMTA5IGluc2Vy dGlvbnMoKykKPgo+IGRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2luY2x1ZGUvdWFwaS9hc20va3Zt LmggYi9hcmNoL3Jpc2N2L2luY2x1ZGUvdWFwaS9hc20va3ZtLmgKPiBpbmRleCBmZDRjODE2OTc2 MTcuLjIwZDk5NTljYTQ0ZiAxMDA2NDQKPiAtLS0gYS9hcmNoL3Jpc2N2L2luY2x1ZGUvdWFwaS9h c20va3ZtLmgKPiArKysgYi9hcmNoL3Jpc2N2L2luY2x1ZGUvdWFwaS9hc20va3ZtLmgKPiBAQCAt MjQ4LDYgKzI0OCw4IEBAIHN0cnVjdCBrdm1fcmlzY3Zfc2JpX2Z3ZnQgewo+ICAgICAgICAgc3Ry dWN0IGt2bV9yaXNjdl9zYmlfZndmdF9mZWF0dXJlIG1pc2FsaWduZWRfZGVsZWc7Cj4gICAgICAg ICBzdHJ1Y3Qga3ZtX3Jpc2N2X3NiaV9md2Z0X2ZlYXR1cmUgcG9pbnRlcl9tYXNraW5nOwo+ICAg ICAgICAgc3RydWN0IGt2bV9yaXNjdl9zYmlfZndmdF9mZWF0dXJlIHB0ZV9hZF9od191cGRhdGlu ZzsKPiArICAgICAgIHN0cnVjdCBrdm1fcmlzY3Zfc2JpX2Z3ZnRfZmVhdHVyZSBsYW5kaW5nX3Bh ZDsKPiArICAgICAgIHN0cnVjdCBrdm1fcmlzY3Zfc2JpX2Z3ZnRfZmVhdHVyZSBzaGFkb3dfc3Rh Y2s7Cj4gIH07Cj4KPiAgLyogSWYgeW91IG5lZWQgdG8gaW50ZXJwcmV0IHRoZSBpbmRleCB2YWx1 ZXMsIGhlcmUgaXMgdGhlIGtleTogKi8KPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rdm0vdmNw dV9zYmlfZndmdC5jIGIvYXJjaC9yaXNjdi9rdm0vdmNwdV9zYmlfZndmdC5jCj4gaW5kZXggNGQ0 NzRhNDM5YjI5Li4wMzE1M2ZkOGQxNWYgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9yaXNjdi9rdm0vdmNw dV9zYmlfZndmdC5jCj4gKysrIGIvYXJjaC9yaXNjdi9rdm0vdmNwdV9zYmlfZndmdC5jCj4gQEAg LTE3Niw2ICsxNzYsOTUgQEAgc3RhdGljIGxvbmcga3ZtX3NiaV9md2Z0X2dldF9taXNhbGlnbmVk X2RlbGVnYXRpb24oc3RydWN0IGt2bV92Y3B1ICp2Y3B1LAo+ICAgICAgICAgcmV0dXJuIFNCSV9T VUNDRVNTOwo+ICB9Cj4KPiArc3RhdGljIGxvbmcga3ZtX3NiaV9md2Z0X3NldF9jZmkoc3RydWN0 IGt2bV92Y3B1ICp2Y3B1LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBrdm1fc2JpX2Z3ZnRfY29uZmlnICpjb25mLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJvb2wgb25lX3JlZ19hY2Nlc3MsIHVuc2lnbmVkIGxvbmcgdmFsdWUsCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdTY0IGZsYWcpCj4gK3sKPiArICAgICAgIHN0cnVj dCBrdm1fdmNwdV9jb25maWcgKmNmZyA9ICZ2Y3B1LT5hcmNoLmNmZzsKPiArCj4gKyAgICAgICBp ZiAodmFsdWUgPT0gMCkKPiArICAgICAgICAgICAgICAgY2ZnLT5oZW52Y2ZnICY9IH5mbGFnOwo+ ICsgICAgICAgZWxzZSBpZiAodmFsdWUgPT0gMSkKPiArICAgICAgICAgICAgICAgY2ZnLT5oZW52 Y2ZnIHw9IGZsYWc7Cj4gKyAgICAgICBlbHNlCj4gKyAgICAgICAgICAgICAgIHJldHVybiBTQklf RVJSX0lOVkFMSURfUEFSQU07Cj4gKwo+ICsgICAgICAgaWYgKGNmZy0+aGVudmNmZyAmIChFTlZD RkdfTFBFIHwgRU5WQ0ZHX1NTRSkpCj4gKyAgICAgICAgICAgICAgIGNmZy0+aGVkZWxlZyB8PSBC SVQoRVhDX1NPRlRXQVJFX0NIRUNLKTsKPiArICAgICAgIGVsc2UKPiArICAgICAgICAgICAgICAg Y2ZnLT5oZWRlbGVnICY9IH5CSVQoRVhDX1NPRlRXQVJFX0NIRUNLKTsKPiArCj4gKyAgICAgICBp ZiAoIW9uZV9yZWdfYWNjZXNzKSB7Cj4gKyAgICAgICAgICAgICAgIGNzcl93cml0ZShDU1JfSEVE RUxFRywgY2ZnLT5oZWRlbGVnKTsKPiArICAgICAgICAgICAgICAgLyoKPiArICAgICAgICAgICAg ICAgICogQm90aCBCaXQgTFBFIGFuZCBTU0UgYXJlIGluIHRoZSBsb3dlciBwYXJ0LCBzbyBpdCBp cyBzYWZlCj4gKyAgICAgICAgICAgICAgICAqIHRvIG9ubHkgd3JpdGUgdGhlIGhlbnZjZmcKPiAr ICAgICAgICAgICAgICAgICovCj4gKyAgICAgICAgICAgICAgIGNzcl93cml0ZShDU1JfSEVOVkNG RywgdmNwdS0+YXJjaC5jZmcuaGVudmNmZyk7Cj4gKyAgICAgICB9Cj4gKwo+ICsgICAgICAgcmV0 dXJuIFNCSV9TVUNDRVNTOwo+ICt9Cj4gKwo+ICtzdGF0aWMgYm9vbCBrdm1fc2JpX2Z3ZnRfbGFu ZGluZ19wYWRfc3VwcG9ydGVkKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKPiArewo+ICsgICAgICAg cmV0dXJuIHJpc2N2X2lzYV9leHRlbnNpb25fYXZhaWxhYmxlKHZjcHUtPmFyY2guaXNhLCBaSUNG SUxQKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQga3ZtX3NiaV9md2Z0X3Jlc2V0X2xhbmRpbmdf cGFkKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKPiArewo+ICsgICAgICAgc3RydWN0IGt2bV92Y3B1 X2NvbmZpZyAqY2ZnID0gJnZjcHUtPmFyY2guY2ZnOwo+ICsKPiArICAgICAgIGt2bV9zYmlfZndm dF9lbnZfZmxhZ19yZXNldF9oZWxwZXIodmNwdSwgRU5WQ0ZHX0xQRSk7Cj4gKyAgICAgICBpZiAo KGNmZy0+aGVudmNmZyAmIChFTlZDRkdfTFBFIHwgRU5WQ0ZHX1NTRSkpID09IDApCj4gKyAgICAg ICAgICAgICAgIGNmZy0+aGVkZWxlZyAmPSB+QklUKEVYQ19TT0ZUV0FSRV9DSEVDSyk7Cj4gK30K PiArCj4gK3N0YXRpYyBsb25nIGt2bV9zYmlfZndmdF9zZXRfbGFuZGluZ19wYWQoc3RydWN0IGt2 bV92Y3B1ICp2Y3B1LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IGt2bV9zYmlfZndmdF9jb25maWcgKmNvbmYsCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBib29sIG9uZV9yZWdfYWNjZXNzLCB1bnNpZ25lZCBsb25nIHZh bHVlKQo+ICt7Cj4gKyAgICAgICByZXR1cm4ga3ZtX3NiaV9md2Z0X3NldF9jZmkodmNwdSwgY29u Ziwgb25lX3JlZ19hY2Nlc3MsIHZhbHVlLCBFTlZDRkdfTFBFKTsKPiArfQo+ICsKPiArc3RhdGlj IGxvbmcga3ZtX3NiaV9md2Z0X2dldF9sYW5kaW5nX3BhZChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUs Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qga3ZtX3Ni aV9md2Z0X2NvbmZpZyAqY29uZiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJvb2wgb25lX3JlZ19hY2Nlc3MsIHVuc2lnbmVkIGxvbmcgKnZhbHVlKQo+ICt7Cj4g KyAgICAgICByZXR1cm4ga3ZtX3NiaV9md2Z0X2Vudl9mbGFnX2dldF9oZWxwZXIodmNwdSwgY29u Ziwgb25lX3JlZ19hY2Nlc3MsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdmFsdWUsIEVOVkNGR19MUEUpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgYm9vbCBr dm1fc2JpX2Z3ZnRfc2hhZG93X3N0YWNrX3N1cHBvcnRlZChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUp Cj4gK3sKPiArICAgICAgIHJldHVybiByaXNjdl9pc2FfZXh0ZW5zaW9uX2F2YWlsYWJsZSh2Y3B1 LT5hcmNoLmlzYSwgWklDRklTUyk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGt2bV9zYmlfZndm dF9yZXNldF9zaGFkb3dfc3RhY2soc3RydWN0IGt2bV92Y3B1ICp2Y3B1KQo+ICt7Cj4gKyAgICAg ICBzdHJ1Y3Qga3ZtX3ZjcHVfY29uZmlnICpjZmcgPSAmdmNwdS0+YXJjaC5jZmc7Cj4gKwo+ICsg ICAgICAga3ZtX3NiaV9md2Z0X2Vudl9mbGFnX3Jlc2V0X2hlbHBlcih2Y3B1LCBFTlZDRkdfU1NF KTsKPiArICAgICAgIGlmICgoY2ZnLT5oZW52Y2ZnICYgKEVOVkNGR19MUEUgfCBFTlZDRkdfU1NF KSkgPT0gMCkKPiArICAgICAgICAgICAgICAgY2ZnLT5oZWRlbGVnICY9IH5CSVQoRVhDX1NPRlRX QVJFX0NIRUNLKTsKPiArfQo+ICsKPiArc3RhdGljIGxvbmcga3ZtX3NiaV9md2Z0X3NldF9zaGFk b3dfc3RhY2soc3RydWN0IGt2bV92Y3B1ICp2Y3B1LAo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrdm1fc2JpX2Z3ZnRfY29uZmlnICpjb25mLAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgb25lX3JlZ19hY2Nl c3MsIHVuc2lnbmVkIGxvbmcgdmFsdWUpCj4gK3sKPiArICAgICAgIHJldHVybiBrdm1fc2JpX2Z3 ZnRfc2V0X2NmaSh2Y3B1LCBjb25mLCBvbmVfcmVnX2FjY2VzcywgdmFsdWUsIEVOVkNGR19TU0Up Owo+ICt9Cj4gKwo+ICtzdGF0aWMgbG9uZyBrdm1fc2JpX2Z3ZnRfZ2V0X3NoYWRvd19zdGFjayhz dHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IGt2bV9zYmlfZndmdF9jb25maWcgKmNvbmYsCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBvbmVfcmVnX2FjY2VzcywgdW5zaWdu ZWQgbG9uZyAqdmFsdWUpCj4gK3sKPiArICAgICAgIHJldHVybiBrdm1fc2JpX2Z3ZnRfZW52X2Zs YWdfZ2V0X2hlbHBlcih2Y3B1LCBjb25mLCBvbmVfcmVnX2FjY2VzcywKPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwgRU5WQ0ZHX1NTRSk7Cj4g K30KPiArCj4gIHN0YXRpYyBib29sIGt2bV9zYmlfZndmdF9wdGVfYWRfaHdfdXBkYXRpbmdfc3Vw cG9ydGVkKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKPiAgewo+ICAgICAgICAgcmV0dXJuIHJpc2N2 X2lzYV9leHRlbnNpb25fYXZhaWxhYmxlKHZjcHUtPmFyY2guaXNhLCBTVkFEVSkgJiYKPiBAQCAt MzEzLDYgKzQwMiwyNCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGt2bV9zYmlfZndmdF9mZWF0dXJl IGZlYXR1cmVzW10gPSB7Cj4gICAgICAgICAgICAgICAgIC5zZXQgPSBrdm1fc2JpX2Z3ZnRfc2V0 X21pc2FsaWduZWRfZGVsZWdhdGlvbiwKPiAgICAgICAgICAgICAgICAgLmdldCA9IGt2bV9zYmlf ZndmdF9nZXRfbWlzYWxpZ25lZF9kZWxlZ2F0aW9uLAo+ICAgICAgICAgfSwKPiArICAgICAgIHsK PiArICAgICAgICAgICAgICAgLmlkID0gU0JJX0ZXRlRfTEFORElOR19QQUQsCj4gKyAgICAgICAg ICAgICAgIC5maXJzdF9yZWdfbnVtID0gb2Zmc2V0b2Yoc3RydWN0IGt2bV9yaXNjdl9zYmlfZndm dCwgbGFuZGluZ19wYWQuZW5hYmxlKSAvCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2l6ZW9mKHVuc2lnbmVkIGxvbmcpLAo+ICsgICAgICAgICAgICAgICAuc3VwcG9ydGVkID0g a3ZtX3NiaV9md2Z0X2xhbmRpbmdfcGFkX3N1cHBvcnRlZCwKPiArICAgICAgICAgICAgICAgLnJl c2V0ID0ga3ZtX3NiaV9md2Z0X3Jlc2V0X2xhbmRpbmdfcGFkLAo+ICsgICAgICAgICAgICAgICAu c2V0ID0ga3ZtX3NiaV9md2Z0X3NldF9sYW5kaW5nX3BhZCwKPiArICAgICAgICAgICAgICAgLmdl dCA9IGt2bV9zYmlfZndmdF9nZXRfbGFuZGluZ19wYWQsCj4gKyAgICAgICB9LAo+ICsgICAgICAg ewo+ICsgICAgICAgICAgICAgICAuaWQgPSBTQklfRldGVF9TSEFET1dfU1RBQ0ssCj4gKyAgICAg ICAgICAgICAgIC5maXJzdF9yZWdfbnVtID0gb2Zmc2V0b2Yoc3RydWN0IGt2bV9yaXNjdl9zYmlf ZndmdCwgc2hhZG93X3N0YWNrLmVuYWJsZSkgLwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNpemVvZih1bnNpZ25lZCBsb25nKSwKPiArICAgICAgICAgICAgICAgLnN1cHBvcnRl ZCA9IGt2bV9zYmlfZndmdF9zaGFkb3dfc3RhY2tfc3VwcG9ydGVkLAo+ICsgICAgICAgICAgICAg ICAucmVzZXQgPSBrdm1fc2JpX2Z3ZnRfcmVzZXRfc2hhZG93X3N0YWNrLAo+ICsgICAgICAgICAg ICAgICAuc2V0ID0ga3ZtX3NiaV9md2Z0X3NldF9zaGFkb3dfc3RhY2ssCj4gKyAgICAgICAgICAg ICAgIC5nZXQgPSBrdm1fc2JpX2Z3ZnRfZ2V0X3NoYWRvd19zdGFjaywKPiArICAgICAgIH0sCj4g ICAgICAgICB7Cj4gICAgICAgICAgICAgICAgIC5pZCA9IFNCSV9GV0ZUX1BURV9BRF9IV19VUERB VElORywKPiAgICAgICAgICAgICAgICAgLmZpcnN0X3JlZ19udW0gPSBvZmZzZXRvZihzdHJ1Y3Qg a3ZtX3Jpc2N2X3NiaV9md2Z0LCBwdGVfYWRfaHdfdXBkYXRpbmcuZW5hYmxlKSAvCj4gLS0KPiAy LjU1LjAKPgoKLS0gCmt2bS1yaXNjdiBtYWlsaW5nIGxpc3QKa3ZtLXJpc2N2QGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9rdm0t cmlzY3YK