diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-08-05 23:52:52 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-08-05 23:52:52 -0400 |
commit | a02040d8d5d533773f98e02e1a8e56db5fa7a363 (patch) | |
tree | 5b490abce2688f80a9732346cf08127bbb48a3e3 /Documentation | |
parent | 0603006b450004213eeed22d4fbcc103c994c2e6 (diff) | |
parent | e976e56423dc1cc01686861fc3e0c6c0ec8cd8b7 (diff) |
Merge tag 'pstore-v4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
Pull pstore fixes from Kees Cook:
"Fixes for pstore ramoops driver to catch bad kfree() and to use better
DT bindings"
* tag 'pstore-v4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
ramoops: use persistent_ram_free() instead of kfree() for freeing prz
ramoops: use DT reserved-memory bindings
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/devicetree/bindings/reserved-memory/ramoops.txt (renamed from Documentation/devicetree/bindings/misc/ramoops.txt) | 8 | ||||
-rw-r--r-- | Documentation/ramoops.txt | 38 |
2 files changed, 31 insertions, 15 deletions
diff --git a/Documentation/devicetree/bindings/misc/ramoops.txt b/Documentation/devicetree/bindings/reserved-memory/ramoops.txt index cd02cec67d38..e81f821a2135 100644 --- a/Documentation/devicetree/bindings/misc/ramoops.txt +++ b/Documentation/devicetree/bindings/reserved-memory/ramoops.txt | |||
@@ -2,8 +2,9 @@ Ramoops oops/panic logger | |||
2 | ========================= | 2 | ========================= |
3 | 3 | ||
4 | ramoops provides persistent RAM storage for oops and panics, so they can be | 4 | ramoops provides persistent RAM storage for oops and panics, so they can be |
5 | recovered after a reboot. It is a backend to pstore, so this node is named | 5 | recovered after a reboot. This is a child-node of "/reserved-memory", and |
6 | "ramoops" after the backend, rather than "pstore" which is the subsystem. | 6 | is named "ramoops" after the backend, rather than "pstore" which is the |
7 | subsystem. | ||
7 | 8 | ||
8 | Parts of this storage may be set aside for other persistent log buffers, such | 9 | Parts of this storage may be set aside for other persistent log buffers, such |
9 | as kernel log messages, or for optional ECC error-correction data. The total | 10 | as kernel log messages, or for optional ECC error-correction data. The total |
@@ -21,8 +22,7 @@ Required properties: | |||
21 | 22 | ||
22 | - compatible: must be "ramoops" | 23 | - compatible: must be "ramoops" |
23 | 24 | ||
24 | - memory-region: phandle to a region of memory that is preserved between | 25 | - reg: region of memory that is preserved between reboots |
25 | reboots | ||
26 | 26 | ||
27 | 27 | ||
28 | Optional properties: | 28 | Optional properties: |
diff --git a/Documentation/ramoops.txt b/Documentation/ramoops.txt index 9264bcab4099..26b9f31cf65a 100644 --- a/Documentation/ramoops.txt +++ b/Documentation/ramoops.txt | |||
@@ -45,18 +45,34 @@ corrupt, but usually it is restorable. | |||
45 | 45 | ||
46 | 2. Setting the parameters | 46 | 2. Setting the parameters |
47 | 47 | ||
48 | Setting the ramoops parameters can be done in 3 different manners: | 48 | Setting the ramoops parameters can be done in several different manners: |
49 | 1. Use the module parameters (which have the names of the variables described | 49 | |
50 | as before). | 50 | A. Use the module parameters (which have the names of the variables described |
51 | For quick debugging, you can also reserve parts of memory during boot | 51 | as before). For quick debugging, you can also reserve parts of memory during |
52 | and then use the reserved memory for ramoops. For example, assuming a machine | 52 | boot and then use the reserved memory for ramoops. For example, assuming a |
53 | with > 128 MB of memory, the following kernel command line will tell the | 53 | machine with > 128 MB of memory, the following kernel command line will tell |
54 | kernel to use only the first 128 MB of memory, and place ECC-protected ramoops | 54 | the kernel to use only the first 128 MB of memory, and place ECC-protected |
55 | region at 128 MB boundary: | 55 | ramoops region at 128 MB boundary: |
56 | "mem=128M ramoops.mem_address=0x8000000 ramoops.ecc=1" | 56 | "mem=128M ramoops.mem_address=0x8000000 ramoops.ecc=1" |
57 | 2. Use Device Tree bindings, as described in | 57 | |
58 | Documentation/device-tree/bindings/misc/ramoops.txt. | 58 | B. Use Device Tree bindings, as described in |
59 | 3. Use a platform device and set the platform data. The parameters can then | 59 | Documentation/device-tree/bindings/reserved-memory/ramoops.txt. |
60 | For example: | ||
61 | |||
62 | reserved-memory { | ||
63 | #address-cells = <2>; | ||
64 | #size-cells = <2>; | ||
65 | ranges; | ||
66 | |||
67 | ramoops@8f000000 { | ||
68 | compatible = "ramoops"; | ||
69 | reg = <0 0x8f000000 0 0x100000>; | ||
70 | record-size = <0x4000>; | ||
71 | console-size = <0x4000>; | ||
72 | }; | ||
73 | }; | ||
74 | |||
75 | C. Use a platform device and set the platform data. The parameters can then | ||
60 | be set through that platform data. An example of doing that is: | 76 | be set through that platform data. An example of doing that is: |
61 | 77 | ||
62 | #include <linux/pstore_ram.h> | 78 | #include <linux/pstore_ram.h> |