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

Merge branch 'akpm'

* akpm:
mm: compaction: check pfn_valid when entering a new MAX_ORDER_NR_PAGES block during isolation for migration
readahead: fix pipeline break caused by block plug
kprobes: fix a memory leak in function pre_handler_kretprobe()
drivers/tty/vt/vt_ioctl.c: fix KDFONTOP 32bit compatibility layer
lkdtm: avoid calling lkdtm_do_action() with spinlock held
mm/filemap_xip.c: fix race condition in xip_file_fault()
mm/memcontrol.c: fix warning with CONFIG_NUMA=n
avr32: select generic atomic64_t support
mm: postpone migrated page mapping reset
xtensa: fix memscan()
MAINTAINERS: update lguest F: patterns
MAINTAINERS: remove staging sections
MAINTAINERS: remove iMX5 section
MAINTAINERS: update partitions block F: patterns

+41 -28
+4 -15
MAINTAINERS
··· 789 789 F: arch/arm/mach-imx/ 790 790 F: arch/arm/plat-mxc/ 791 791 792 - ARM/FREESCALE IMX51 793 - M: Amit Kucheria <amit.kucheria@canonical.com> 794 - L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) 795 - S: Maintained 796 - F: arch/arm/mach-mx5/ 797 - 798 792 ARM/FREESCALE IMX6 799 793 M: Shawn Guo <shawn.guo@linaro.org> 800 794 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) ··· 3986 3992 L: lguest@lists.ozlabs.org 3987 3993 W: http://lguest.ozlabs.org/ 3988 3994 S: Odd Fixes 3989 - F: Documentation/virtual/lguest/ 3995 + F: arch/x86/include/asm/lguest*.h 3990 3996 F: arch/x86/lguest/ 3991 3997 F: drivers/lguest/ 3992 3998 F: include/linux/lguest*.h 3993 - F: arch/x86/include/asm/lguest*.h 3999 + F: tools/lguest/ 3994 4000 3995 4001 LINUX FOR IBM pSERIES (RS/6000) 3996 4002 M: Paul Mackerras <paulus@au.ibm.com> ··· 4130 4136 W: http://www.linux-ntfs.org/content/view/19/37/ 4131 4137 S: Maintained 4132 4138 F: Documentation/ldm.txt 4133 - F: fs/partitions/ldm.* 4139 + F: block/partitions/ldm.* 4134 4140 4135 4141 LogFS 4136 4142 M: Joern Engel <joern@logfs.org> ··· 5627 5633 S: Supported 5628 5634 F: arch/s390/ 5629 5635 F: drivers/s390/ 5630 - F: fs/partitions/ibm.c 5636 + F: block/partitions/ibm.c 5631 5637 F: Documentation/s390/ 5632 5638 F: Documentation/DocBook/s390* 5633 5639 ··· 6389 6395 M: Omar Ramirez Luna <omar.ramirez@ti.com> 6390 6396 S: Odd Fixes 6391 6397 F: drivers/staging/tidspbridge/ 6392 - 6393 - STAGING - TRIDENT TVMASTER TMxxxx USB VIDEO CAPTURE DRIVERS 6394 - L: linux-media@vger.kernel.org 6395 - S: Odd Fixes 6396 - F: drivers/staging/tm6000/ 6397 6398 6398 6399 STAGING - USB ENE SM/MS CARD READER DRIVER 6399 6400 M: Al Cho <acho@novell.com>
+1
arch/avr32/Kconfig
··· 8 8 select HAVE_KPROBES 9 9 select HAVE_GENERIC_HARDIRQS 10 10 select GENERIC_IRQ_PROBE 11 + select GENERIC_ATOMIC64 11 12 select HARDIRQS_SW_RESEND 12 13 select GENERIC_IRQ_SHOW 13 14 select ARCH_HAVE_NMI_SAFE_CMPXCHG
-3
arch/xtensa/include/asm/string.h
··· 118 118 /* Don't build bcopy at all ... */ 119 119 #define __HAVE_ARCH_BCOPY 120 120 121 - #define __HAVE_ARCH_MEMSCAN 122 - #define memscan memchr 123 - 124 121 #endif /* _XTENSA_STRING_H */
+5 -1
drivers/misc/lkdtm.c
··· 354 354 static void lkdtm_handler(void) 355 355 { 356 356 unsigned long flags; 357 + bool do_it = false; 357 358 358 359 spin_lock_irqsave(&count_lock, flags); 359 360 count--; ··· 362 361 cp_name_to_str(cpoint), cp_type_to_str(cptype), count); 363 362 364 363 if (count == 0) { 365 - lkdtm_do_action(cptype); 364 + do_it = true; 366 365 count = cpoint_count; 367 366 } 368 367 spin_unlock_irqrestore(&count_lock, flags); 368 + 369 + if (do_it) 370 + lkdtm_do_action(cptype); 369 371 } 370 372 371 373 static int lkdtm_register_cpoint(enum cname which)
-1
drivers/tty/vt/vt_ioctl.c
··· 1463 1463 if (!perm && op->op != KD_FONT_OP_GET) 1464 1464 return -EPERM; 1465 1465 op->data = compat_ptr(((struct compat_console_font_op *)op)->data); 1466 - op->flags |= KD_FONT_FLAG_OLD; 1467 1466 i = con_font_op(vc, op); 1468 1467 if (i) 1469 1468 return i;
+5 -1
kernel/kprobes.c
··· 1673 1673 ri->rp = rp; 1674 1674 ri->task = current; 1675 1675 1676 - if (rp->entry_handler && rp->entry_handler(ri, regs)) 1676 + if (rp->entry_handler && rp->entry_handler(ri, regs)) { 1677 + raw_spin_lock_irqsave(&rp->lock, flags); 1678 + hlist_add_head(&ri->hlist, &rp->free_instances); 1679 + raw_spin_unlock_irqrestore(&rp->lock, flags); 1677 1680 return 0; 1681 + } 1678 1682 1679 1683 arch_prepare_kretprobe(ri, regs); 1680 1684
+13
mm/compaction.c
··· 313 313 } else if (!locked) 314 314 spin_lock_irq(&zone->lru_lock); 315 315 316 + /* 317 + * migrate_pfn does not necessarily start aligned to a 318 + * pageblock. Ensure that pfn_valid is called when moving 319 + * into a new MAX_ORDER_NR_PAGES range in case of large 320 + * memory holes within the zone 321 + */ 322 + if ((low_pfn & (MAX_ORDER_NR_PAGES - 1)) == 0) { 323 + if (!pfn_valid(low_pfn)) { 324 + low_pfn += MAX_ORDER_NR_PAGES - 1; 325 + continue; 326 + } 327 + } 328 + 316 329 if (!pfn_valid_within(low_pfn)) 317 330 continue; 318 331 nr_scanned++;
+4 -4
mm/filemap.c
··· 1400 1400 unsigned long seg = 0; 1401 1401 size_t count; 1402 1402 loff_t *ppos = &iocb->ki_pos; 1403 - struct blk_plug plug; 1404 1403 1405 1404 count = 0; 1406 1405 retval = generic_segment_checks(iov, &nr_segs, &count, VERIFY_WRITE); 1407 1406 if (retval) 1408 1407 return retval; 1409 - 1410 - blk_start_plug(&plug); 1411 1408 1412 1409 /* coalesce the iovecs and go direct-to-BIO for O_DIRECT */ 1413 1410 if (filp->f_flags & O_DIRECT) { ··· 1421 1424 retval = filemap_write_and_wait_range(mapping, pos, 1422 1425 pos + iov_length(iov, nr_segs) - 1); 1423 1426 if (!retval) { 1427 + struct blk_plug plug; 1428 + 1429 + blk_start_plug(&plug); 1424 1430 retval = mapping->a_ops->direct_IO(READ, iocb, 1425 1431 iov, pos, nr_segs); 1432 + blk_finish_plug(&plug); 1426 1433 } 1427 1434 if (retval > 0) { 1428 1435 *ppos = pos + retval; ··· 1482 1481 break; 1483 1482 } 1484 1483 out: 1485 - blk_finish_plug(&plug); 1486 1484 return retval; 1487 1485 } 1488 1486 EXPORT_SYMBOL(generic_file_aio_read);
+6 -1
mm/filemap_xip.c
··· 263 263 xip_pfn); 264 264 if (err == -ENOMEM) 265 265 return VM_FAULT_OOM; 266 - BUG_ON(err); 266 + /* 267 + * err == -EBUSY is fine, we've raced against another thread 268 + * that faulted-in the same page 269 + */ 270 + if (err != -EBUSY) 271 + BUG_ON(err); 267 272 return VM_FAULT_NOPAGE; 268 273 } else { 269 274 int err, ret = VM_FAULT_OOM;
+2 -1
mm/memcontrol.c
··· 776 776 /* threshold event is triggered in finer grain than soft limit */ 777 777 if (unlikely(mem_cgroup_event_ratelimit(memcg, 778 778 MEM_CGROUP_TARGET_THRESH))) { 779 - bool do_softlimit, do_numainfo; 779 + bool do_softlimit; 780 + bool do_numainfo __maybe_unused; 780 781 781 782 do_softlimit = mem_cgroup_event_ratelimit(memcg, 782 783 MEM_CGROUP_TARGET_SOFTLIMIT);
+1 -1
mm/migrate.c
··· 445 445 ClearPageSwapCache(page); 446 446 ClearPagePrivate(page); 447 447 set_page_private(page, 0); 448 - page->mapping = NULL; 449 448 450 449 /* 451 450 * If any waiters have accumulated on the new page then ··· 666 667 } else { 667 668 if (remap_swapcache) 668 669 remove_migration_ptes(page, newpage); 670 + page->mapping = NULL; 669 671 } 670 672 671 673 unlock_page(newpage);