summaryrefslogtreecommitdiff
path: root/Documentation/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/drivers')
-rw-r--r--Documentation/drivers/smmstore.md13
1 files changed, 12 insertions, 1 deletions
diff --git a/Documentation/drivers/smmstore.md b/Documentation/drivers/smmstore.md
index 53bac4dc9e..70827477df 100644
--- a/Documentation/drivers/smmstore.md
+++ b/Documentation/drivers/smmstore.md
@@ -5,7 +5,7 @@ storage driver.
## SMMSTORE
-SMMSTORE is a SMM mediated driver to read from, write to and erase a
+SMMSTORE is a [SMM] mediated driver to read from, write to and erase a
predefined region in flash. It can be enabled by setting
`CONFIG_SMMSTORE=y` in menuconfig.
@@ -117,7 +117,18 @@ INPUT:
- `val`: pointer to the value data
- `valsize`: size of the value data
+#### Security
+
+Pointers provided by the payload or OS are checked to not overlap with the SMM.
+That protects the SMM handler from being manipulated.
+
+*However there's no validation done on the source or destination pointing to
+DRAM. A malicious application that is able to issue SMIs could extract arbitrary
+data or modify the currently running kernel.*
+
## External links
* [A Tour Beyond BIOS Implementing UEFI Authenticated Variables in SMM with EDKI](https://software.intel.com/sites/default/files/managed/cf/ea/a_tour_beyond_bios_implementing_uefi_authenticated_variables_in_smm_with_edkii.pdf)
Note, this differs significantly from coreboot's implementation.
+
+[SMM]: ../security/smm.md