diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-11 21:23:28 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-02-11 21:23:28 -0500 |
commit | 59d53737a8640482995fea13c6e2c0fd016115d6 (patch) | |
tree | 3423eb92315865d76cb8d488513bfef6ab9251d0 /net | |
parent | d3f180ea1a44aecba1b0dab2a253428e77f906bf (diff) | |
parent | 8138a67a5557ffea3a21dfd6f037842d4e748513 (diff) |
Merge branch 'akpm' (patches from Andrew)
Merge second set of updates from Andrew Morton:
"More of MM"
* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (83 commits)
mm/nommu.c: fix arithmetic overflow in __vm_enough_memory()
mm/mmap.c: fix arithmetic overflow in __vm_enough_memory()
vmstat: Reduce time interval to stat update on idle cpu
mm/page_owner.c: remove unnecessary stack_trace field
Documentation/filesystems/proc.txt: describe /proc/<pid>/map_files
mm: incorporate read-only pages into transparent huge pages
vmstat: do not use deferrable delayed work for vmstat_update
mm: more aggressive page stealing for UNMOVABLE allocations
mm: always steal split buddies in fallback allocations
mm: when stealing freepages, also take pages created by splitting buddy page
mincore: apply page table walker on do_mincore()
mm: /proc/pid/clear_refs: avoid split_huge_page()
mm: pagewalk: fix misbehavior of walk_page_range for vma(VM_PFNMAP)
mempolicy: apply page table walker on queue_pages_range()
arch/powerpc/mm/subpage-prot.c: use walk->vma and walk_page_vma()
memcg: cleanup preparation for page table walk
numa_maps: remove numa_maps->vma
numa_maps: fix typo in gather_hugetbl_stats
pagemap: use walk->vma instead of calling find_vma()
clear_refs: remove clear_refs_private->vma and introduce clear_refs_test_walk()
...
Diffstat (limited to 'net')
-rw-r--r-- | net/ceph/pagevec.c | 6 | ||||
-rw-r--r-- | net/ipv4/tcp_memcontrol.c | 2 |
2 files changed, 3 insertions, 5 deletions
diff --git a/net/ceph/pagevec.c b/net/ceph/pagevec.c index 555013034f7a..096d91447e06 100644 --- a/net/ceph/pagevec.c +++ b/net/ceph/pagevec.c | |||
@@ -23,17 +23,15 @@ struct page **ceph_get_direct_page_vector(const void __user *data, | |||
23 | if (!pages) | 23 | if (!pages) |
24 | return ERR_PTR(-ENOMEM); | 24 | return ERR_PTR(-ENOMEM); |
25 | 25 | ||
26 | down_read(¤t->mm->mmap_sem); | ||
27 | while (got < num_pages) { | 26 | while (got < num_pages) { |
28 | rc = get_user_pages(current, current->mm, | 27 | rc = get_user_pages_unlocked(current, current->mm, |
29 | (unsigned long)data + ((unsigned long)got * PAGE_SIZE), | 28 | (unsigned long)data + ((unsigned long)got * PAGE_SIZE), |
30 | num_pages - got, write_page, 0, pages + got, NULL); | 29 | num_pages - got, write_page, 0, pages + got); |
31 | if (rc < 0) | 30 | if (rc < 0) |
32 | break; | 31 | break; |
33 | BUG_ON(rc == 0); | 32 | BUG_ON(rc == 0); |
34 | got += rc; | 33 | got += rc; |
35 | } | 34 | } |
36 | up_read(¤t->mm->mmap_sem); | ||
37 | if (rc < 0) | 35 | if (rc < 0) |
38 | goto fail; | 36 | goto fail; |
39 | return pages; | 37 | return pages; |
diff --git a/net/ipv4/tcp_memcontrol.c b/net/ipv4/tcp_memcontrol.c index 272327134a1b..c2a75c6957a1 100644 --- a/net/ipv4/tcp_memcontrol.c +++ b/net/ipv4/tcp_memcontrol.c | |||
@@ -120,7 +120,7 @@ static ssize_t tcp_cgroup_write(struct kernfs_open_file *of, | |||
120 | switch (of_cft(of)->private) { | 120 | switch (of_cft(of)->private) { |
121 | case RES_LIMIT: | 121 | case RES_LIMIT: |
122 | /* see memcontrol.c */ | 122 | /* see memcontrol.c */ |
123 | ret = page_counter_memparse(buf, &nr_pages); | 123 | ret = page_counter_memparse(buf, "-1", &nr_pages); |
124 | if (ret) | 124 | if (ret) |
125 | break; | 125 | break; |
126 | mutex_lock(&tcp_limit_mutex); | 126 | mutex_lock(&tcp_limit_mutex); |