RE: [PATCH v2] virtio-blk: Add inline encryption support

Sebastian Mauritsson <[email protected]> Thu, 19 Feb 2026 14:35:51 +0000
Newsgroups dev.linux.lists.virtio-dev
Message-ID <VI0P190MB2641340DAF4AA5886D58B629CE6BA@VI0P190MB2641.EURP190.PROD.OUTLOOK.COM>
SSB1bmRlcnN0YW5kIHRoZXJlIG1pZ2h0IGJlIGNvbXBhdGliaWxpdHkgY29uc2lkZXJhdGlvbnMs
IGJ1dCBJJ20gd29uZGVyaW5nIHRoZSBleGFjdCByZWFzb24gZm9yIG1ha2luZyBDUllQVE9fQUxH
X0FFU19FQ0IgYW4gb3B0aW9uPyBUaGlzIGRvZXMgbm90IHVzZSBhbiBJViBhbmQgaXMgdW5zdWl0
YWJsZSBmb3IgYW55dGhpbmcgb3RoZXIgdGhhbiBzaW5nbGUtdXNlICYgc2luZ2xlLWJsb2NrIGVu
Y3J5cHRpb24uDQoNCkJlc3QgcmVnYXJkcywgU2ViYXN0aWFuDQoNCj4gLS0tLS1PcmlnaW5hbCBN
ZXNzYWdlLS0tLS0NCj4gRnJvbTogTGlubGluIFpoYW5nIDxxdWljX2xpbmx6aGFuQHF1aWNpbmMu
Y29tPg0KPiBTZW50OiBGcmlkYXksIEZlYnJ1YXJ5IDYsIDIwMjYgNjoxMiBQTQ0KPiBUbzogdmly
dGlvLWRldkBsaXN0cy5saW51eC5kZXY7IHN0ZWZhbmhhQHJlZGhhdC5jb20NCj4gQ2M6IHF1aWNf
ZHNoYWlraHVAcXVpY2luYy5jb20NCj4gU3ViamVjdDogW1BBVENIIHYyXSB2aXJ0aW8tYmxrOiBB
ZGQgaW5saW5lIGVuY3J5cHRpb24gc3VwcG9ydA0KPg0KPiBGcm9tOiBsaW5semhhbiA8cXVpY19s
aW5semhhbkBxdWljaW5jLmNvbT4NCj4NCj4gSW5saW5lIGVuY3J5cHRpb24gb24gdmlydGlvIGJs
b2NrIGNhbiBvbmx5IGJlIHN1cHBvcnRlZCB3aGVuIHRoZSBuZXcgZmVhdHVyZQ0KPiBiaXQgVklS
VElPX0JMS19GX0lDRSBpcyBuZWdvdGlhdGVkLg0KPg0KPiBFeHRlbmQgc3RydWN0IHZpcnRpb19i
bGtfY29uZmlnIGFuZCBzdHJ1Y3QgdmlydGlvX2Jsa19yZXEsIHNvIHRoYXQgY3J5cHRvDQo+IGNh
cGFiaWxpdGllcyBjYW4gYmUgZ290IGluIHRoZSBmcm9udGVuZCBhbmQgZW5jcnlwdGlvbiBtZXRh
ZGF0YSBjYW4gYmUgc2VudA0KPiB0byB0aGUgYmFja2VuZCwgdG9nZXRoZXIgd2l0aCBlYWNoIEkv
TyB0cmFuc2FjdGlvbi4NCj4NCj4gQWJvdXQgdGhlIGlubGluZSBlbmNyeXB0aW9uIG9uIFVGUyBv
ciBlTU1DIHN0b3JhZ2UsIHBsZWFzZSByZWZlciB0byB0aGUNCj4gTGludXggaW5saW5lIGVuY3J5
cHRpb24gZG9jdW1lbnRhdGlvbjoNCj4gaHR0cHM6Ly9saW5rcHJvdGVjdC5jdWRhc3ZjLmNvbS91
cmw/YT1odHRwcyUzYSUyZiUyZmdpdC5rZXJuZWwub3JnJTJmcHViDQo+ICUyZnNjbSUyZmxpbnV4
JTJma2VybmVsJTJmZ2l0JTJmdG9ydmFsZHMlMmZsaW51eC5naXQlMmZ0cmVlJTJmRG9jdW1lbg0K
PiB0YXRpb24lMmZibG9jayUyZmlubGluZS1lbmNyeXB0aW9uLnJzdCZjPUUsMSxuaEwzek14WXd4
dUZQNFFROFNMaExqei0NCj4gTVl3UTNSR0QtUFlYVTcxdWhDLU9CbnhEZWFlZlZ5RFlRSDFBMEt2
WDcwVEhYZmwtU1dqai0NCj4gSmNEbnRHR2llM2JTVE5BcmkwSDRfMEN0Q3FVM2t5Q1dSb0RnMV9O
JnR5cG89MQ0KPg0KPiBGaXhlczogaHR0cHM6Ly9naXRodWIuY29tL29hc2lzLXRjcy92aXJ0aW8t
c3BlYy9pc3N1ZXMvMjM4DQo+IFJldmlld2VkLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhh
QHJlZGhhdC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IGxpbmx6aGFuIDxxdWljX2xpbmx6aGFuQHF1
aWNpbmMuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBMaW5saW4gWmhhbmcgPGxpbmxpbi56aGFuZ0Bv
c3MucXVhbGNvbW0uY29tPg0KPiAtLS0NCj4NCj4gY2hhbmdlcyBmcm9tIHYyOg0KPiAgLSBBZGQg
aW5saW5lIGVuY3J5cHRpb24gbGluayBpbiBjb21taXQgbWVzc2FnZSBmb3IgYSBiZXR0ZXINCj4g
ICAgYmFja2dyb25kIGRlc2NyeXB0aW9uDQo+ICAtIEFkZCBzdWZmaWNpZW50IGRlc2NyeXB0aW9u
IGZvciB0aGUgZmllbGRzIG9mIGNyeXB0bw0KPiAgICBjYXBhYmlsaXR5DQo+ICAtIERlbGV0ZSBj
cnlwdG8gY2FwYWJpbGl0eSBpbiBjb25maWd1cmF0aW9uIGxheW91dCwgaW5zdGVhZA0KPiAgICBh
ZGQgYSBuZXcgcmVxdWVzdCBjb21tYW5kIHRvIGdldCBpdA0KPiAgLSBDb3JyZWN0IHRoZSB0ZXJt
aW5vbG9neSBpbiBub24tbm9ybWF0aXZlIGFuZCBub3JtYXRpdmUNCj4gICAgc2VjdGlvbnMNCj4g
IC0gQ29ycmVjdCB0aGUgbWFpbCBmb3Igb3BlbiBzb3VyY2UgdXBzdHJlYW0NCj4gLS0tDQo+DQo+
ICBkZXZpY2UtdHlwZXMvYmxrL2Rlc2NyaXB0aW9uLnRleCB8IDExMCArKysrKysrKysrKysrKysr
KysrKysrKysrKysrKystDQo+ICAxIGZpbGUgY2hhbmdlZCwgMTA4IGluc2VydGlvbnMoKyksIDIg
ZGVsZXRpb25zKC0pDQo+DQo+IGRpZmYgLS1naXQgYS9kZXZpY2UtdHlwZXMvYmxrL2Rlc2NyaXB0
aW9uLnRleCBiL2RldmljZS0NCj4gdHlwZXMvYmxrL2Rlc2NyaXB0aW9uLnRleA0KPiBpbmRleCAy
NzEyYWRhLi42MGY0NmFmIDEwMDY0NA0KPiAtLS0gYS9kZXZpY2UtdHlwZXMvYmxrL2Rlc2NyaXB0
aW9uLnRleA0KPiArKysgYi9kZXZpY2UtdHlwZXMvYmxrL2Rlc2NyaXB0aW9uLnRleA0KPiBAQCAt
NjYsNiArNjYsMTEgQEAgXHN1YnNlY3Rpb257RmVhdHVyZSBiaXRzfVxsYWJlbHtzZWM6RGV2aWNl
IFR5cGVzIC8NCj4gQmxvY2sgRGV2aWNlIC8gRmVhdHVyZSBiaXRzfQ0KPiAgICAgICAoWk5TKS4g
Rm9yIGJyZXZpdHksIHRoZXNlIHN0YW5kYXJkIGRvY3VtZW50cyBhcmUgcmVmZXJyZWQgYXMgIlpC
RA0KPiBzdGFuZGFyZHMiDQo+ICAgICAgIGZyb20gdGhpcyBwb2ludCBvbiBpbiB0aGUgdGV4dC4N
Cj4NCj4gK1xpdGVtW1ZJUlRJT19CTEtfRl9JQ0UoMjIpXSBJbmxpbmUgQ3J5cHRvIEV4dGVuc2lv
bnMgYXJlIHN1cHBvcnRlZC4gT25seQ0KPiB3aGVuIHRoaXMNCj4gKyAgICAgZmVhdHVyZSBiaXQg
aXMgbmVnb3RpYXRlZCwgdGhlIGRldmljZSBuZWVkIGV4cG9zZSBjcnlwdG8gY2hhcmFjdGVyaXN0
aWNzIGluDQo+ICsgICAgIGNvbmZpZ3VyYXRpb24gc3BhY2UgYW5kIHRoZSBkcml2ZXIgbmVlZCBw
cm92aWRlIGFuIGV4dGVuZGVkIHJlcXVlc3QNCj4gaGVhZGVyDQo+ICsgICAgIGNvbnRhaW5pbmcg
YSBjcnlwdG8gcGF5bG9hZCBmb3IgYmxvY2sgSS9PLg0KPiArDQo+ICBcZW5ke2Rlc2NyaXB0aW9u
fQ0KPg0KPiAgXHN1YnN1YnNlY3Rpb257TGVnYWN5IEludGVyZmFjZTogRmVhdHVyZSBiaXRzfVxs
YWJlbHtzZWM6RGV2aWNlIFR5cGVzIC8gQmxvY2sNCj4gRGV2aWNlIC8gRmVhdHVyZSBiaXRzIC8g
TGVnYWN5IEludGVyZmFjZTogRmVhdHVyZSBiaXRzfSBAQCAtMTI4LDYgKzEzMywxMCBAQA0KPiBc
c3Vic2VjdGlvbntEZXZpY2UgY29uZmlndXJhdGlvbiBsYXlvdXR9XGxhYmVse3NlYzpEZXZpY2Ug
VHlwZXMgLyBCbG9jaw0KPiBEZXZpY2UgLw0KPiAgICAgICAgICAgICAgICAgIHU4IG1vZGVsOw0K
PiAgICAgICAgICAgICAgICAgIHU4IHVudXNlZDJbM107DQo+ICAgICAgICAgIH0gem9uZWQ7DQo+
ICsgICAgICAgIHN0cnVjdCB2aXJ0aW9fYmxrX2NyeXB0b19jaGFyYWN0ZXJpc3RpY3Mgew0KPiAr
ICAgICAgICAgICAgICAgIF9fdmlydGlvMTYgc2xvdF9pbmZvOw0KPiArICAgICAgICAgICAgICAg
IF9fdmlydGlvMTYgcmVzZXJ2ZWQ7DQo+ICsgICAgICAgIH0gY3J5cHRvOw0KPiAgfTsNCj4gIFxl
bmR7bHN0bGlzdGluZ30NCj4NCj4gQEAgLTIxNSw2ICsyMjQsMTggQEAgXHN1YnNlY3Rpb257RGV2
aWNlIGNvbmZpZ3VyYXRpb24NCj4gbGF5b3V0fVxsYWJlbHtzZWM6RGV2aWNlIFR5cGVzIC8gQmxv
Y2sgRGV2aWNlIC8gIHRlcm1pbmF0ZWQgYnkgdGhlIGRldmljZSB3aXRoDQo+IGEgInpvbmUgcmVz
b3VyY2VzIGV4Y2VlZGVkIiBlcnJvciBhcyBkZWZpbmVkIGZvciAgc3BlY2lmaWMgY29tbWFuZHMg
bGF0ZXIuDQo+DQo+ICtJZiB0aGUgVklSVElPX0JMS19GX0lDRSBmZWF0dXJlIGlzIG5lZ290aWF0
ZWQsIHRoZW4gaW4NCj4gK1xmaWVsZHt2aXJ0aW9fYmxrX2NyeXB0b19jaGFyYWN0ZXJpc3RpY3N9
LA0KPiArXGJlZ2lue2l0ZW1pemV9DQo+ICtcaXRlbSBcZmllbGR7c2xvdF9pbmZvfSB2YWx1ZSBw
YWNrcyB0d28gOC1iaXRzIHZhbHVlcyB0byByZWR1Y2UgdGhlIG51bWJlciBvZg0KPiArICAgIENv
bmZpZ3VyYXRpb24gU3BhY2UgcmVhZHMuDQo+ICsgICAgXGJlZ2lue2l0ZW1pemV9DQo+ICsgICAg
ICAgIFxpdGVtIEJpdHN+XFsxNTo4XSAoXGVtcGh7bWF4XF9zbG90c30pOiB0aGUgbWF4aW11bSBu
dW1iZXIgb2YNCj4gc3VwcG9ydGVkDQo+ICsgICAgICAgICAgICBjcnlwdG8ga2V5IHNsb3RzLg0K
PiArICAgICAgICBcaXRlbSBCaXRzflxbNzowXSAoXGVtcGh7c2xvdFxfb2Zmc2V0fSk6IGFuIG9m
ZnNldCBhcHBsaWVkIHRvIHNsb3QNCj4gbnVtYmVyaW5nLg0KPiArICAgIFxlbmR7aXRlbWl6ZX0N
Cj4gK1xlbmR7aXRlbWl6ZX0NCj4gKw0KPiAgXHN1YnN1YnNlY3Rpb257TGVnYWN5IEludGVyZmFj
ZTogRGV2aWNlIGNvbmZpZ3VyYXRpb24NCj4gbGF5b3V0fVxsYWJlbHtzZWM6RGV2aWNlIFR5cGVz
IC8gQmxvY2sgRGV2aWNlIC8gRGV2aWNlIGNvbmZpZ3VyYXRpb24gbGF5b3V0IC8NCj4gTGVnYWN5
IEludGVyZmFjZTogRGV2aWNlIGNvbmZpZ3VyYXRpb24gbGF5b3V0fSAgV2hlbiB1c2luZyB0aGUg
bGVnYWN5DQo+IGludGVyZmFjZSwgdHJhbnNpdGlvbmFsIGRldmljZXMgYW5kIGRyaXZlcnMgIE1V
U1QgZm9ybWF0IHRoZSBmaWVsZHMgaW4gc3RydWN0DQo+IHZpcnRpb19ibGtfY29uZmlnIEBAIC0y
NzgsNiArMjk5LDEwIEBAIFxzdWJzZWN0aW9ue0RldmljZQ0KPiBJbml0aWFsaXphdGlvbn1cbGFi
ZWx7c2VjOkRldmljZSBUeXBlcyAvIEJsb2NrIERldmljZSAvIERldmljDQo+ICAgICAgXGZpZWxk
e3pvbmVkfSBjYW4gYmUgcmVhZCBieSB0aGUgZHJpdmVyIHRvIGRldGVybWluZSB0aGUgem9uZQ0K
PiAgICAgIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgZGV2aWNlLiBBbGwgXGZpZWxke3pvbmVkfSBm
aWVsZHMgYXJlIHJlYWQtb25seS4NCj4NCj4gK1xpdGVtIElmIHRoZSBWSVJUSU9fQkxLX0ZfSUNF
IGZlYXR1cmUgaXMgbmVnb3RpYXRlZCwgdGhlIGZpZWxkcyBpbg0KPiArICAgIFxmaWVsZHtjcnlw
dG99IGNhbiBiZSByZWFkIGJ5IHRoZSBkcml2ZXIgdG8gZGV0ZXJtaW5lIHRoZSBpbmxpbmUgY3J5
cHRvDQo+ICsgICAgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSBkZXZpY2UuIEFsbCBcZmllbGR7Y3J5
cHRvfSBmaWVsZHMgYXJlIHJlYWQtb25seS4NCj4gKw0KPiAgXGVuZHtlbnVtZXJhdGV9DQo+DQo+
ICBcZHJpdmVybm9ybWF0aXZle1xzdWJzdWJzZWN0aW9ufXtEZXZpY2UgSW5pdGlhbGl6YXRpb259
e0RldmljZSBUeXBlcyAvIEJsb2NrDQo+IERldmljZSAvIERldmljZSBJbml0aWFsaXphdGlvbn0g
QEAgLTMxNyw2ICszNDIsOSBAQCBcc3Vic2VjdGlvbntEZXZpY2UNCj4gSW5pdGlhbGl6YXRpb259
XGxhYmVse3NlYzpEZXZpY2UgVHlwZXMgLyBCbG9jayBEZXZpY2UgLyBEZXZpYw0KPiAgICAgIGRy
aXZlciBTSE9VTEQgaWdub3JlIGFsbCBvdGhlciBmaWVsZHMgaW4gXGZpZWxke3pvbmVkfS4NCj4g
IFxlbmR7aXRlbWl6ZX0NCj4NCj4gK0lmIHRoZSBWSVJUSU9fQkxLX0ZfSUNFIGZlYXR1cmUgaXMg
bmVnb3RpYXRlZCwgdGhlbiB0aGUgZHJpdmVyIE1VU1QNCj4gdmFsaWRhdGUNCj4gKyAgICB0aGUg
bWF4X3Nsb3RzIGluIFxmaWVsZHtzbG90X2luZm99IGJlZm9yZSB0aGUgc2xvdCB1c2FnZS4NCj4g
Kw0KPiAgXGRldmljZW5vcm1hdGl2ZXtcc3Vic3Vic2VjdGlvbn17RGV2aWNlIEluaXRpYWxpemF0
aW9ufXtEZXZpY2UgVHlwZXMgLyBCbG9jaw0KPiBEZXZpY2UgLyBEZXZpY2UgSW5pdGlhbGl6YXRp
b259DQo+DQo+ICBEZXZpY2VzIFNIT1VMRCBhbHdheXMgb2ZmZXIgVklSVElPX0JMS19GX0ZMVVNI
LCBhbmQgTVVTVCBvZmZlciBpdCBAQCAtDQo+IDQwMiw2ICs0MzAsMTMgQEAgXHN1YnNlY3Rpb257
RGV2aWNlIEluaXRpYWxpemF0aW9ufVxsYWJlbHtzZWM6RGV2aWNlIFR5cGVzIC8NCj4gQmxvY2sg
RGV2aWNlIC8gRGV2aWMgIFxpdGVtIHRoZSBkZXZpY2UgTVVTVCBpbml0aWFsaXplIHBhZGRpbmcg
Ynl0ZXMNCj4gXGZpZWxke3VudXNlZDJ9IHRvIDAuDQo+ICBcZW5ke2l0ZW1pemV9DQo+DQo+ICtJ
ZiB0aGUgVklSVElPX0JMS19GX0lDRSBmZWF0dXJlIGlzIG5lZ290aWF0ZWQsIHRoZW4gdGhlIGZp
ZWxkcyBpbg0KPiArXGZpZWxke2NyeXB0b30gc3RydWN0IGluIHRoZSBjb25maWd1cmF0aW9uIHNw
YWNlIE1VU1QgYmUgc2V0IGJ5IHRoZSBkZXZpY2UuDQo+ICtcYmVnaW57aXRlbWl6ZX0NCj4gK1xp
dGVtIHRoZSBcZmllbGR7c2xvdF9pbmZvfSBmaWVsZCBvZiBcZmllbGR7Y3J5cHRvfSBNVVNUIGJl
IHNldCBieSB0aGUgZGV2aWNlIHRvDQo+IGENCj4gKyAgICBtYXhfc2xvdHMgaW4gdGhlIGhpZ2hl
ciA4IGJpdHMgYW5kIHNsb3Rfb2Zmc2V0IGluIHRoZSBsb3dlciA4IGJpdHMuDQo+ICtcZW5ke2l0
ZW1pemV9DQo+ICsNCj4gIFxzdWJzdWJzZWN0aW9ue0xlZ2FjeSBJbnRlcmZhY2U6IERldmljZSBJ
bml0aWFsaXphdGlvbn1cbGFiZWx7c2VjOkRldmljZSBUeXBlcw0KPiAvIEJsb2NrIERldmljZSAv
IERldmljZSBJbml0aWFsaXphdGlvbiAvIExlZ2FjeSBJbnRlcmZhY2U6IERldmljZSBJbml0aWFs
aXphdGlvbn0NCj4NCj4gIEJlY2F1c2UgbGVnYWN5IGRldmljZXMgZG8gbm90IGhhdmUgRkVBVFVS
RVNfT0ssIHRyYW5zaXRpb25hbCBkZXZpY2VzIEBAIC0NCj4gNDM2LDYgKzQ3MSwxMyBAQCBcc3Vi
c2VjdGlvbntEZXZpY2UgT3BlcmF0aW9ufVxsYWJlbHtzZWM6RGV2aWNlIFR5cGVzIC8NCj4gQmxv
Y2sgRGV2aWNlIC8gRGV2aWNlIE9wZQ0KPiAgICAgICAgICBsZTMyIHR5cGU7DQo+ICAgICAgICAg
IGxlMzIgcmVzZXJ2ZWQ7DQo+ICAgICAgICAgIGxlNjQgc2VjdG9yOw0KPiArICAgICAgICBzdHJ1
Y3QgdmlydGlvX2Jsa19jcnlwdG9fcGF5bG9hZCB7DQo+ICsgICAgICAgICAgICB1OCBzbG90Ow0K
PiArICAgICAgICAgICAgdTggYWN0aXZhdGU7DQo+ICsgICAgICAgICAgICBsZTE2IHJlc2VydmVk
MTsNCj4gKyAgICAgICAgICAgIGxlMzIgcmVzZXJ2ZWQyOw0KPiArICAgICAgICAgICAgbGU2NCBk
YXRhX3VuaXRfbnVtOw0KPiArICAgICAgICB9IHBheWxvYWQ7DQo+ICAgICAgICAgIHU4IGRhdGFb
XTsNCj4gICAgICAgICAgdTggc3RhdHVzOw0KPiAgfTsNCj4gQEAgLTQ0NSw4ICs0ODcsOSBAQCBc
c3Vic2VjdGlvbntEZXZpY2UgT3BlcmF0aW9ufVxsYWJlbHtzZWM6RGV2aWNlDQo+IFR5cGVzIC8g
QmxvY2sgRGV2aWNlIC8gRGV2aWNlIE9wZSAgKFZJUlRJT19CTEtfVF9PVVQpLCBhIGRpc2NhcmQN
Cj4gKFZJUlRJT19CTEtfVF9ESVNDQVJEKSwgYSB3cml0ZSB6ZXJvZXMgIChWSVJUSU9fQkxLX1Rf
V1JJVEVfWkVST0VTKSwgYQ0KPiBmbHVzaCAoVklSVElPX0JMS19UX0ZMVVNIKSwgYSBnZXQgZGV2
aWNlIElEICBzdHJpbmcgY29tbWFuZA0KPiAoVklSVElPX0JMS19UX0dFVF9JRCksIGEgc2VjdXJl
IGVyYXNlIC0oVklSVElPX0JMS19UX1NFQ1VSRV9FUkFTRSksIG9yDQo+IGEgZ2V0IGRldmljZSBs
aWZldGltZSBjb21tYW5kIC0oVklSVElPX0JMS19UX0dFVF9MSUZFVElNRSkuDQo+ICsoVklSVElP
X0JMS19UX1NFQ1VSRV9FUkFTRSksIGEgZ2V0IGRldmljZSBsaWZldGltZSBjb21tYW5kDQo+ICso
VklSVElPX0JMS19UX0dFVF9MSUZFVElNRSksIG9yIGEgZ2V0IGRldmljZSBjcnlwdG8gY2FwYWJp
bGl0aWVzDQo+ICtjb21tYW5kIChWSVJUSU9fQkxLX1RfR0VUX0NSWVBUT19DQVBBQklMSVRJRVMp
Lg0KPg0KPiAgXGJlZ2lue2xzdGxpc3Rpbmd9DQo+ICAjZGVmaW5lIFZJUlRJT19CTEtfVF9JTiAg
ICAgICAgICAgMA0KPiBAQCAtNDU3LDEyICs1MDAsMjcgQEAgXHN1YnNlY3Rpb257RGV2aWNlIE9w
ZXJhdGlvbn1cbGFiZWx7c2VjOkRldmljZQ0KPiBUeXBlcyAvIEJsb2NrIERldmljZSAvIERldmlj
ZSBPcGUNCj4gICNkZWZpbmUgVklSVElPX0JMS19UX0RJU0NBUkQgICAgICAxMQ0KPiAgI2RlZmlu
ZSBWSVJUSU9fQkxLX1RfV1JJVEVfWkVST0VTIDEzDQo+ICAjZGVmaW5lIFZJUlRJT19CTEtfVF9T
RUNVUkVfRVJBU0UgICAxNA0KPiArI2RlZmluZSBWSVJUSU9fQkxLX1RfR0VUX0NSWVBUT19DQVBB
QklMSVRJRVMgICAyNw0KPiAgXGVuZHtsc3RsaXN0aW5nfQ0KPg0KPiAgVGhlIFxmaWVsZHtzZWN0
b3J9IG51bWJlciBpbmRpY2F0ZXMgdGhlIG9mZnNldCAobXVsdGlwbGllZCBieSA1MTIpIHdoZXJl
ICB0aGUNCj4gcmVhZCBvciB3cml0ZSBpcyB0byBvY2N1ci4gVGhpcyBmaWVsZCBpcyB1bnVzZWQg
YW5kIHNldCB0byAwIGZvciAgY29tbWFuZHMNCj4gb3RoZXIgdGhhbiByZWFkLCB3cml0ZSBhbmQg
c29tZSB6b25lIG9wZXJhdGlvbnMuDQo+DQo+ICtUaGUgXGZpZWxke3BheWxvYWR9IGNvbnNpc3Rz
IG9mIHRoZSBlbmNyeXB0aW9uIGluZm9ybWF0aW9uIGZvciBjdXJyZW50DQo+ICtyZXF1ZXN0LiBJ
dCBpcyBvbmx5IHByZXNlbnQgd2hlbiB0aGUgVklSVElPX0JMS19GX0lDRSBmZWF0dXJlIGlzDQo+
ICtuZWdvdGlhdGVkIGFuZCBcZmllbGR7dHlwZX0gaXMgVklSVElPX0JMS19UX0lOLCBWSVJUSU9f
QkxLX1RfT1VUIG9yDQo+IFZJUlRJT19CTEtfVF9GTFVTSC4NCj4gK1xiZWdpbntpdGVtaXplfQ0K
PiArXGl0ZW0gVGhlIFxmaWVsZHtzbG90fSBmaWVsZCBpbiBcZmllbGR7cGF5bG9hZH0gaW5kaWNh
dGVzIHRoZSBJQ0UNCj4gKyAgKElubGluZSBDcnlwdG8gRW5jcnlwdGlvbikgc2xvdCBpbmRleCB3
aGVyZSB0aGUga2V5IHJlc2lkZXMuDQo+ICsNCj4gK1xpdGVtIFRoZSBcZmllbGR7YWN0aXZhdGV9
IGZpZWxkIGluIFxmaWVsZHtwYXlsb2FkfSBpbXBsaWVzIHRoaXMgaXMgYQ0KPiArICBpbmxpbmUg
ZW5jcnlwdGlvbiByZXF1ZXN0Lg0KPiArDQo+ICtcaXRlbSBUaGUgXGZpZWxke2RhdGFfdW5pdF9u
dW19IGZpZWxkIGluIFxmaWVsZHtwYXlsb2FkfSBpbmRpY2F0ZXMgdGhlDQo+ICsgIHN0YXJ0aW5n
IGJsb2NrIG9mIHRoZSByZXF1ZXN0Lg0KPiArXGVuZHtpdGVtaXplfQ0KPiArDQo+ICBWSVJUSU9f
QkxLX1RfSU4gcmVxdWVzdHMgcG9wdWxhdGUgXGZpZWxke2RhdGF9IHdpdGggdGhlIGNvbnRlbnRz
IG9mIHNlY3RvcnMNCj4gcmVhZCBmcm9tIHRoZSBibG9jayBkZXZpY2UgKGluIG11bHRpcGxlcyBv
ZiA1MTIgYnl0ZXMpLiAgVklSVElPX0JMS19UX09VVA0KPiByZXF1ZXN0cyB3cml0ZSB0aGUgY29u
dGVudHMgb2YgXGZpZWxke2RhdGF9IHRvIHRoZSBibG9jayBkZXZpY2UgKGluIG11bHRpcGxlcw0K
PiBAQCAtNTMwLDYgKzU4OCw0NyBAQCBcc3Vic2VjdGlvbntEZXZpY2UgT3BlcmF0aW9ufVxsYWJl
bHtzZWM6RGV2aWNlDQo+IFR5cGVzIC8gQmxvY2sgRGV2aWNlIC8gRGV2aWNlIE9wZSAgVGhlIFxm
aWVsZHtkZXZpY2VfbGlmZXRpbWVfZXN0X3R5cF9ifQ0KPiByZWZlcnMgdG8gd2VhciBvZiBNTEMg
Y2VsbHMgYW5kIGlzIHByb3ZpZGVkICB3aXRoIHRoZSBzYW1lIHNlbWFudGljcyBhcw0KPiBcZmll
bGR7ZGV2aWNlX2xpZmV0aW1lX2VzdF90eXBfYX0uDQo+DQo+ICtWSVJUSU9fQkxLX1RfR0VUX0NS
WVBUT19DQVBBQklMSVRJRVMgcmVxdWVzdHMgZmV0Y2ggdGhlIHN0b3JhZ2UNCj4gK2hhcmR3YXJl
IGNyeXB0byBjYXBhYmlsaXRpZXMgaW50byBcZmllbGR7ZGF0YX0uIEFuZCB0aGUgXGZpZWxke2Rh
dGF9IGlzDQo+ICtvZiB0aGUgZm9ybQ0KPiArDQo+ICtcYmVnaW57bHN0bGlzdGluZ30NCj4gK3N0
cnVjdCB2aXJ0aW9fYmxrX2NyeXB0b19jYXBzIHsNCj4gKyAgdTggc2l6ZTsNCj4gKyAgbGUzMiBj
cnlwdG9fY2FwYWJpbGl0aWVzW107DQo+ICt9Ow0KPiArXGVuZHtsc3RsaXN0aW5nfQ0KPiArDQo+
ICtUaGUgXGZpZWxke3NpemV9IHNwZWNpZmllcyB0aGUgc2l6ZSBvZiBhcnJheSBcZmllbGR7Y3J5
cHRvX2NhcGFiaWxpdGllc30uDQo+ICtUaGUgXGZpZWxke2NyeXB0b19jYXBhYmlsaXRpZXN9IGlu
ZGljYXRlcyB0aGUgY3J5cHRvIGNhcGFiaWxpdGllcw0KPiArc3VwcG9ydGVkIGJ5IHRoZSBoYXJk
d2FyZSBzdG9yYWdlIGZvciBpbmxpbmUgZW5jcnlwdGlvbi4NCj4gKw0KPiArQSBjcnlwdG8gY2Fw
YWJpbGl0eSBwYWNrcyBmb3VyIDgtYml0cyB2YWx1ZXM6DQo+ICtcYmVnaW57aXRlbWl6ZX0NCj4g
KyAgICBcaXRlbSBCaXRzflxbMzE6MjRdOiBjcnlwdG8gYWxnb3JpdGhtIGlkZW50aWZpZXJzLg0K
PiArICAgIFRoZSBkZXZpY2Ugc3VwcG9ydHMgcmVwb3J0aW5nIGFuZCBuZWdvdGlhdGluZyBjcnlw
dG9ncmFwaGljIGFsZ29yaXRobXMNCj4gKyAgICB1c2luZyB0aGUgZm9sbG93aW5nIGFsZ29yaXRo
bSBpZGVudGlmaWVyczoNCj4gKyAgICBcYmVnaW57bHN0bGlzdGluZ30NCj4gKyAgICAgICAgQ1JZ
UFRPX0FMR19BRVNfWFRTICAgICAgICAgICAgICA9IDB4MA0KPiArICAgICAgICBDUllQVE9fQUxH
X0JJVExPQ0tFUl9BRVNfQ0JDICAgID0gMHgxDQo+ICsgICAgICAgIENSWVBUT19BTEdfQUVTX0VD
QiAgICAgICAgICAgICAgPSAweDINCj4gKyAgICAgICAgQ1JZUFRPX0FMR19FU1NJVl9BRVNfQ0JD
ICAgICAgICA9IDB4Mw0KPiArICAgIFxlbmR7bHN0bGlzdGluZ30NCj4gKyAgICBUaGVzZSBpZGVu
dGlmaWVycyBhYnN0cmFjdCB0aGUgdW5kZXJseWluZyBoYXJkd2FyZSBjcnlwdG8NCj4gaW1wbGVt
ZW50YXRpb24NCj4gKyAgICBhbmQgZG9lcyBub3QgYXNzdW1lIGFueSBvcGVyYXRpbmfigJFzeXN0
ZW3igJFzcGVjaWZpYyBkYXRhIHN0cnVjdHVyZXMgb3INCj4gKyAgICBjb25zdGFudHMuDQo+ICsg
ICAgXGl0ZW0gQml0c35cWzIzOjE2XTogbWFzayBvZiBkYXRhIHVuaXQgc2l6ZS4gV2hlbiBiaXQg
aiBpbiB0aGlzIGZpZWxkDQo+ICsgICAgKGo9Ny4uLi4uLjApIGlzIHNldCwgYSBkYXRhIHVuaXQg
c2l6ZSBvZiA1MTIqMl5qIGJ5dGVzIGlzIHNlbGVjdGVkLg0KPiArICAgIFxpdGVtIEJpdHN+XFsx
NTo4XTogY3J5cHRvIGtleSBzaXplIGlkZW50aWZpZXJzLg0KPiArICAgIFxiZWdpbntsc3RsaXN0
aW5nfQ0KPiArICAgICAgICBDUllQVE9fS0VZX1NJWkVfSU5WQUxJRCAgICAgPSAweDANCj4gKyAg
ICAgICAgQ1JZUFRPX0tFWV9TSVpFXzEyOF9CSVRTICAgID0gMHgxDQo+ICsgICAgICAgIENSWVBU
T19LRVlfU0laRV8xOTJfQklUUyAgICA9IDB4Mg0KPiArICAgICAgICBDUllQVE9fS0VZX1NJWkVf
MjU2X0JJVFMgICAgPSAweDMNCj4gKyAgICAgICAgQ1JZUFRPX0tFWV9TSVpFXzUxMl9CSVRTICAg
ID0gMHg0DQo+ICsgICAgXGVuZHtsc3RsaXN0aW5nfQ0KPiArICAgIFxpdGVtIEJpdHN+XFs3OjBd
OiB1bnVzZWQuDQo+ICtcZW5ke2l0ZW1pemV9DQo+ICsNCj4gIFRoZSBmaW5hbCBcZmllbGR7c3Rh
dHVzfSBieXRlIGlzIHdyaXR0ZW4gYnkgdGhlIGRldmljZTogZWl0aGVyICBWSVJUSU9fQkxLX1Nf
T0sNCj4gZm9yIHN1Y2Nlc3MsIFZJUlRJT19CTEtfU19JT0VSUiBmb3IgZGV2aWNlIG9yIGRyaXZl
ciAgZXJyb3Igb3INCj4gVklSVElPX0JMS19TX1VOU1VQUCBmb3IgYSByZXF1ZXN0IHVuc3VwcG9y
dGVkIGJ5IGRldmljZToNCj4gQEAgLTkxMiw2ICsxMDExLDEzIEBAIFxzdWJzZWN0aW9ue0Rldmlj
ZSBPcGVyYXRpb259XGxhYmVse3NlYzpEZXZpY2UNCj4gVHlwZXMgLyBCbG9jayBEZXZpY2UgLyBE
ZXZpY2UgT3BlICBzdWNjZXNzZnVsbHksIGZhaWxlZCwgb3Igd2VyZSBwcm9jZXNzZWQgYnkNCj4g
dGhlIGRldmljZSBhdCBhbGwgaWYgdGhlIHJlcXVlc3QgIGZhaWxlZCB3aXRoIFZJUlRJT19CTEtf
U19JT0VSUi4NCj4NCj4gK1RoZSBsZW5ndGggb2YgXGZpZWxke2RhdGF9IE1VU1QgYmUgYSBtdWx0
aXBsZSBvZiA0IGJ5dGVzIHBsdXMgMSBmb3INCj4gK1ZJUlRJT19CTEtfVF9HRVRfQ1JZUFRPX0NB
UEFCSUxJVElFUyByZXF1ZXN0cy4NCj4gKw0KPiArQSBkcml2ZXIgTVVTVCBzZXQgXGZpZWxke2Fj
dGl2YXRlfSB0byAxIGZvcg0KPiBWSVJUSU9fQkxLX1RfSU4sVklSVElPX0JMS19UX09VVCwNCj4g
KyAgICBhbmQgVklSVElPX0JMS19UX0ZMVVNIIHJlcXVlc3RzIHRoYXQgcmVxdWlyZSBpbmxpbmUg
ZW5jcnlwdGlvbi4gRm9yDQo+IG90aGVyDQo+ICsgICAgcmVxdWVzdCB0eXBlcyBvciB3aGVuIGlu
bGluZSBlbmNyeXB0aW9uIGlzIG5vdCByZXF1aXJlZCwgaXQgaXMgc2V0IHRvIDAuDQo+ICsNCj4g
IFRoZSBmb2xsb3dpbmcgcmVxdWlyZW1lbnRzIG9ubHkgYXBwbHkgaWYgdGhlIFZJUlRJT19CTEtf
Rl9aT05FRCBmZWF0dXJlIGlzDQo+IG5lZ290aWF0ZWQuDQo+DQo+IC0tDQo+IDIuMzQuMQ0KPg0K
DQpEaXNjbGFpbWVyOiBUaGlzIGVtYWlsIGFuZCBhbnkgZmlsZXMgdHJhbnNtaXR0ZWQgd2l0aCBp
dCBtYXkgY29udGFpbiBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gaW50ZW5kZWQgZm9yIHRoZSBh
ZGRyZXNzZWUocykgb25seS4gVGhlIGluZm9ybWF0aW9uIGlzIG5vdCB0byBiZSBzdXJyZW5kZXJl
ZCBvciBjb3BpZWQgdG8gdW5hdXRob3JpemVkIHBlcnNvbnMuIElmIHlvdSBoYXZlIHJlY2VpdmVk
IHRoaXMgY29tbXVuaWNhdGlvbiBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGlt
bWVkaWF0ZWx5IGFuZCBkZWxldGUgdGhpcyBlLW1haWwgZnJvbSB5b3VyIHN5c3RlbS4NCg==