浏览代码

dt-bindings: chosen: document kaslr-seed property

Document the /chosen/kaslr-seed property (and its interaction with the
EFI_RNG_PROTOCOL API). Thanks to Ard for clarifications.

Signed-off-by: Kees Cook <keescook@chromium.org>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Kees Cook 8 年之前
父节点
当前提交
e5bc0c37c9
共有 1 个文件被更改,包括 24 次插入2 次删除
  1. 24 2
      Documentation/devicetree/bindings/chosen.txt

+ 24 - 2
Documentation/devicetree/bindings/chosen.txt

@@ -5,9 +5,31 @@ The chosen node does not represent a real device, but serves as a place
 for passing data between firmware and the operating system, like boot
 for passing data between firmware and the operating system, like boot
 arguments. Data in the chosen node does not represent the hardware.
 arguments. Data in the chosen node does not represent the hardware.
 
 
+The following properties are recognized:
 
 
-stdout-path property
---------------------
+
+kaslr-seed
+-----------
+
+This property is used when booting with CONFIG_RANDOMIZE_BASE as the
+entropy used to randomize the kernel image base address location. Since
+it is used directly, this value is intended only for KASLR, and should
+not be used for other purposes (as it may leak information about KASLR
+offsets). It is parsed as a u64 value, e.g.
+
+/ {
+	chosen {
+		kaslr-seed = <0xfeedbeef 0xc0def00d>;
+	};
+};
+
+Note that if this property is set from UEFI (or a bootloader in EFI
+mode) when EFI_RNG_PROTOCOL is supported, it will be overwritten by
+the Linux EFI stub (which will populate the property itself, using
+EFI_RNG_PROTOCOL).
+
+stdout-path
+-----------
 
 
 Device trees may specify the device to be used for boot console output
 Device trees may specify the device to be used for boot console output
 with a stdout-path property under /chosen, as described in the Devicetree
 with a stdout-path property under /chosen, as described in the Devicetree