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 fixes from Andrew Morton:
"9 fixes"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
ocfs2/dlm: unlock lockres spinlock before dlm_lockres_put
fault-inject: fix inverted interval/probability values in printk
lib/Kconfig.debug: disable -Wframe-larger-than warnings with KASAN=y
mm: make sendfile(2) killable
thp: use is_zero_pfn() only after pte_present() check
mailmap: update Javier Martinez Canillas' email
MAINTAINERS: add Sergey as zsmalloc reviewer
mm: cma: fix incorrect type conversion for size during dma allocation
kmod: don't run async usermode helper as a child of kworker thread

+26 -16
+1
.mailmap
··· 59 59 James Bottomley <jejb@titanic.il.steeleye.com> 60 60 James E Wilson <wilson@specifix.com> 61 61 James Ketrenos <jketreno@io.(none)> 62 + <javier@osg.samsung.com> <javier.martinez@collabora.co.uk> 62 63 Jean Tourrilhes <jt@hpl.hp.com> 63 64 Jeff Garzik <jgarzik@pretzel.yyz.us> 64 65 Jens Axboe <axboe@suse.de>
+1
MAINTAINERS
··· 11675 11675 ZSMALLOC COMPRESSED SLAB MEMORY ALLOCATOR 11676 11676 M: Minchan Kim <minchan@kernel.org> 11677 11677 M: Nitin Gupta <ngupta@vflare.org> 11678 + R: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com> 11678 11679 L: linux-mm@kvack.org 11679 11680 S: Maintained 11680 11681 F: mm/zsmalloc.c
+1 -1
drivers/base/dma-contiguous.c
··· 187 187 * global one. Requires architecture specific dev_get_cma_area() helper 188 188 * function. 189 189 */ 190 - struct page *dma_alloc_from_contiguous(struct device *dev, int count, 190 + struct page *dma_alloc_from_contiguous(struct device *dev, size_t count, 191 191 unsigned int align) 192 192 { 193 193 if (align > CONFIG_CMA_ALIGNMENT)
+2 -1
fs/ocfs2/dlm/dlmmaster.c
··· 1658 1658 if (ret < 0) { 1659 1659 mlog(ML_ERROR, "failed to dispatch assert master work\n"); 1660 1660 response = DLM_MASTER_RESP_ERROR; 1661 + spin_unlock(&res->spinlock); 1661 1662 dlm_lockres_put(res); 1662 1663 } else { 1663 1664 dispatched = 1; 1664 1665 __dlm_lockres_grab_inflight_worker(dlm, res); 1666 + spin_unlock(&res->spinlock); 1665 1667 } 1666 - spin_unlock(&res->spinlock); 1667 1668 } else { 1668 1669 if (res) 1669 1670 dlm_lockres_put(res);
+1 -1
fs/ocfs2/dlm/dlmrecovery.c
··· 1723 1723 } else { 1724 1724 dispatched = 1; 1725 1725 __dlm_lockres_grab_inflight_worker(dlm, res); 1726 + spin_unlock(&res->spinlock); 1726 1727 } 1727 - spin_unlock(&res->spinlock); 1728 1728 } else { 1729 1729 /* put.. incase we are not the master */ 1730 1730 spin_unlock(&res->spinlock);
+1 -1
include/linux/cma.h
··· 26 26 extern int cma_init_reserved_mem(phys_addr_t base, phys_addr_t size, 27 27 unsigned int order_per_bit, 28 28 struct cma **res_cma); 29 - extern struct page *cma_alloc(struct cma *cma, unsigned int count, unsigned int align); 29 + extern struct page *cma_alloc(struct cma *cma, size_t count, unsigned int align); 30 30 extern bool cma_release(struct cma *cma, const struct page *pages, unsigned int count); 31 31 #endif
+2 -2
include/linux/dma-contiguous.h
··· 111 111 return ret; 112 112 } 113 113 114 - struct page *dma_alloc_from_contiguous(struct device *dev, int count, 114 + struct page *dma_alloc_from_contiguous(struct device *dev, size_t count, 115 115 unsigned int order); 116 116 bool dma_release_from_contiguous(struct device *dev, struct page *pages, 117 117 int count); ··· 144 144 } 145 145 146 146 static inline 147 - struct page *dma_alloc_from_contiguous(struct device *dev, int count, 147 + struct page *dma_alloc_from_contiguous(struct device *dev, size_t count, 148 148 unsigned int order) 149 149 { 150 150 return NULL;
+6 -2
kernel/kmod.c
··· 327 327 call_usermodehelper_exec_sync(sub_info); 328 328 } else { 329 329 pid_t pid; 330 - 330 + /* 331 + * Use CLONE_PARENT to reparent it to kthreadd; we do not 332 + * want to pollute current->children, and we need a parent 333 + * that always ignores SIGCHLD to ensure auto-reaping. 334 + */ 331 335 pid = kernel_thread(call_usermodehelper_exec_async, sub_info, 332 - SIGCHLD); 336 + CLONE_PARENT | SIGCHLD); 333 337 if (pid < 0) { 334 338 sub_info->retval = pid; 335 339 umh_complete(sub_info);
+1
lib/Kconfig.debug
··· 197 197 config FRAME_WARN 198 198 int "Warn for stack frames larger than (needs gcc 4.4)" 199 199 range 0 8192 200 + default 0 if KASAN 200 201 default 1024 if !64BIT 201 202 default 2048 if 64BIT 202 203 help
+1 -1
lib/fault-inject.c
··· 44 44 printk(KERN_NOTICE "FAULT_INJECTION: forcing a failure.\n" 45 45 "name %pd, interval %lu, probability %lu, " 46 46 "space %d, times %d\n", attr->dname, 47 - attr->probability, attr->interval, 47 + attr->interval, attr->probability, 48 48 atomic_read(&attr->space), 49 49 atomic_read(&attr->times)); 50 50 if (attr->verbose > 1)
+2 -2
mm/cma.c
··· 361 361 * This function allocates part of contiguous memory on specific 362 362 * contiguous memory area. 363 363 */ 364 - struct page *cma_alloc(struct cma *cma, unsigned int count, unsigned int align) 364 + struct page *cma_alloc(struct cma *cma, size_t count, unsigned int align) 365 365 { 366 366 unsigned long mask, offset, pfn, start = 0; 367 367 unsigned long bitmap_maxno, bitmap_no, bitmap_count; ··· 371 371 if (!cma || !cma->count) 372 372 return NULL; 373 373 374 - pr_debug("%s(cma %p, count %d, align %d)\n", __func__, (void *)cma, 374 + pr_debug("%s(cma %p, count %zu, align %d)\n", __func__, (void *)cma, 375 375 count, align); 376 376 377 377 if (!count)
+5 -4
mm/filemap.c
··· 2488 2488 break; 2489 2489 } 2490 2490 2491 + if (fatal_signal_pending(current)) { 2492 + status = -EINTR; 2493 + break; 2494 + } 2495 + 2491 2496 status = a_ops->write_begin(file, mapping, pos, bytes, flags, 2492 2497 &page, &fsdata); 2493 2498 if (unlikely(status < 0)) ··· 2530 2525 written += copied; 2531 2526 2532 2527 balance_dirty_pages_ratelimited(mapping); 2533 - if (fatal_signal_pending(current)) { 2534 - status = -EINTR; 2535 - break; 2536 - } 2537 2528 } while (iov_iter_count(i)); 2538 2529 2539 2530 return written ? written : status;
+2 -1
mm/huge_memory.c
··· 2206 2206 for (_pte = pte; _pte < pte+HPAGE_PMD_NR; 2207 2207 _pte++, address += PAGE_SIZE) { 2208 2208 pte_t pteval = *_pte; 2209 - if (pte_none(pteval) || is_zero_pfn(pte_pfn(pteval))) { 2209 + if (pte_none(pteval) || (pte_present(pteval) && 2210 + is_zero_pfn(pte_pfn(pteval)))) { 2210 2211 if (!userfaultfd_armed(vma) && 2211 2212 ++none_or_zero <= khugepaged_max_ptes_none) 2212 2213 continue;