[PATCH 1/2] relocator/x86: place runtime-patched stubs in writable section

Jiaqing Zhao via Grub-devel <[email protected]> Thu, 14 May 2026 00:11:34 +0800
Newsgroups org.gnu.grub-devel
Message-ID <[email protected]>
VGhlIHJlbG9jYXRvciBzdHVicyBpbiAudGV4dCBzZWN0aW9uIGFyZSBwYXRjaGVkIGF0IHJ1bnRp
bWUgdG8gcGVyZm9ybQpib290IHdpdGggcmVsb2NhdGluZy4gU2luY2UgY29tbWl0IGQ3MjIwODQy
M2RjYSAoImtlcm4vZGw6IFVzZSBjb3JyZWN0CnNlZ21lbnQgaW4gZ3J1Yl9kbF9zZXRfbWVtX2F0
dHJzKCkiKSwgYGdydWJfZGxfc2V0X21lbV9hdHRyc2AgYXBwbGllcwpjb3JyZWN0IG1lbW9yeSBh
dHRyaWJ1dGVzIGFjY29yZGluZyB0byBFTEYgc2VjdGlvbiBmbGFncy4gSG93ZXZlciwgYXMKR05V
IEFzc2VtYmxlciBhbHdheXMgZW5mb3JjZXMgImF4IiBvbiAudGV4dCBzZWN0aW9uLCBwYXRjaGlu
ZyB0aG9zZQpyZWxvY2F0b3Igc3R1YnMgdHJpZ2dlcnMgI1BGIGR1ZSB0byBwZXJtaXNzaW9uIHZp
b2xhdGlvbi4KCkZpeCBieSBtb3ZpbmcgdGhlIHN0dWJzIGludG8gYSBuZXcgLnRleHQucmVsb2Nh
dG9yIHNlY3Rpb24gd2l0aCAiYXd4IgpmbGFncyB0byBlbnN1cmUgdGhlbSB3cml0YWJsZSBhbmQg
ZXhlY3V0YWJsZS4KCkFzc2lzdGVkLWJ5OiBnaXRodWItY29waWxvdDpjbGF1ZGUtb3B1cy00LjcK
U2lnbmVkLW9mZi1ieTogSmlhcWluZyBaaGFvIDxaaGFvLkppYXFpbmdAYW1kLmNvbT4KLS0tCiBn
cnViLWNvcmUvbGliL2kzODYvcmVsb2NhdG9yMTYuUyAgICAgfCA1ICsrKystCiBncnViLWNvcmUv
bGliL2kzODYvcmVsb2NhdG9yMzIuUyAgICAgfCAzICsrKwogZ3J1Yi1jb3JlL2xpYi9pMzg2L3Jl
bG9jYXRvcjY0LlMgICAgIHwgMyArKysKIGdydWItY29yZS9saWIvaTM4Ni9yZWxvY2F0b3JfYXNt
LlMgICB8IDMgKysrCiBncnViLWNvcmUvbGliL3g4Nl82NC9yZWxvY2F0b3JfYXNtLlMgfCAzICsr
KwogNSBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm
IC0tZ2l0IGEvZ3J1Yi1jb3JlL2xpYi9pMzg2L3JlbG9jYXRvcjE2LlMgYi9ncnViLWNvcmUvbGli
L2kzODYvcmVsb2NhdG9yMTYuUwppbmRleCBlOTIzODExOWIuLjY4ZDUxZGQ0YiAxMDA2NDQKLS0t
IGEvZ3J1Yi1jb3JlL2xpYi9pMzg2L3JlbG9jYXRvcjE2LlMKKysrIGIvZ3J1Yi1jb3JlL2xpYi9p
Mzg2L3JlbG9jYXRvcjE2LlMKQEAgLTI5LDcgKzI5LDEwIEBACiAjaW5jbHVkZSA8Z3J1Yi9pMzg2
L3JlbG9jYXRvcl9wcml2YXRlLmg+CiAKICNpbmNsdWRlICJyZWxvY2F0b3JfY29tbW9uLlMiCi0J
CisKKwkvKiBTeW1ib2xzIGJlbG93IHdpbGwgYmUgcGF0Y2hlZCBhdCBydW50aW1lOyBwbGFjZSBz
dHViIGluIGEgd3JpdGFibGUgc2VjdGlvbi4gKi8KKwkuc2VjdGlvbiAudGV4dC5yZWxvY2F0b3Is
ICJhd3giLCAlcHJvZ2JpdHMKKwogCS5wMmFsaWduCTQJLyogZm9yY2UgMTYtYnl0ZSBhbGlnbm1l
bnQgKi8KIAogVkFSSUFCTEUoZ3J1Yl9yZWxvY2F0b3IxNl9zdGFydCkKZGlmZiAtLWdpdCBhL2dy
dWItY29yZS9saWIvaTM4Ni9yZWxvY2F0b3IzMi5TIGIvZ3J1Yi1jb3JlL2xpYi9pMzg2L3JlbG9j
YXRvcjMyLlMKaW5kZXggMDljZTU2YWQwLi41YzBlZmRmMWUgMTAwNjQ0Ci0tLSBhL2dydWItY29y
ZS9saWIvaTM4Ni9yZWxvY2F0b3IzMi5TCisrKyBiL2dydWItY29yZS9saWIvaTM4Ni9yZWxvY2F0
b3IzMi5TCkBAIC0yNCw2ICsyNCw5IEBACiAKICNpbmNsdWRlICJyZWxvY2F0b3JfY29tbW9uLlMi
CiAKKwkvKiBTeW1ib2xzIGJlbG93IHdpbGwgYmUgcGF0Y2hlZCBhdCBydW50aW1lOyBwbGFjZSBz
dHViIGluIGEgd3JpdGFibGUgc2VjdGlvbi4gKi8KKwkuc2VjdGlvbiAudGV4dC5yZWxvY2F0b3Is
ICJhd3giLCAlcHJvZ2JpdHMKKwogCS5wMmFsaWduCTQJLyogZm9yY2UgMTYtYnl0ZSBhbGlnbm1l
bnQgKi8KIAogVkFSSUFCTEUoZ3J1Yl9yZWxvY2F0b3IzMl9zdGFydCkKZGlmZiAtLWdpdCBhL2dy
dWItY29yZS9saWIvaTM4Ni9yZWxvY2F0b3I2NC5TIGIvZ3J1Yi1jb3JlL2xpYi9pMzg2L3JlbG9j
YXRvcjY0LlMKaW5kZXggYzgwNTM4ZTdlLi44NTdjYjZjNjMgMTAwNjQ0Ci0tLSBhL2dydWItY29y
ZS9saWIvaTM4Ni9yZWxvY2F0b3I2NC5TCisrKyBiL2dydWItY29yZS9saWIvaTM4Ni9yZWxvY2F0
b3I2NC5TCkBAIC0yNCw2ICsyNCw5IEBACiAKICNpbmNsdWRlICJyZWxvY2F0b3JfY29tbW9uLlMi
CiAKKwkvKiBTeW1ib2xzIGJlbG93IHdpbGwgYmUgcGF0Y2hlZCBhdCBydW50aW1lOyBwbGFjZSBz
dHViIGluIGEgd3JpdGFibGUgc2VjdGlvbi4gKi8KKwkuc2VjdGlvbiAudGV4dC5yZWxvY2F0b3Is
ICJhd3giLCAlcHJvZ2JpdHMKKwogCS5wMmFsaWduCTQJLyogZm9yY2UgMTYtYnl0ZSBhbGlnbm1l
bnQgKi8KIAogVkFSSUFCTEUoZ3J1Yl9yZWxvY2F0b3I2NF9zdGFydCkKZGlmZiAtLWdpdCBhL2dy
dWItY29yZS9saWIvaTM4Ni9yZWxvY2F0b3JfYXNtLlMgYi9ncnViLWNvcmUvbGliL2kzODYvcmVs
b2NhdG9yX2FzbS5TCmluZGV4IGYyNzM1ODZmZS4uM2JmNDVjMmEwIDEwMDY0NAotLS0gYS9ncnVi
LWNvcmUvbGliL2kzODYvcmVsb2NhdG9yX2FzbS5TCisrKyBiL2dydWItY29yZS9saWIvaTM4Ni9y
ZWxvY2F0b3JfYXNtLlMKQEAgLTE5LDYgKzE5LDkgQEAKICNpbmNsdWRlIDxncnViL3N5bWJvbC5o
PgogI2luY2x1ZGUgPGdydWIvaTM4Ni9tZW1vcnkuaD4KIAorCS8qIFN5bWJvbHMgYmVsb3cgd2ls
bCBiZSBwYXRjaGVkIGF0IHJ1bnRpbWU7IHBsYWNlIHN0dWIgaW4gYSB3cml0YWJsZSBzZWN0aW9u
LiAqLworCS5zZWN0aW9uIC50ZXh0LnJlbG9jYXRvciwgImF3eCIsICVwcm9nYml0cworCiAJLnAy
YWxpZ24JMgogCiBWQVJJQUJMRShncnViX3JlbG9jYXRvcl9iYWNrd2FyZF9zdGFydCkKZGlmZiAt
LWdpdCBhL2dydWItY29yZS9saWIveDg2XzY0L3JlbG9jYXRvcl9hc20uUyBiL2dydWItY29yZS9s
aWIveDg2XzY0L3JlbG9jYXRvcl9hc20uUwppbmRleCAxMjcyOGQ4ZTEuLmQ4MjA3NTA5ZiAxMDA2
NDQKLS0tIGEvZ3J1Yi1jb3JlL2xpYi94ODZfNjQvcmVsb2NhdG9yX2FzbS5TCisrKyBiL2dydWIt
Y29yZS9saWIveDg2XzY0L3JlbG9jYXRvcl9hc20uUwpAQCAtMTksNiArMTksOSBAQAogI2luY2x1
ZGUgPGdydWIvc3ltYm9sLmg+CiAjaW5jbHVkZSA8Z3J1Yi9pMzg2L21lbW9yeS5oPgogCisJLyog
U3ltYm9scyBiZWxvdyB3aWxsIGJlIHBhdGNoZWQgYXQgcnVudGltZTsgcGxhY2Ugc3R1YiBpbiBh
IHdyaXRhYmxlIHNlY3Rpb24uICovCisJLnNlY3Rpb24gLnRleHQucmVsb2NhdG9yLCAiYXd4Iiwg
JXByb2diaXRzCisKIAkucDJhbGlnbgkyCiAKIFZBUklBQkxFKGdydWJfcmVsb2NhdG9yX2JhY2t3
YXJkX3N0YXJ0KQotLSAKMi41My4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KR3J1Yi1kZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1kZXZlbEBnbnUub3Jn
Cmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dydWItZGV2ZWwK