diff options
Diffstat (limited to 'Documentation')
19 files changed, 103 insertions, 40 deletions
diff --git a/Documentation/ABI/testing/sysfs-devices-system-cpu b/Documentation/ABI/testing/sysfs-devices-system-cpu index 99983e67c13c..da95513571ea 100644 --- a/Documentation/ABI/testing/sysfs-devices-system-cpu +++ b/Documentation/ABI/testing/sysfs-devices-system-cpu | |||
@@ -162,7 +162,7 @@ Description: Discover CPUs in the same CPU frequency coordination domain | |||
162 | What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1} | 162 | What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1} |
163 | Date: August 2008 | 163 | Date: August 2008 |
164 | KernelVersion: 2.6.27 | 164 | KernelVersion: 2.6.27 |
165 | Contact: discuss@x86-64.org | 165 | Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
166 | Description: Disable L3 cache indices | 166 | Description: Disable L3 cache indices |
167 | 167 | ||
168 | These files exist in every CPU's cache/index3 directory. Each | 168 | These files exist in every CPU's cache/index3 directory. Each |
diff --git a/Documentation/IPMI.txt b/Documentation/IPMI.txt index 653d5d739d7f..31d1d658827f 100644 --- a/Documentation/IPMI.txt +++ b/Documentation/IPMI.txt | |||
@@ -505,7 +505,10 @@ at module load time (for a module) with: | |||
505 | 505 | ||
506 | The addresses are normal I2C addresses. The adapter is the string | 506 | The addresses are normal I2C addresses. The adapter is the string |
507 | name of the adapter, as shown in /sys/class/i2c-adapter/i2c-<n>/name. | 507 | name of the adapter, as shown in /sys/class/i2c-adapter/i2c-<n>/name. |
508 | It is *NOT* i2c-<n> itself. | 508 | It is *NOT* i2c-<n> itself. Also, the comparison is done ignoring |
509 | spaces, so if the name is "This is an I2C chip" you can say | ||
510 | adapter_name=ThisisanI2cchip. This is because it's hard to pass in | ||
511 | spaces in kernel parameters. | ||
509 | 512 | ||
510 | The debug flags are bit flags for each BMC found, they are: | 513 | The debug flags are bit flags for each BMC found, they are: |
511 | IPMI messages: 1, driver state: 2, timing: 4, I2C probe: 8 | 514 | IPMI messages: 1, driver state: 2, timing: 4, I2C probe: 8 |
diff --git a/Documentation/acpi/enumeration.txt b/Documentation/acpi/enumeration.txt index 750401f91341..15dfce708ebf 100644 --- a/Documentation/acpi/enumeration.txt +++ b/Documentation/acpi/enumeration.txt | |||
@@ -253,7 +253,7 @@ input driver: | |||
253 | GPIO support | 253 | GPIO support |
254 | ~~~~~~~~~~~~ | 254 | ~~~~~~~~~~~~ |
255 | ACPI 5 introduced two new resources to describe GPIO connections: GpioIo | 255 | ACPI 5 introduced two new resources to describe GPIO connections: GpioIo |
256 | and GpioInt. These resources are used be used to pass GPIO numbers used by | 256 | and GpioInt. These resources can be used to pass GPIO numbers used by |
257 | the device to the driver. ACPI 5.1 extended this with _DSD (Device | 257 | the device to the driver. ACPI 5.1 extended this with _DSD (Device |
258 | Specific Data) which made it possible to name the GPIOs among other things. | 258 | Specific Data) which made it possible to name the GPIOs among other things. |
259 | 259 | ||
diff --git a/Documentation/acpi/gpio-properties.txt b/Documentation/acpi/gpio-properties.txt index ae36fcf86dc7..f35dad11f0de 100644 --- a/Documentation/acpi/gpio-properties.txt +++ b/Documentation/acpi/gpio-properties.txt | |||
@@ -1,9 +1,9 @@ | |||
1 | _DSD Device Properties Related to GPIO | 1 | _DSD Device Properties Related to GPIO |
2 | -------------------------------------- | 2 | -------------------------------------- |
3 | 3 | ||
4 | With the release of ACPI 5.1 and the _DSD configuration objecte names | 4 | With the release of ACPI 5.1, the _DSD configuration object finally |
5 | can finally be given to GPIOs (and other things as well) returned by | 5 | allows names to be given to GPIOs (and other things as well) returned |
6 | _CRS. Previously, we were only able to use an integer index to find | 6 | by _CRS. Previously, we were only able to use an integer index to find |
7 | the corresponding GPIO, which is pretty error prone (it depends on | 7 | the corresponding GPIO, which is pretty error prone (it depends on |
8 | the _CRS output ordering, for example). | 8 | the _CRS output ordering, for example). |
9 | 9 | ||
diff --git a/Documentation/devicetree/bindings/arm/omap/l3-noc.txt b/Documentation/devicetree/bindings/arm/omap/l3-noc.txt index 974624ea68f6..161448da959d 100644 --- a/Documentation/devicetree/bindings/arm/omap/l3-noc.txt +++ b/Documentation/devicetree/bindings/arm/omap/l3-noc.txt | |||
@@ -6,6 +6,7 @@ provided by Arteris. | |||
6 | Required properties: | 6 | Required properties: |
7 | - compatible : Should be "ti,omap3-l3-smx" for OMAP3 family | 7 | - compatible : Should be "ti,omap3-l3-smx" for OMAP3 family |
8 | Should be "ti,omap4-l3-noc" for OMAP4 family | 8 | Should be "ti,omap4-l3-noc" for OMAP4 family |
9 | Should be "ti,omap5-l3-noc" for OMAP5 family | ||
9 | Should be "ti,dra7-l3-noc" for DRA7 family | 10 | Should be "ti,dra7-l3-noc" for DRA7 family |
10 | Should be "ti,am4372-l3-noc" for AM43 family | 11 | Should be "ti,am4372-l3-noc" for AM43 family |
11 | - reg: Contains L3 register address range for each noc domain. | 12 | - reg: Contains L3 register address range for each noc domain. |
diff --git a/Documentation/devicetree/bindings/clock/silabs,si5351.txt b/Documentation/devicetree/bindings/clock/silabs,si5351.txt index c40711e8e8f7..28b28309f535 100644 --- a/Documentation/devicetree/bindings/clock/silabs,si5351.txt +++ b/Documentation/devicetree/bindings/clock/silabs,si5351.txt | |||
@@ -17,7 +17,8 @@ Required properties: | |||
17 | - #clock-cells: from common clock binding; shall be set to 1. | 17 | - #clock-cells: from common clock binding; shall be set to 1. |
18 | - clocks: from common clock binding; list of parent clock | 18 | - clocks: from common clock binding; list of parent clock |
19 | handles, shall be xtal reference clock or xtal and clkin for | 19 | handles, shall be xtal reference clock or xtal and clkin for |
20 | si5351c only. | 20 | si5351c only. Corresponding clock input names are "xtal" and |
21 | "clkin" respectively. | ||
21 | - #address-cells: shall be set to 1. | 22 | - #address-cells: shall be set to 1. |
22 | - #size-cells: shall be set to 0. | 23 | - #size-cells: shall be set to 0. |
23 | 24 | ||
@@ -71,6 +72,7 @@ i2c-master-node { | |||
71 | 72 | ||
72 | /* connect xtal input to 25MHz reference */ | 73 | /* connect xtal input to 25MHz reference */ |
73 | clocks = <&ref25>; | 74 | clocks = <&ref25>; |
75 | clock-names = "xtal"; | ||
74 | 76 | ||
75 | /* connect xtal input as source of pll0 and pll1 */ | 77 | /* connect xtal input as source of pll0 and pll1 */ |
76 | silabs,pll-source = <0 0>, <1 0>; | 78 | silabs,pll-source = <0 0>, <1 0>; |
diff --git a/Documentation/devicetree/bindings/dma/fsl-mxs-dma.txt b/Documentation/devicetree/bindings/dma/fsl-mxs-dma.txt index a4873e5e3e36..e30e184f50c7 100644 --- a/Documentation/devicetree/bindings/dma/fsl-mxs-dma.txt +++ b/Documentation/devicetree/bindings/dma/fsl-mxs-dma.txt | |||
@@ -38,7 +38,7 @@ dma_apbx: dma-apbx@80024000 { | |||
38 | 80 81 68 69 | 38 | 80 81 68 69 |
39 | 70 71 72 73 | 39 | 70 71 72 73 |
40 | 74 75 76 77>; | 40 | 74 75 76 77>; |
41 | interrupt-names = "auart4-rx", "aurat4-tx", "spdif-tx", "empty", | 41 | interrupt-names = "auart4-rx", "auart4-tx", "spdif-tx", "empty", |
42 | "saif0", "saif1", "i2c0", "i2c1", | 42 | "saif0", "saif1", "i2c0", "i2c1", |
43 | "auart0-rx", "auart0-tx", "auart1-rx", "auart1-tx", | 43 | "auart0-rx", "auart0-tx", "auart1-rx", "auart1-tx", |
44 | "auart2-rx", "auart2-tx", "auart3-rx", "auart3-tx"; | 44 | "auart2-rx", "auart2-tx", "auart3-rx", "auart3-tx"; |
diff --git a/Documentation/devicetree/bindings/mtd/m25p80.txt b/Documentation/devicetree/bindings/mtd/jedec,spi-nor.txt index f20b111b502a..2bee68103b01 100644 --- a/Documentation/devicetree/bindings/mtd/m25p80.txt +++ b/Documentation/devicetree/bindings/mtd/jedec,spi-nor.txt | |||
@@ -8,8 +8,8 @@ Required properties: | |||
8 | is not Linux-only, but in case of Linux, see the "m25p_ids" | 8 | is not Linux-only, but in case of Linux, see the "m25p_ids" |
9 | table in drivers/mtd/devices/m25p80.c for the list of supported | 9 | table in drivers/mtd/devices/m25p80.c for the list of supported |
10 | chips. | 10 | chips. |
11 | Must also include "nor-jedec" for any SPI NOR flash that can be | 11 | Must also include "jedec,spi-nor" for any SPI NOR flash that can |
12 | identified by the JEDEC READ ID opcode (0x9F). | 12 | be identified by the JEDEC READ ID opcode (0x9F). |
13 | - reg : Chip-Select number | 13 | - reg : Chip-Select number |
14 | - spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at | 14 | - spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at |
15 | 15 | ||
@@ -25,7 +25,7 @@ Example: | |||
25 | flash: m25p80@0 { | 25 | flash: m25p80@0 { |
26 | #address-cells = <1>; | 26 | #address-cells = <1>; |
27 | #size-cells = <1>; | 27 | #size-cells = <1>; |
28 | compatible = "spansion,m25p80", "nor-jedec"; | 28 | compatible = "spansion,m25p80", "jedec,spi-nor"; |
29 | reg = <0>; | 29 | reg = <0>; |
30 | spi-max-frequency = <40000000>; | 30 | spi-max-frequency = <40000000>; |
31 | m25p,fast-read; | 31 | m25p,fast-read; |
diff --git a/Documentation/devicetree/bindings/net/cdns-emac.txt b/Documentation/devicetree/bindings/net/cdns-emac.txt index abd67c13d344..4451ee973223 100644 --- a/Documentation/devicetree/bindings/net/cdns-emac.txt +++ b/Documentation/devicetree/bindings/net/cdns-emac.txt | |||
@@ -3,7 +3,8 @@ | |||
3 | Required properties: | 3 | Required properties: |
4 | - compatible: Should be "cdns,[<chip>-]{emac}" | 4 | - compatible: Should be "cdns,[<chip>-]{emac}" |
5 | Use "cdns,at91rm9200-emac" Atmel at91rm9200 SoC. | 5 | Use "cdns,at91rm9200-emac" Atmel at91rm9200 SoC. |
6 | or the generic form: "cdns,emac". | 6 | Use "cdns,zynq-gem" Xilinx Zynq-7xxx SoC. |
7 | Or the generic form: "cdns,emac". | ||
7 | - reg: Address and length of the register set for the device | 8 | - reg: Address and length of the register set for the device |
8 | - interrupts: Should contain macb interrupt | 9 | - interrupts: Should contain macb interrupt |
9 | - phy-mode: see ethernet.txt file in the same directory. | 10 | - phy-mode: see ethernet.txt file in the same directory. |
diff --git a/Documentation/devicetree/bindings/rtc/abracon,abx80x.txt b/Documentation/devicetree/bindings/rtc/abracon,abx80x.txt new file mode 100644 index 000000000000..be789685a1c2 --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/abracon,abx80x.txt | |||
@@ -0,0 +1,30 @@ | |||
1 | Abracon ABX80X I2C ultra low power RTC/Alarm chip | ||
2 | |||
3 | The Abracon ABX80X family consist of the ab0801, ab0803, ab0804, ab0805, ab1801, | ||
4 | ab1803, ab1804 and ab1805. The ab0805 is the superset of ab080x and the ab1805 | ||
5 | is the superset of ab180x. | ||
6 | |||
7 | Required properties: | ||
8 | |||
9 | - "compatible": should one of: | ||
10 | "abracon,abx80x" | ||
11 | "abracon,ab0801" | ||
12 | "abracon,ab0803" | ||
13 | "abracon,ab0804" | ||
14 | "abracon,ab0805" | ||
15 | "abracon,ab1801" | ||
16 | "abracon,ab1803" | ||
17 | "abracon,ab1804" | ||
18 | "abracon,ab1805" | ||
19 | Using "abracon,abx80x" will enable chip autodetection. | ||
20 | - "reg": I2C bus address of the device | ||
21 | |||
22 | Optional properties: | ||
23 | |||
24 | The abx804 and abx805 have a trickle charger that is able to charge the | ||
25 | connected battery or supercap. Both the following properties have to be defined | ||
26 | and valid to enable charging: | ||
27 | |||
28 | - "abracon,tc-diode": should be "standard" (0.6V) or "schottky" (0.3V) | ||
29 | - "abracon,tc-resistor": should be <0>, <3>, <6> or <11>. 0 disables the output | ||
30 | resistor, the other values are in ohm. | ||
diff --git a/Documentation/hwmon/tmp401 b/Documentation/hwmon/tmp401 index 8eb88e974055..711f75e189eb 100644 --- a/Documentation/hwmon/tmp401 +++ b/Documentation/hwmon/tmp401 | |||
@@ -20,7 +20,7 @@ Supported chips: | |||
20 | Datasheet: http://focus.ti.com/docs/prod/folders/print/tmp432.html | 20 | Datasheet: http://focus.ti.com/docs/prod/folders/print/tmp432.html |
21 | * Texas Instruments TMP435 | 21 | * Texas Instruments TMP435 |
22 | Prefix: 'tmp435' | 22 | Prefix: 'tmp435' |
23 | Addresses scanned: I2C 0x37, 0x48 - 0x4f | 23 | Addresses scanned: I2C 0x48 - 0x4f |
24 | Datasheet: http://focus.ti.com/docs/prod/folders/print/tmp435.html | 24 | Datasheet: http://focus.ti.com/docs/prod/folders/print/tmp435.html |
25 | 25 | ||
26 | Authors: | 26 | Authors: |
diff --git a/Documentation/kasan.txt b/Documentation/kasan.txt index 092fc10961fe..4692241789b1 100644 --- a/Documentation/kasan.txt +++ b/Documentation/kasan.txt | |||
@@ -9,7 +9,9 @@ a fast and comprehensive solution for finding use-after-free and out-of-bounds | |||
9 | bugs. | 9 | bugs. |
10 | 10 | ||
11 | KASan uses compile-time instrumentation for checking every memory access, | 11 | KASan uses compile-time instrumentation for checking every memory access, |
12 | therefore you will need a certain version of GCC > 4.9.2 | 12 | therefore you will need a gcc version of 4.9.2 or later. KASan could detect out |
13 | of bounds accesses to stack or global variables, but only if gcc 5.0 or later was | ||
14 | used to built the kernel. | ||
13 | 15 | ||
14 | Currently KASan is supported only for x86_64 architecture and requires that the | 16 | Currently KASan is supported only for x86_64 architecture and requires that the |
15 | kernel be built with the SLUB allocator. | 17 | kernel be built with the SLUB allocator. |
@@ -23,8 +25,8 @@ To enable KASAN configure kernel with: | |||
23 | 25 | ||
24 | and choose between CONFIG_KASAN_OUTLINE and CONFIG_KASAN_INLINE. Outline/inline | 26 | and choose between CONFIG_KASAN_OUTLINE and CONFIG_KASAN_INLINE. Outline/inline |
25 | is compiler instrumentation types. The former produces smaller binary the | 27 | is compiler instrumentation types. The former produces smaller binary the |
26 | latter is 1.1 - 2 times faster. Inline instrumentation requires GCC 5.0 or | 28 | latter is 1.1 - 2 times faster. Inline instrumentation requires a gcc version |
27 | latter. | 29 | of 5.0 or later. |
28 | 30 | ||
29 | Currently KASAN works only with the SLUB memory allocator. | 31 | Currently KASAN works only with the SLUB memory allocator. |
30 | For better bug detection and nicer report, enable CONFIG_STACKTRACE and put | 32 | For better bug detection and nicer report, enable CONFIG_STACKTRACE and put |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index f6befa9855c1..61ab1628a057 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -3787,6 +3787,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
3787 | READ_CAPACITY_16 command); | 3787 | READ_CAPACITY_16 command); |
3788 | f = NO_REPORT_OPCODES (don't use report opcodes | 3788 | f = NO_REPORT_OPCODES (don't use report opcodes |
3789 | command, uas only); | 3789 | command, uas only); |
3790 | g = MAX_SECTORS_240 (don't transfer more than | ||
3791 | 240 sectors at a time, uas only); | ||
3790 | h = CAPACITY_HEURISTICS (decrease the | 3792 | h = CAPACITY_HEURISTICS (decrease the |
3791 | reported device capacity by one | 3793 | reported device capacity by one |
3792 | sector if the number is odd); | 3794 | sector if the number is odd); |
diff --git a/Documentation/module-signing.txt b/Documentation/module-signing.txt index 09c2382ad055..c72702ec1ded 100644 --- a/Documentation/module-signing.txt +++ b/Documentation/module-signing.txt | |||
@@ -119,9 +119,9 @@ Most notably, in the x509.genkey file, the req_distinguished_name section | |||
119 | should be altered from the default: | 119 | should be altered from the default: |
120 | 120 | ||
121 | [ req_distinguished_name ] | 121 | [ req_distinguished_name ] |
122 | O = Magrathea | 122 | #O = Unspecified company |
123 | CN = Glacier signing key | 123 | CN = Build time autogenerated kernel key |
124 | emailAddress = slartibartfast@magrathea.h2g2 | 124 | #emailAddress = unspecified.user@unspecified.company |
125 | 125 | ||
126 | The generated RSA key size can also be set with: | 126 | The generated RSA key size can also be set with: |
127 | 127 | ||
diff --git a/Documentation/networking/mpls-sysctl.txt b/Documentation/networking/mpls-sysctl.txt index 639ddf0ece9b..9ed15f86c17c 100644 --- a/Documentation/networking/mpls-sysctl.txt +++ b/Documentation/networking/mpls-sysctl.txt | |||
@@ -18,3 +18,12 @@ platform_labels - INTEGER | |||
18 | 18 | ||
19 | Possible values: 0 - 1048575 | 19 | Possible values: 0 - 1048575 |
20 | Default: 0 | 20 | Default: 0 |
21 | |||
22 | conf/<interface>/input - BOOL | ||
23 | Control whether packets can be input on this interface. | ||
24 | |||
25 | If disabled, packets will be discarded without further | ||
26 | processing. | ||
27 | |||
28 | 0 - disabled (default) | ||
29 | not 0 - enabled | ||
diff --git a/Documentation/networking/scaling.txt b/Documentation/networking/scaling.txt index cbfac0949635..59f4db2a0c85 100644 --- a/Documentation/networking/scaling.txt +++ b/Documentation/networking/scaling.txt | |||
@@ -282,7 +282,7 @@ following is true: | |||
282 | 282 | ||
283 | - The current CPU's queue head counter >= the recorded tail counter | 283 | - The current CPU's queue head counter >= the recorded tail counter |
284 | value in rps_dev_flow[i] | 284 | value in rps_dev_flow[i] |
285 | - The current CPU is unset (equal to RPS_NO_CPU) | 285 | - The current CPU is unset (>= nr_cpu_ids) |
286 | - The current CPU is offline | 286 | - The current CPU is offline |
287 | 287 | ||
288 | After this check, the packet is sent to the (possibly updated) current | 288 | After this check, the packet is sent to the (possibly updated) current |
diff --git a/Documentation/powerpc/transactional_memory.txt b/Documentation/powerpc/transactional_memory.txt index ba0a2a4a54ba..ded69794a5c0 100644 --- a/Documentation/powerpc/transactional_memory.txt +++ b/Documentation/powerpc/transactional_memory.txt | |||
@@ -74,23 +74,22 @@ Causes of transaction aborts | |||
74 | Syscalls | 74 | Syscalls |
75 | ======== | 75 | ======== |
76 | 76 | ||
77 | Syscalls made from within an active transaction will not be performed and the | 77 | Performing syscalls from within transaction is not recommended, and can lead |
78 | transaction will be doomed by the kernel with the failure code TM_CAUSE_SYSCALL | 78 | to unpredictable results. |
79 | | TM_CAUSE_PERSISTENT. | ||
80 | 79 | ||
81 | Syscalls made from within a suspended transaction are performed as normal and | 80 | Syscalls do not by design abort transactions, but beware: The kernel code will |
82 | the transaction is not explicitly doomed by the kernel. However, what the | 81 | not be running in transactional state. The effect of syscalls will always |
83 | kernel does to perform the syscall may result in the transaction being doomed | 82 | remain visible, but depending on the call they may abort your transaction as a |
84 | by the hardware. The syscall is performed in suspended mode so any side | 83 | side-effect, read soon-to-be-aborted transactional data that should not remain |
85 | effects will be persistent, independent of transaction success or failure. No | 84 | invisible, etc. If you constantly retry a transaction that constantly aborts |
86 | guarantees are provided by the kernel about which syscalls will affect | 85 | itself by calling a syscall, you'll have a livelock & make no progress. |
87 | transaction success. | ||
88 | 86 | ||
89 | Care must be taken when relying on syscalls to abort during active transactions | 87 | Simple syscalls (e.g. sigprocmask()) "could" be OK. Even things like write() |
90 | if the calls are made via a library. Libraries may cache values (which may | 88 | from, say, printf() should be OK as long as the kernel does not access any |
91 | give the appearance of success) or perform operations that cause transaction | 89 | memory that was accessed transactionally. |
92 | failure before entering the kernel (which may produce different failure codes). | 90 | |
93 | Examples are glibc's getpid() and lazy symbol resolution. | 91 | Consider any syscalls that happen to work as debug-only -- not recommended for |
92 | production use. Best to queue them up till after the transaction is over. | ||
94 | 93 | ||
95 | 94 | ||
96 | Signals | 95 | Signals |
@@ -177,7 +176,8 @@ kernel aborted a transaction: | |||
177 | TM_CAUSE_RESCHED Thread was rescheduled. | 176 | TM_CAUSE_RESCHED Thread was rescheduled. |
178 | TM_CAUSE_TLBI Software TLB invalid. | 177 | TM_CAUSE_TLBI Software TLB invalid. |
179 | TM_CAUSE_FAC_UNAV FP/VEC/VSX unavailable trap. | 178 | TM_CAUSE_FAC_UNAV FP/VEC/VSX unavailable trap. |
180 | TM_CAUSE_SYSCALL Syscall from active transaction. | 179 | TM_CAUSE_SYSCALL Currently unused; future syscalls that must abort |
180 | transactions for consistency will use this. | ||
181 | TM_CAUSE_SIGNAL Signal delivered. | 181 | TM_CAUSE_SIGNAL Signal delivered. |
182 | TM_CAUSE_MISC Currently unused. | 182 | TM_CAUSE_MISC Currently unused. |
183 | TM_CAUSE_ALIGNMENT Alignment fault. | 183 | TM_CAUSE_ALIGNMENT Alignment fault. |
diff --git a/Documentation/serial/tty.txt b/Documentation/serial/tty.txt index 1e52d67d0abf..dbe6623fed1c 100644 --- a/Documentation/serial/tty.txt +++ b/Documentation/serial/tty.txt | |||
@@ -198,6 +198,9 @@ TTY_IO_ERROR If set, causes all subsequent userspace read/write | |||
198 | 198 | ||
199 | TTY_OTHER_CLOSED Device is a pty and the other side has closed. | 199 | TTY_OTHER_CLOSED Device is a pty and the other side has closed. |
200 | 200 | ||
201 | TTY_OTHER_DONE Device is a pty and the other side has closed and | ||
202 | all pending input processing has been completed. | ||
203 | |||
201 | TTY_NO_WRITE_SPLIT Prevent driver from splitting up writes into | 204 | TTY_NO_WRITE_SPLIT Prevent driver from splitting up writes into |
202 | smaller chunks. | 205 | smaller chunks. |
203 | 206 | ||
diff --git a/Documentation/virtual/kvm/mmu.txt b/Documentation/virtual/kvm/mmu.txt index 53838d9c6295..c59bd9bc41ef 100644 --- a/Documentation/virtual/kvm/mmu.txt +++ b/Documentation/virtual/kvm/mmu.txt | |||
@@ -169,6 +169,10 @@ Shadow pages contain the following information: | |||
169 | Contains the value of cr4.smep && !cr0.wp for which the page is valid | 169 | Contains the value of cr4.smep && !cr0.wp for which the page is valid |
170 | (pages for which this is true are different from other pages; see the | 170 | (pages for which this is true are different from other pages; see the |
171 | treatment of cr0.wp=0 below). | 171 | treatment of cr0.wp=0 below). |
172 | role.smap_andnot_wp: | ||
173 | Contains the value of cr4.smap && !cr0.wp for which the page is valid | ||
174 | (pages for which this is true are different from other pages; see the | ||
175 | treatment of cr0.wp=0 below). | ||
172 | gfn: | 176 | gfn: |
173 | Either the guest page table containing the translations shadowed by this | 177 | Either the guest page table containing the translations shadowed by this |
174 | page, or the base page frame for linear translations. See role.direct. | 178 | page, or the base page frame for linear translations. See role.direct. |
@@ -344,10 +348,16 @@ on fault type: | |||
344 | 348 | ||
345 | (user write faults generate a #PF) | 349 | (user write faults generate a #PF) |
346 | 350 | ||
347 | In the first case there is an additional complication if CR4.SMEP is | 351 | In the first case there are two additional complications: |
348 | enabled: since we've turned the page into a kernel page, the kernel may now | 352 | - if CR4.SMEP is enabled: since we've turned the page into a kernel page, |
349 | execute it. We handle this by also setting spte.nx. If we get a user | 353 | the kernel may now execute it. We handle this by also setting spte.nx. |
350 | fetch or read fault, we'll change spte.u=1 and spte.nx=gpte.nx back. | 354 | If we get a user fetch or read fault, we'll change spte.u=1 and |
355 | spte.nx=gpte.nx back. | ||
356 | - if CR4.SMAP is disabled: since the page has been changed to a kernel | ||
357 | page, it can not be reused when CR4.SMAP is enabled. We set | ||
358 | CR4.SMAP && !CR0.WP into shadow page's role to avoid this case. Note, | ||
359 | here we do not care the case that CR4.SMAP is enabled since KVM will | ||
360 | directly inject #PF to guest due to failed permission check. | ||
351 | 361 | ||
352 | To prevent an spte that was converted into a kernel page with cr0.wp=0 | 362 | To prevent an spte that was converted into a kernel page with cr0.wp=0 |
353 | from being written by the kernel after cr0.wp has changed to 1, we make | 363 | from being written by the kernel after cr0.wp has changed to 1, we make |