Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 68b8dffc authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'akpm' (patches from Andrew)

Merge misc fixes from Andrew Morton:
 "8 fixes"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
  MAINTAINERS: demote ARM port to "odd fixes"
  MAINTAINERS: correct rmk's email address
  mm/kmemleak.c: wait for scan completion before disabling free
  mm/memcontrol.c: fix parameter description mismatch
  mm/vmstat.c: fix vmstat_update() preemption BUG
  mm/page_owner: fix recursion bug after changing skip entries
  ipc/shm.c: add split function to shm_vm_ops
  mm, slab: memcg_link the SLAB's kmem_cache
parents a2601d78 18bd4904
Loading
Loading
Loading
Loading
+23 −9
Original line number Original line Diff line number Diff line
@@ -1060,41 +1060,42 @@ ARM PORT
M:	Russell King <linux@armlinux.org.uk>
M:	Russell King <linux@armlinux.org.uk>
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
W:	http://www.armlinux.org.uk/
W:	http://www.armlinux.org.uk/
S:	Maintained
S:	Odd Fixes
T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git
T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git
F:	arch/arm/
F:	arch/arm/
X:	arch/arm/boot/dts/


ARM PRIMECELL AACI PL041 DRIVER
ARM PRIMECELL AACI PL041 DRIVER
M:	Russell King <linux@armlinux.org.uk>
M:	Russell King <linux@armlinux.org.uk>
S:	Maintained
S:	Odd Fixes
F:	sound/arm/aaci.*
F:	sound/arm/aaci.*


ARM PRIMECELL BUS SUPPORT
ARM PRIMECELL BUS SUPPORT
M:	Russell King <linux@armlinux.org.uk>
M:	Russell King <linux@armlinux.org.uk>
S:	Maintained
S:	Odd Fixes
F:	drivers/amba/
F:	drivers/amba/
F:	include/linux/amba/bus.h
F:	include/linux/amba/bus.h


ARM PRIMECELL CLCD PL110 DRIVER
ARM PRIMECELL CLCD PL110 DRIVER
M:	Russell King <linux@armlinux.org.uk>
M:	Russell King <linux@armlinux.org.uk>
S:	Maintained
S:	Odd Fixes
F:	drivers/video/fbdev/amba-clcd.*
F:	drivers/video/fbdev/amba-clcd.*


ARM PRIMECELL KMI PL050 DRIVER
ARM PRIMECELL KMI PL050 DRIVER
M:	Russell King <linux@armlinux.org.uk>
M:	Russell King <linux@armlinux.org.uk>
S:	Maintained
S:	Odd Fixes
F:	drivers/input/serio/ambakmi.*
F:	drivers/input/serio/ambakmi.*
F:	include/linux/amba/kmi.h
F:	include/linux/amba/kmi.h


ARM PRIMECELL MMCI PL180/1 DRIVER
ARM PRIMECELL MMCI PL180/1 DRIVER
M:	Russell King <linux@armlinux.org.uk>
M:	Russell King <linux@armlinux.org.uk>
S:	Maintained
S:	Odd Fixes
F:	drivers/mmc/host/mmci.*
F:	drivers/mmc/host/mmci.*
F:	include/linux/amba/mmci.h
F:	include/linux/amba/mmci.h


ARM PRIMECELL UART PL010 AND PL011 DRIVERS
ARM PRIMECELL UART PL010 AND PL011 DRIVERS
M:	Russell King <linux@armlinux.org.uk>
M:	Russell King <linux@armlinux.org.uk>
S:	Maintained
S:	Odd Fixes
F:	drivers/tty/serial/amba-pl01*.c
F:	drivers/tty/serial/amba-pl01*.c
F:	include/linux/amba/serial.h
F:	include/linux/amba/serial.h


@@ -8434,7 +8435,7 @@ S: Orphan
F:	drivers/net/wireless/marvell/libertas/
F:	drivers/net/wireless/marvell/libertas/


MARVELL MACCHIATOBIN SUPPORT
MARVELL MACCHIATOBIN SUPPORT
M:	Russell King <rmk@armlinux.org.uk>
M:	Russell King <linux@armlinux.org.uk>
L:	linux-arm-kernel@lists.infradead.org
L:	linux-arm-kernel@lists.infradead.org
S:	Maintained
S:	Maintained
F:	arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts
F:	arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts
@@ -8447,7 +8448,7 @@ F: drivers/net/ethernet/marvell/mv643xx_eth.*
F:	include/linux/mv643xx.h
F:	include/linux/mv643xx.h


MARVELL MV88X3310 PHY DRIVER
MARVELL MV88X3310 PHY DRIVER
M:	Russell King <rmk@armlinux.org.uk>
M:	Russell King <linux@armlinux.org.uk>
L:	netdev@vger.kernel.org
L:	netdev@vger.kernel.org
S:	Maintained
S:	Maintained
F:	drivers/net/phy/marvell10g.c
F:	drivers/net/phy/marvell10g.c
@@ -12875,6 +12876,19 @@ S: Maintained
F:	drivers/net/ethernet/socionext/netsec.c
F:	drivers/net/ethernet/socionext/netsec.c
F:	Documentation/devicetree/bindings/net/socionext-netsec.txt
F:	Documentation/devicetree/bindings/net/socionext-netsec.txt


SOLIDRUN CLEARFOG SUPPORT
M:	Russell King <linux@armlinux.org.uk>
S:	Maintained
F:	arch/arm/boot/dts/armada-388-clearfog*
F:	arch/arm/boot/dts/armada-38x-solidrun-*

SOLIDRUN CUBOX-I/HUMMINGBOARD SUPPORT
M:	Russell King <linux@armlinux.org.uk>
S:	Maintained
F:	arch/arm/boot/dts/imx6*-cubox-i*
F:	arch/arm/boot/dts/imx6*-hummingboard*
F:	arch/arm/boot/dts/imx6*-sr-*

SONIC NETWORK DRIVER
SONIC NETWORK DRIVER
M:	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
M:	Thomas Bogendoerfer <tsbogend@alpha.franken.de>
L:	netdev@vger.kernel.org
L:	netdev@vger.kernel.org
+12 −0
Original line number Original line Diff line number Diff line
@@ -386,6 +386,17 @@ static int shm_fault(struct vm_fault *vmf)
	return sfd->vm_ops->fault(vmf);
	return sfd->vm_ops->fault(vmf);
}
}


static int shm_split(struct vm_area_struct *vma, unsigned long addr)
{
	struct file *file = vma->vm_file;
	struct shm_file_data *sfd = shm_file_data(file);

	if (sfd->vm_ops && sfd->vm_ops->split)
		return sfd->vm_ops->split(vma, addr);

	return 0;
}

#ifdef CONFIG_NUMA
#ifdef CONFIG_NUMA
static int shm_set_policy(struct vm_area_struct *vma, struct mempolicy *new)
static int shm_set_policy(struct vm_area_struct *vma, struct mempolicy *new)
{
{
@@ -510,6 +521,7 @@ static const struct vm_operations_struct shm_vm_ops = {
	.open	= shm_open,	/* callback for a new vm-area open */
	.open	= shm_open,	/* callback for a new vm-area open */
	.close	= shm_close,	/* callback for when the vm-area is released */
	.close	= shm_close,	/* callback for when the vm-area is released */
	.fault	= shm_fault,
	.fault	= shm_fault,
	.split	= shm_split,
#if defined(CONFIG_NUMA)
#if defined(CONFIG_NUMA)
	.set_policy = shm_set_policy,
	.set_policy = shm_set_policy,
	.get_policy = shm_get_policy,
	.get_policy = shm_get_policy,
+7 −5
Original line number Original line Diff line number Diff line
@@ -1657,8 +1657,7 @@ static void start_scan_thread(void)
}
}


/*
/*
 * Stop the automatic memory scanning thread. This function must be called
 * Stop the automatic memory scanning thread.
 * with the scan_mutex held.
 */
 */
static void stop_scan_thread(void)
static void stop_scan_thread(void)
{
{
@@ -1921,12 +1920,15 @@ static void kmemleak_do_cleanup(struct work_struct *work)
{
{
	stop_scan_thread();
	stop_scan_thread();


	mutex_lock(&scan_mutex);
	/*
	/*
	 * Once the scan thread has stopped, it is safe to no longer track
	 * Once it is made sure that kmemleak_scan has stopped, it is safe to no
	 * object freeing. Ordering of the scan thread stopping and the memory
	 * longer track object freeing. Ordering of the scan thread stopping and
	 * accesses below is guaranteed by the kthread_stop() function.
	 * the memory accesses below is guaranteed by the kthread_stop()
	 * function.
	 */
	 */
	kmemleak_free_enabled = 0;
	kmemleak_free_enabled = 0;
	mutex_unlock(&scan_mutex);


	if (!kmemleak_found_leaks)
	if (!kmemleak_found_leaks)
		__kmemleak_do_cleanup();
		__kmemleak_do_cleanup();
+3 −3
Original line number Original line Diff line number Diff line
@@ -714,9 +714,9 @@ static struct mem_cgroup *get_mem_cgroup_from_mm(struct mm_struct *mm)
 * invocations for reference counting, or use mem_cgroup_iter_break()
 * invocations for reference counting, or use mem_cgroup_iter_break()
 * to cancel a hierarchy walk before the round-trip is complete.
 * to cancel a hierarchy walk before the round-trip is complete.
 *
 *
 * Reclaimers can specify a zone and a priority level in @reclaim to
 * Reclaimers can specify a node and a priority level in @reclaim to
 * divide up the memcgs in the hierarchy among all concurrent
 * divide up the memcgs in the hierarchy among all concurrent
 * reclaimers operating on the same zone and priority.
 * reclaimers operating on the same node and priority.
 */
 */
struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root,
struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root,
				   struct mem_cgroup *prev,
				   struct mem_cgroup *prev,
@@ -2299,7 +2299,7 @@ void memcg_kmem_put_cache(struct kmem_cache *cachep)
}
}


/**
/**
 * memcg_kmem_charge: charge a kmem page
 * memcg_kmem_charge_memcg: charge a kmem page
 * @page: page to charge
 * @page: page to charge
 * @gfp: reclaim mode
 * @gfp: reclaim mode
 * @order: allocation order
 * @order: allocation order
+3 −3
Original line number Original line Diff line number Diff line
@@ -123,13 +123,13 @@ void __reset_page_owner(struct page *page, unsigned int order)
static inline bool check_recursive_alloc(struct stack_trace *trace,
static inline bool check_recursive_alloc(struct stack_trace *trace,
					unsigned long ip)
					unsigned long ip)
{
{
	int i, count;
	int i;


	if (!trace->nr_entries)
	if (!trace->nr_entries)
		return false;
		return false;


	for (i = 0, count = 0; i < trace->nr_entries; i++) {
	for (i = 0; i < trace->nr_entries; i++) {
		if (trace->entries[i] == ip && ++count == 2)
		if (trace->entries[i] == ip)
			return true;
			return true;
	}
	}


Loading