docs: EFI_MEMORY_ATTRIBUTE_PROTOCOL spec link
BUG=None
TEST=None
Change-Id: I53e1e17a2f836cc49349b8f0a9736c64a84a0576
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crdyboot/+/4219255
Tested-by: Nicholas Bishop <nicholasbishop@google.com>
Commit-Queue: Jeffery Miller <jefferymiller@google.com>
Tested-by: Jeffery Miller <jefferymiller@google.com>
Reviewed-by: Jeffery Miller <jefferymiller@google.com>
Auto-Submit: Nicholas Bishop <nicholasbishop@google.com>
diff --git a/docs/nx.md b/docs/nx.md
index 75d4c9e..3e0e231 100644
--- a/docs/nx.md
+++ b/docs/nx.md
@@ -18,7 +18,7 @@
1. Sections must be page aligned as described above.
2. Each PE section can be either writable or executable, but not both.
3. The PE attribute `IMAGE_DLLCHARACTERISTICS_NX_COMPAT` must be set.
- 4. If `EFI_MEMORY_ATTRIBUTE_PROTOCOL` is available, it must be used to
+ 4. If [`EFI_MEMORY_ATTRIBUTE_PROTOCOL`] is available, it must be used to
enforce W^X on the child's sections.
Most of the requirements are trivially satisfied by crdyboot; the executable
@@ -28,5 +28,6 @@
[NX]: https://en.wikipedia.org/wiki/NX_bit
[W^X]: https://en.wikipedia.org/wiki/W%5EX
+[`EFI_MEMORY_ATTRIBUTE_PROTOCOL`]: https://uefi.org/specs/UEFI/2.10/37_Secure_Technologies.html#memory-protection
[`libcrdy/src/nx.rs`]: ../libcrdy/src/nx.rs
[nx-req]: https://techcommunity.microsoft.com/t5/hardware-dev-center/new-uefi-ca-memory-mitigation-requirements-for-signing/ba-p/3608714