[$] Patching until the COWs come home (part 1)

The kernel’s memory-management subsystem is built upon many concepts, one
of which is called “copy on write”, or “COW”.
The idea behind COW is conceptually simple, but its
details are tricky and its past is troublesome. Any change to its
implementation can have unexpected consequences and cause subtle breakage
for existing workloads. So it is somewhat surprising that last year we saw
two major changes the kernel’s COW code; less surprising is the fact that,
both times, these changes had unexpected consequences and broke things.
Some of the resulting problems are still not fixed
today, almost ten months after the first change, while the original reason
for the changes — a security vulnerability — is also not fully fixed. Read
on for a description of COW, the vulnerability, and the initial fix; the
concluding article in series will describe the complications that arose
thereafter.

Source: LWN.net – [$] Patching until the COWs come home (part 1)