Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'akpm' (patches from Andrew)

Merge misc fixes from Andrew Morton:
"11 patches.

Subsystems affected by this: misc, mm/hugetlb, mm/vmalloc, mm/misc,
romfs, relay, uprobes, squashfs, mm/cma, mm/pagealloc"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
mm, page_alloc: fix core hung in free_pcppages_bulk()
mm: include CMA pages in lowmem_reserve at boot
squashfs: avoid bio_alloc() failure with 1Mbyte blocks
uprobes: __replace_page() avoid BUG in munlock_vma_page()
kernel/relay.c: fix memleak on destroy relay channel
romfs: fix uninitialized memory leak in romfs_dev_read()
mm/rodata_test.c: fix missing function declaration
mm/vunmap: add cond_resched() in vunmap_pmd_range
khugepaged: adjust VM_BUG_ON_MM() in __khugepaged_enter()
hugetlb_cgroup: convert comma to semicolon
mailmap: add Andi Kleen

+21 -9
+1
.mailmap
··· 32 32 Alex Shi <alex.shi@linux.alibaba.com> <alex.shi@linaro.org> 33 33 Al Viro <viro@ftp.linux.org.uk> 34 34 Al Viro <viro@zenIV.linux.org.uk> 35 + Andi Kleen <ak@linux.intel.com> <ak@suse.de> 35 36 Andi Shyti <andi@etezian.org> <andi.shyti@samsung.com> 36 37 Andreas Herrmann <aherrman@de.ibm.com> 37 38 Andrew Morton <akpm@linux-foundation.org>
+1 -3
fs/romfs/storage.c
··· 217 217 size_t limit; 218 218 219 219 limit = romfs_maxsize(sb); 220 - if (pos >= limit) 220 + if (pos >= limit || buflen > limit - pos) 221 221 return -EIO; 222 - if (buflen > limit - pos) 223 - buflen = limit - pos; 224 222 225 223 #ifdef CONFIG_ROMFS_ON_MTD 226 224 if (sb->s_mtd)
+5 -1
fs/squashfs/block.c
··· 87 87 int error, i; 88 88 struct bio *bio; 89 89 90 - bio = bio_alloc(GFP_NOIO, page_count); 90 + if (page_count <= BIO_MAX_PAGES) 91 + bio = bio_alloc(GFP_NOIO, page_count); 92 + else 93 + bio = bio_kmalloc(GFP_NOIO, page_count); 94 + 91 95 if (!bio) 92 96 return -ENOMEM; 93 97
+1 -1
kernel/events/uprobes.c
··· 205 205 try_to_free_swap(old_page); 206 206 page_vma_mapped_walk_done(&pvmw); 207 207 208 - if (vma->vm_flags & VM_LOCKED) 208 + if ((vma->vm_flags & VM_LOCKED) && !PageCompound(old_page)) 209 209 munlock_vma_page(old_page); 210 210 put_page(old_page); 211 211
+1
kernel/relay.c
··· 197 197 static void relay_destroy_channel(struct kref *kref) 198 198 { 199 199 struct rchan *chan = container_of(kref, struct rchan, kref); 200 + free_percpu(chan->buf); 200 201 kfree(chan); 201 202 } 202 203
+2 -2
mm/hugetlb_cgroup.c
··· 655 655 snprintf(cft->name, MAX_CFTYPE_NAME, "%s.events", buf); 656 656 cft->private = MEMFILE_PRIVATE(idx, 0); 657 657 cft->seq_show = hugetlb_events_show; 658 - cft->file_offset = offsetof(struct hugetlb_cgroup, events_file[idx]), 658 + cft->file_offset = offsetof(struct hugetlb_cgroup, events_file[idx]); 659 659 cft->flags = CFTYPE_NOT_ON_ROOT; 660 660 661 661 /* Add the events.local file */ ··· 664 664 cft->private = MEMFILE_PRIVATE(idx, 0); 665 665 cft->seq_show = hugetlb_events_local_show; 666 666 cft->file_offset = offsetof(struct hugetlb_cgroup, 667 - events_local_file[idx]), 667 + events_local_file[idx]); 668 668 cft->flags = CFTYPE_NOT_ON_ROOT; 669 669 670 670 /* NULL terminate the last cft */
+1 -1
mm/khugepaged.c
··· 466 466 return -ENOMEM; 467 467 468 468 /* __khugepaged_exit() must not run from under us */ 469 - VM_BUG_ON_MM(khugepaged_test_exit(mm), mm); 469 + VM_BUG_ON_MM(atomic_read(&mm->mm_users) == 0, mm); 470 470 if (unlikely(test_and_set_bit(MMF_VM_HUGEPAGE, &mm->flags))) { 471 471 free_mm_slot(mm_slot); 472 472 return 0;
+6 -1
mm/page_alloc.c
··· 1302 1302 struct page *page, *tmp; 1303 1303 LIST_HEAD(head); 1304 1304 1305 + /* 1306 + * Ensure proper count is passed which otherwise would stuck in the 1307 + * below while (list_empty(list)) loop. 1308 + */ 1309 + count = min(pcp->count, count); 1305 1310 while (count) { 1306 1311 struct list_head *list; 1307 1312 ··· 7893 7888 7894 7889 return 0; 7895 7890 } 7896 - core_initcall(init_per_zone_wmark_min) 7891 + postcore_initcall(init_per_zone_wmark_min) 7897 7892 7898 7893 /* 7899 7894 * min_free_kbytes_sysctl_handler - just a wrapper around proc_dointvec() so
+1
mm/rodata_test.c
··· 7 7 */ 8 8 #define pr_fmt(fmt) "rodata_test: " fmt 9 9 10 + #include <linux/rodata_test.h> 10 11 #include <linux/uaccess.h> 11 12 #include <asm/sections.h> 12 13
+2
mm/vmalloc.c
··· 104 104 if (pmd_none_or_clear_bad(pmd)) 105 105 continue; 106 106 vunmap_pte_range(pmd, addr, next, mask); 107 + 108 + cond_resched(); 107 109 } while (pmd++, addr = next, addr != end); 108 110 } 109 111