Revision 4969c1192d15afa3389e7ae3302096ff684ba655 authored by Andrea Arcangeli on 09 September 2010, 23:37:52 UTC, committed by Linus Torvalds on 10 September 2010, 01:57:24 UTC
The pte_same check is reliable only if the swap entry remains pinned (by the page lock on swapcache). We've also to ensure the swapcache isn't removed before we take the lock as try_to_free_swap won't care about the page pin. One of the possible impacts of this patch is that a KSM-shared page can point to the anon_vma of another process, which could exit before the page is freed. This can leave a page with a pointer to a recycled anon_vma object, or worse, a pointer to something that is no longer an anon_vma. [riel@redhat.com: changelog help] Signed-off-by: Andrea Arcangeli <aarcange@redhat.com> Acked-by: Hugh Dickins <hughd@google.com> Reviewed-by: Rik van Riel <riel@redhat.com> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 7c5367f
File | Mode | Size |
---|---|---|
async_tx | ||
Kconfig | -rw-r--r-- | 23.7 KB |
Makefile | -rw-r--r-- | 3.1 KB |
ablkcipher.c | -rw-r--r-- | 16.5 KB |
aead.c | -rw-r--r-- | 12.6 KB |
aes_generic.c | -rw-r--r-- | 61.9 KB |
ahash.c | -rw-r--r-- | 12.1 KB |
algapi.c | -rw-r--r-- | 19.0 KB |
algboss.c | -rw-r--r-- | 6.3 KB |
ansi_cprng.c | -rw-r--r-- | 10.9 KB |
anubis.c | -rw-r--r-- | 27.8 KB |
api.c | -rw-r--r-- | 13.4 KB |
arc4.c | -rw-r--r-- | 2.0 KB |
authenc.c | -rw-r--r-- | 19.8 KB |
blkcipher.c | -rw-r--r-- | 18.6 KB |
blowfish.c | -rw-r--r-- | 17.5 KB |
camellia.c | -rw-r--r-- | 35.9 KB |
cast5.c | -rw-r--r-- | 34.1 KB |
cast6.c | -rw-r--r-- | 21.4 KB |
cbc.c | -rw-r--r-- | 7.4 KB |
ccm.c | -rw-r--r-- | 21.5 KB |
chainiv.c | -rw-r--r-- | 8.6 KB |
cipher.c | -rw-r--r-- | 3.3 KB |
compress.c | -rw-r--r-- | 1.3 KB |
crc32c.c | -rw-r--r-- | 8.0 KB |
cryptd.c | -rw-r--r-- | 19.1 KB |
crypto_null.c | -rw-r--r-- | 4.9 KB |
crypto_wq.c | -rw-r--r-- | 896 bytes |
ctr.c | -rw-r--r-- | 10.8 KB |
cts.c | -rw-r--r-- | 9.8 KB |
deflate.c | -rw-r--r-- | 5.5 KB |
des_generic.c | -rw-r--r-- | 35.4 KB |
ecb.c | -rw-r--r-- | 4.9 KB |
eseqiv.c | -rw-r--r-- | 6.7 KB |
fcrypt.c | -rw-r--r-- | 18.0 KB |
fips.c | -rw-r--r-- | 705 bytes |
gcm.c | -rw-r--r-- | 34.8 KB |
gf128mul.c | -rw-r--r-- | 13.2 KB |
ghash-generic.c | -rw-r--r-- | 3.7 KB |
hmac.c | -rw-r--r-- | 6.9 KB |
internal.h | -rw-r--r-- | 3.9 KB |
khazad.c | -rw-r--r-- | 51.8 KB |
krng.c | -rw-r--r-- | 1.5 KB |
lrw.c | -rw-r--r-- | 7.6 KB |
lzo.c | -rw-r--r-- | 2.5 KB |
md4.c | -rw-r--r-- | 6.1 KB |
md5.c | -rw-r--r-- | 7.5 KB |
michael_mic.c | -rw-r--r-- | 3.6 KB |
pcbc.c | -rw-r--r-- | 7.7 KB |
pcompress.c | -rw-r--r-- | 2.5 KB |
pcrypt.c | -rw-r--r-- | 14.7 KB |
proc.c | -rw-r--r-- | 3.6 KB |
ripemd.h | -rw-r--r-- | 974 bytes |
rmd128.c | -rw-r--r-- | 10.1 KB |
rmd160.c | -rw-r--r-- | 12.6 KB |
rmd256.c | -rw-r--r-- | 10.5 KB |
rmd320.c | -rw-r--r-- | 13.0 KB |
rng.c | -rw-r--r-- | 2.8 KB |
salsa20_generic.c | -rw-r--r-- | 6.7 KB |
scatterwalk.c | -rw-r--r-- | 2.9 KB |
seed.c | -rw-r--r-- | 17.4 KB |
seqiv.c | -rw-r--r-- | 8.6 KB |
serpent.c | -rw-r--r-- | 19.8 KB |
sha1_generic.c | -rw-r--r-- | 3.4 KB |
sha256_generic.c | -rw-r--r-- | 12.2 KB |
sha512_generic.c | -rw-r--r-- | 8.8 KB |
shash.c | -rw-r--r-- | 16.1 KB |
tcrypt.c | -rw-r--r-- | 27.3 KB |
tcrypt.h | -rw-r--r-- | 3.4 KB |
tea.c | -rw-r--r-- | 7.1 KB |
testmgr.c | -rw-r--r-- | 53.8 KB |
testmgr.h | -rw-r--r-- | 311.5 KB |
tgr192.c | -rw-r--r-- | 30.8 KB |
twofish_common.c | -rw-r--r-- | 37.7 KB |
twofish_generic.c | -rw-r--r-- | 6.3 KB |
vmac.c | -rw-r--r-- | 17.9 KB |
wp512.c | -rw-r--r-- | 60.1 KB |
xcbc.c | -rw-r--r-- | 7.2 KB |
xor.c | -rw-r--r-- | 3.9 KB |
xts.c | -rw-r--r-- | 7.1 KB |
zlib.c | -rw-r--r-- | 9.5 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...