diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-15 19:39:15 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-15 19:39:15 -0400 |
commit | eea3a00264cf243a28e4331566ce67b86059339d (patch) | |
tree | 487f16389e0dfa32e9caa7604d1274a7dcda8f04 /mm/rmap.c | |
parent | e7c82412433a8039616c7314533a0a1c025d99bf (diff) | |
parent | e693d73c20ffdb06840c9378f367bad849ac0d5d (diff) |
Merge branch 'akpm' (patches from Andrew)
Merge second patchbomb from Andrew Morton:
- the rest of MM
- various misc bits
- add ability to run /sbin/reboot at reboot time
- printk/vsprintf changes
- fiddle with seq_printf() return value
* akpm: (114 commits)
parisc: remove use of seq_printf return value
lru_cache: remove use of seq_printf return value
tracing: remove use of seq_printf return value
cgroup: remove use of seq_printf return value
proc: remove use of seq_printf return value
s390: remove use of seq_printf return value
cris fasttimer: remove use of seq_printf return value
cris: remove use of seq_printf return value
openrisc: remove use of seq_printf return value
ARM: plat-pxa: remove use of seq_printf return value
nios2: cpuinfo: remove use of seq_printf return value
microblaze: mb: remove use of seq_printf return value
ipc: remove use of seq_printf return value
rtc: remove use of seq_printf return value
power: wakeup: remove use of seq_printf return value
x86: mtrr: if: remove use of seq_printf return value
linux/bitmap.h: improve BITMAP_{LAST,FIRST}_WORD_MASK
MAINTAINERS: CREDITS: remove Stefano Brivio from B43
.mailmap: add Ricardo Ribalda
CREDITS: add Ricardo Ribalda Delgado
...
Diffstat (limited to 'mm/rmap.c')
-rw-r--r-- | mm/rmap.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -456,7 +456,7 @@ struct anon_vma *page_get_anon_vma(struct page *page) | |||
456 | unsigned long anon_mapping; | 456 | unsigned long anon_mapping; |
457 | 457 | ||
458 | rcu_read_lock(); | 458 | rcu_read_lock(); |
459 | anon_mapping = (unsigned long) ACCESS_ONCE(page->mapping); | 459 | anon_mapping = (unsigned long)READ_ONCE(page->mapping); |
460 | if ((anon_mapping & PAGE_MAPPING_FLAGS) != PAGE_MAPPING_ANON) | 460 | if ((anon_mapping & PAGE_MAPPING_FLAGS) != PAGE_MAPPING_ANON) |
461 | goto out; | 461 | goto out; |
462 | if (!page_mapped(page)) | 462 | if (!page_mapped(page)) |
@@ -500,14 +500,14 @@ struct anon_vma *page_lock_anon_vma_read(struct page *page) | |||
500 | unsigned long anon_mapping; | 500 | unsigned long anon_mapping; |
501 | 501 | ||
502 | rcu_read_lock(); | 502 | rcu_read_lock(); |
503 | anon_mapping = (unsigned long) ACCESS_ONCE(page->mapping); | 503 | anon_mapping = (unsigned long)READ_ONCE(page->mapping); |
504 | if ((anon_mapping & PAGE_MAPPING_FLAGS) != PAGE_MAPPING_ANON) | 504 | if ((anon_mapping & PAGE_MAPPING_FLAGS) != PAGE_MAPPING_ANON) |
505 | goto out; | 505 | goto out; |
506 | if (!page_mapped(page)) | 506 | if (!page_mapped(page)) |
507 | goto out; | 507 | goto out; |
508 | 508 | ||
509 | anon_vma = (struct anon_vma *) (anon_mapping - PAGE_MAPPING_ANON); | 509 | anon_vma = (struct anon_vma *) (anon_mapping - PAGE_MAPPING_ANON); |
510 | root_anon_vma = ACCESS_ONCE(anon_vma->root); | 510 | root_anon_vma = READ_ONCE(anon_vma->root); |
511 | if (down_read_trylock(&root_anon_vma->rwsem)) { | 511 | if (down_read_trylock(&root_anon_vma->rwsem)) { |
512 | /* | 512 | /* |
513 | * If the page is still mapped, then this anon_vma is still | 513 | * If the page is still mapped, then this anon_vma is still |