Linux-Next Archive on lore.kernel.org
 help / color / Atom feed
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-05-13  2:07 Stephen Rothwell
  2013-05-13  2:11 ` Eric Paris
  0 siblings, 1 reply; 106+ messages in thread
From: Stephen Rothwell @ 2013-05-13  2:07 UTC (permalink / raw)
  To: Andrew Morton, Linus
  Cc: linux-next, linux-kernel, Jeff Layton, Eric Paris, Kees Cook, Al Viro

[-- Attachment #1: Type: text/plain, Size: 2031 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
kernel/auditsc.c between commit b24a30a73054 ("audit: fix event coverage
of AUDIT_ANOM_LINK") from Linus' tree and commit "audit: fix mq_open and
mq_unlink to add the MQ root as a hidden parent audit_names record" from
the akpm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

BTW, commit b24a30a73054 from Linus' tree has Eric Paris as Author and
Committer, but is only Signed-off-by Kees Cook.  It is part of a long
series that did not go anywhere near linus-next.   I do have an audit
tree in linux-next
(git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit.git#for-next)
but that hasn't seen any recent activity.

There is also another commit in that series that doesn't even have a
Signed-off-by line at all (4d3fb709b285 "helper for some session id
stuff").

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc kernel/auditsc.c
index 3c8a601,f9eaa16..0000000
--- a/kernel/auditsc.c
+++ b/kernel/auditsc.c
@@@ -1399,8 -1695,11 +1399,11 @@@ static void audit_log_exit(struct audit
  	}
  
  	i = 0;
- 	list_for_each_entry(n, &context->names_list, list)
+ 	list_for_each_entry(n, &context->names_list, list) {
+ 		if (n->hidden)
+ 			continue;
 -		audit_log_name(context, n, i++, &call_panic);
 +		audit_log_name(context, n, NULL, i++, &call_panic);
+ 	}
  
  	/* Send end of event record to help user space know we are finished */
  	ab = audit_log_start(context, GFP_KERNEL, AUDIT_EOE);
diff --git a/kernel/audit.h b/kernel/audit.h
index 1c95131..52dfbfc 100644
--- a/kernel/audit.h
+++ b/kernel/audit.h
@@ -97,6 +97,7 @@ struct audit_names {
 	struct audit_cap_data	fcap;
 	unsigned int		fcap_ver;
 	unsigned char		type;		/* record type */
+	bool			hidden;		/* don't log this record */
 	/*
 	 * This was an allocated audit_names and not from the array of
 	 * names allocated in the task audit context.  Thus this name

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2019-12-02  2:17 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2019-12-02  2:17 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Thomas Hellstrom, Dave Airlie, Linus Torvalds, Steven Price

[-- Attachment #1: Type: text/plain, Size: 2389 bytes --]

Hi all,

Today's linux-next merge of the akpm tree got a conflict in:

  include/linux/pagewalk.h

between commit:

  5b932abfc562 ("mm: pagewalk: add test_p?d callbacks")

from Linus' tree and patch:

  "mm: pagewalk: add test_p?d callbacks"

from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc include/linux/pagewalk.h
index 2c9725bdcf1f,fe61448c5900..000000000000
--- a/include/linux/pagewalk.h
+++ b/include/linux/pagewalk.h
@@@ -24,9 -24,11 +24,14 @@@ struct mm_walk
   *			"do page table walk over the current vma", returning
   *			a negative value means "abort current page table walk
   *			right now" and returning 1 means "skip the current vma"
+  * @test_pmd:		similar to test_walk(), but called for every pmd.
+  * @test_pud:		similar to test_walk(), but called for every pud.
+  * @test_p4d:		similar to test_walk(), but called for every p4d.
+  *			Returning 0 means walk this part of the page tables,
+  *			returning 1 means to skip this range.
 + * @pre_vma:            if set, called before starting walk on a non-null vma.
 + * @post_vma:           if set, called after a walk on a non-null vma, provided
 + *                      that @pre_vma and the vma walk succeeded.
   *
   * p?d_entry callbacks are called even if those levels are folded on a
   * particular architecture/configuration.
@@@ -49,9 -51,12 +54,15 @@@ struct mm_walk_ops 
  			     struct mm_walk *walk);
  	int (*test_walk)(unsigned long addr, unsigned long next,
  			struct mm_walk *walk);
+ 	int (*test_pmd)(unsigned long addr, unsigned long next,
+ 			pmd_t *pmd_start, struct mm_walk *walk);
+ 	int (*test_pud)(unsigned long addr, unsigned long next,
+ 			pud_t *pud_start, struct mm_walk *walk);
+ 	int (*test_p4d)(unsigned long addr, unsigned long next,
+ 			p4d_t *p4d_start, struct mm_walk *walk);
 +	int (*pre_vma)(unsigned long start, unsigned long end,
 +		       struct mm_walk *walk);
 +	void (*post_vma)(struct mm_walk *walk);
  };
  
  /**

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2019-12-02  2:08 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2019-12-02  2:08 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linux Next Mailing List, Linux Kernel Mailing List,
	Thomas Hellstrom, Dave Airlie, Linus Torvalds, Steven Price

[-- Attachment #1: Type: text/plain, Size: 1855 bytes --]

Hi all,

Today's linux-next merge of the akpm tree got a conflict in:

  include/linux/pagewalk.h

between commit:

  ecaad8aca204 ("mm: Add a walk_page_mapping() function to the pagewalk code")

from Linus' tree and patch:

  "mm: pagewalk: add p4d_entry() and pgd_entry()"

from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc include/linux/pagewalk.h
index 6ec82e92c87f,12004b097eae..000000000000
--- a/include/linux/pagewalk.h
+++ b/include/linux/pagewalk.h
@@@ -24,11 -24,15 +24,18 @@@ struct mm_walk
   *			"do page table walk over the current vma", returning
   *			a negative value means "abort current page table walk
   *			right now" and returning 1 means "skip the current vma"
 + * @pre_vma:            if set, called before starting walk on a non-null vma.
 + * @post_vma:           if set, called after a walk on a non-null vma, provided
 + *                      that @pre_vma and the vma walk succeeded.
+  *
+  * p?d_entry callbacks are called even if those levels are folded on a
+  * particular architecture/configuration.
   */
  struct mm_walk_ops {
+ 	int (*pgd_entry)(pgd_t *pgd, unsigned long addr,
+ 			 unsigned long next, struct mm_walk *walk);
+ 	int (*p4d_entry)(p4d_t *p4d, unsigned long addr,
+ 			 unsigned long next, struct mm_walk *walk);
  	int (*pud_entry)(pud_t *pud, unsigned long addr,
  			 unsigned long next, struct mm_walk *walk);
  	int (*pmd_entry)(pmd_t *pmd, unsigned long addr,

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2018-10-15  7:22 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2018-10-15  7:22 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Will Deacon,
	Mike Rapoport

[-- Attachment #1: Type: text/plain, Size: 1532 bytes --]

Hi all,

Today's linux-next merge of the akpm tree got a conflict in:

  arch/arm64/kernel/setup.c

between commit:

  d91680e687f4 ("arm64: Fix /proc/iomem for reserved but not memory regions")

from Linus' tree and patch:

  "memblock: stop using implicit alignment to SMP_CACHE_BYTES"

from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc arch/arm64/kernel/setup.c
index 811e3267412a,9084fec753f5..000000000000
--- a/arch/arm64/kernel/setup.c
+++ b/arch/arm64/kernel/setup.c
@@@ -215,12 -211,8 +215,13 @@@ static void __init request_standard_res
  	kernel_data.start   = __pa_symbol(_sdata);
  	kernel_data.end     = __pa_symbol(_end - 1);
  
 +	num_standard_resources = memblock.memory.cnt;
 +	standard_resources = memblock_alloc_low(num_standard_resources *
- 						sizeof(*standard_resources), 0);
++						sizeof(*standard_resources),
++						SMP_CACHE_BYTES);
 +
  	for_each_memblock(memory, region) {
 -		res = memblock_alloc_low(sizeof(*res), SMP_CACHE_BYTES);
 +		res = &standard_resources[i++];
  		if (memblock_is_nomap(region)) {
  			res->name  = "reserved";
  			res->flags = IORESOURCE_MEM;

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2018-10-15  7:04 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2018-10-15  7:04 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List, Will Deacon,
	Mike Rapoport

[-- Attachment #1: Type: text/plain, Size: 1420 bytes --]

Hi all,

Today's linux-next merge of the akpm tree got a conflict in:

  arch/arm64/kernel/setup.c

between commit:

  d91680e687f4 ("arm64: Fix /proc/iomem for reserved but not memory regions")

from Linus' tree and patch:

  "memblock: replace alloc_bootmem_low with memblock_alloc_low (2)"

from the akpm tree.

I fixed it up (the new patch hunk for this file is below) and can
carry the fix as necessary. This is now fixed as far as linux-next is
concerned, but any non trivial conflicts should be mentioned to your
upstream maintainer when your tree is submitted for merging.  You may
also want to consider cooperating with the maintainer of the conflicting
tree to minimise any particularly complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
index d0f62dd24c90..c8ba593cc3ac 100644
--- a/arch/arm64/kernel/setup.c
+++ b/arch/arm64/kernel/setup.c
@@ -217,8 +217,8 @@ static void __init request_standard_resources(void)
 	kernel_data.end     = __pa_symbol(_end - 1);
 
 	num_standard_resources = memblock.memory.cnt;
-	standard_resources = alloc_bootmem_low(num_standard_resources *
-					       sizeof(*standard_resources));
+	standard_resources = memblock_alloc_low(num_standard_resources *
+						sizeof(*standard_resources), 0);
 
 	for_each_memblock(memory, region) {
 		res = &standard_resources[i++];

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2018-03-26  8:56 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2018-03-26  8:56 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Linux-Next Mailing List, Linux Kernel Mailing List,
	Dan Carpenter, Eric W. Biederman

[-- Attachment #1: Type: text/plain, Size: 746 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in:

  ipc/mqueue.c

between commit:

  cfb2f6f6e0ba ("Revert "mqueue: switch to on-demand creation of internal mount"")

from Linus' tree and patch:

  "ipc/mqueue: add missing error code in init_mqueue_fs()"

from the akpm tree.

I fixed it up (I dropped the akpm tree patch) and can carry the fix as
necessary. This is now fixed as far as linux-next is concerned, but any
non trivial conflicts should be mentioned to your upstream maintainer
when your tree is submitted for merging.  You may also want to consider
cooperating with the maintainer of the conflicting tree to minimise any
particularly complex conflicts.

-- 
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2017-01-09  2:51 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2017-01-09  2:51 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Johannes Weiner, Matthew Wilcox

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in:

  include/linux/radix-tree.h

between commit:

  ea07b862ac8e ("mm: workingset: fix use-after-free in shadow node shrinker")

from Linus' tree and patch:

   "Reimplement IDR and IDA using the radix tree"

from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc include/linux/radix-tree.h
index 52bda854593b,50aaac14a4f1..000000000000
--- a/include/linux/radix-tree.h
+++ b/include/linux/radix-tree.h
@@@ -306,9 -309,9 +309,11 @@@ void radix_tree_iter_replace(struct rad
  void radix_tree_replace_slot(struct radix_tree_root *root,
  			     void **slot, void *item);
  void __radix_tree_delete_node(struct radix_tree_root *root,
 -			      struct radix_tree_node *node);
 +			      struct radix_tree_node *node,
 +			      radix_tree_update_node_t update_node,
 +			      void *private);
+ void radix_tree_iter_delete(struct radix_tree_root *,
+ 				const struct radix_tree_iter *iter);
  void *radix_tree_delete_item(struct radix_tree_root *, unsigned long, void *);
  void *radix_tree_delete(struct radix_tree_root *, unsigned long);
  void radix_tree_clear_tags(struct radix_tree_root *root,

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2016-12-12  5:49 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2016-12-12  5:49 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Linus Torvalds, Matthew Wilcox

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in:

  lib/radix-tree.c

between commit:

  2b41226b39b6 ("Revert "radix tree test suite: fix compilation"")

from Linus' tree and patch:

  "reimplement IDR and IDA using the radix tree"

from the akpm tree.

I fixed it up (I added back the include of notifier.h) and can carry the
fix as necessary. This is now fixed as far as linux-next is concerned,
but any non trivial conflicts should be mentioned to your upstream
maintainer when your tree is submitted for merging.  You may also want
to consider cooperating with the maintainer of the conflicting tree to
minimise any particularly complex conflicts.

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2016-01-19  2:42 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2016-01-19  2:42 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Vladimir Davydov, Geert Uytterhoeven,
	David S. Miller

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in:

  include/net/tcp_memcontrol.h

between commit:

  cdb00777ffad ("tcp_memcontrol: Forward declare cgroup_subsys and mem_cgroup stucts")

from Linus' tree and commit:

  "net: drop tcp_memcontrol.c"

from the akpm tree.

I fixed it up (the latter removed the file, so I did that) and can carry
the fix as necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2016-01-19  2:36 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2016-01-19  2:36 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Geert Uytterhoeven, David S. Miller,
	Johannes Weiner

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in:

  include/net/tcp_memcontrol.h

between commit:

  cdb00777ffad ("tcp_memcontrol: Forward declare cgroup_subsys and mem_cgroup stucts")

from Linus' tree and commit:

  "mm: memcontrol: drop unused @css argument in memcg_init_kmem"

from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc include/net/tcp_memcontrol.h
index 01ff7c6efada,dc2da2f8c8b2..000000000000
--- a/include/net/tcp_memcontrol.h
+++ b/include/net/tcp_memcontrol.h
@@@ -1,9 -1,7 +1,9 @@@
  #ifndef _TCP_MEMCG_H
  #define _TCP_MEMCG_H
  
- struct cgroup_subsys;
 +struct mem_cgroup;
 +
- int tcp_init_cgroup(struct mem_cgroup *memcg, struct cgroup_subsys *ss);
+ int tcp_init_cgroup(struct mem_cgroup *memcg);
  void tcp_destroy_cgroup(struct mem_cgroup *memcg);
+ 
  #endif /* _TCP_MEMCG_H */

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2015-07-27  5:26 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2015-07-27  5:26 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Kirill A. Shutemov, Ingo Molnar,
	Dave Hansen, Oleg Nesterov

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in:

  arch/x86/mm/mpx.c

between commit:

  a89652769470 ("x86/mpx: Do not set ->vm_ops on MPX VMAs")

from Linus' tree and patch:

  "mm, mpx: add "vm_flags_t vm_flags" arg to do_mmap_pgoff()"

from the akpm tree.

I fixed it up (I used the akpm tree version of mpx_map()) and can carry
the fix as necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-09-10  4:38 Stephen Rothwell
  2013-09-10 22:27 ` Andrew Morton
  0 siblings, 1 reply; 106+ messages in thread
From: Stephen Rothwell @ 2013-09-10  4:38 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Linus Torvalds, Dave Chinner

[-- Attachment #1: Type: text/plain, Size: 645 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in fs/dcache.c
between commit 8aab6a27332b ("vfs: reorganize dput() memory accesses")
from Linus' tree and commit "dcache: convert to use new lru list
infrastructure" from the akpm tree.

/me mutters about development happening during the merge window -
especially when Andrew is absent.

I have no idea if this will be correct, but I just used the version from
the akpm tree (effectively reverting parts of commit 8aab6a27332b) and
can carry the fix as necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-09-10  4:21 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2013-09-10  4:21 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Dave Chinner, Linus Torvalds

[-- Attachment #1: Type: text/plain, Size: 3056 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in fs/dcache.c
between commits 8aab6a27332b ("vfs: reorganize dput() memory accesses")
and 0d98439ea3c6 ("vfs: use lockred "dead" flag to mark unrecoverably
dead dentries") from Linus' tree and commit "dcache: remove dentries from
LRU before putting on dispose list" from the akpm tree.

I fixed it up (hopefully - see below) and can carry the fix as necessary
(no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc fs/dcache.c
index a4cc2eb,43a1c0e..0000000
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@@ -374,7 -344,6 +374,7 @@@ static void dentry_lru_add(struct dentr
  static void __dentry_lru_del(struct dentry *dentry)
  {
  	list_del_init(&dentry->d_lru);
- 	dentry->d_flags &= ~(DCACHE_SHRINK_LIST | DCACHE_LRU_LIST);
++	dentry->d_flags &= ~DCACHE_LRU_LIST;
  	dentry->d_sb->s_nr_dentry_unused--;
  	this_cpu_dec(nr_dentry_unused);
  }
@@@ -393,14 -372,15 +403,16 @@@ static void dentry_lru_del(struct dentr
  
  static void dentry_lru_move_list(struct dentry *dentry, struct list_head *list)
  {
+ 	BUG_ON(dentry->d_flags & DCACHE_SHRINK_LIST);
+ 
  	spin_lock(&dentry->d_sb->s_dentry_lru_lock);
  	if (list_empty(&dentry->d_lru)) {
 +		dentry->d_flags |= DCACHE_LRU_LIST;
  		list_add_tail(&dentry->d_lru, list);
- 		dentry->d_sb->s_nr_dentry_unused++;
- 		this_cpu_inc(nr_dentry_unused);
  	} else {
  		list_move_tail(&dentry->d_lru, list);
+ 		dentry->d_sb->s_nr_dentry_unused--;
+ 		this_cpu_dec(nr_dentry_unused);
  	}
  	spin_unlock(&dentry->d_sb->s_dentry_lru_lock);
  }
@@@ -498,7 -478,8 +510,8 @@@ EXPORT_SYMBOL(d_drop)
   * If ref is non-zero, then decrement the refcount too.
   * Returns dentry requiring refcount drop, or NULL if we're done.
   */
- static inline struct dentry *dentry_kill(struct dentry *dentry)
+ static inline struct dentry *
 -dentry_kill(struct dentry *dentry, int ref, int unlock_on_failure)
++dentry_kill(struct dentry *dentry, int unlock_on_failure)
  	__releases(dentry->d_lock)
  {
  	struct inode *inode;
@@@ -591,7 -573,7 +606,7 @@@ repeat
  	return;
  
  kill_it:
- 	dentry = dentry_kill(dentry);
 -	dentry = dentry_kill(dentry, 1, 1);
++	dentry = dentry_kill(dentry, 1);
  	if (dentry)
  		goto repeat;
  }
@@@ -816,7 -798,7 +831,7 @@@ static struct dentry * try_prune_one_de
  {
  	struct dentry *parent;
  
- 	parent = dentry_kill(dentry);
 -	parent = dentry_kill(dentry, 0, 0);
++	parent = dentry_kill(dentry, 0);
  	/*
  	 * If dentry_kill returns NULL, we have nothing more to do.
  	 * if it returns the same dentry, trylocks failed. In either
@@@ -836,9 -818,10 +851,10 @@@
  	dentry = parent;
  	while (dentry) {
  		if (lockref_put_or_lock(&dentry->d_lockref))
- 			return;
- 		dentry = dentry_kill(dentry);
+ 			return NULL;
 -		dentry = dentry_kill(dentry, 1, 1);
++		dentry = dentry_kill(dentry, 1);
  	}
+ 	return NULL;
  }
  
  static void shrink_dentry_list(struct list_head *list)

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-09-10  4:09 Stephen Rothwell
  2013-09-10  4:12 ` Stephen Rothwell
  0 siblings, 1 reply; 106+ messages in thread
From: Stephen Rothwell @ 2013-09-10  4:09 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Linus Torvalds

[-- Attachment #1: Type: text/plain, Size: 1450 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in fs/dcache.c
between commit 8aab6a27332b ("vfs: reorganize dput() memory accesses")
from Linus' tree and commit "dentry: move to per-sb LRU locks" from the
akpm tree.

I fixed it up (I think - see below) and can carry the fix as necessary
(no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc fs/dcache.c
index 664554e,6e212bd..0000000
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@@ -362,9 -332,8 +361,9 @@@ static void dentry_unlink_inode(struct 
   */
  static void dentry_lru_add(struct dentry *dentry)
  {
 -	if (list_empty(&dentry->d_lru)) {
 +	if (unlikely(!(dentry->d_flags & DCACHE_LRU_LIST))) {
- 		spin_lock(&dcache_lru_lock);
+ 		spin_lock(&dentry->d_sb->s_dentry_lru_lock);
 +		dentry->d_flags |= DCACHE_LRU_LIST;
  		list_add(&dentry->d_lru, &dentry->d_sb->s_dentry_lru);
  		dentry->d_sb->s_nr_dentry_unused++;
  		this_cpu_inc(nr_dentry_unused);
@@@ -394,9 -363,8 +393,9 @@@ static void dentry_lru_del(struct dentr
  
  static void dentry_lru_move_list(struct dentry *dentry, struct list_head *list)
  {
- 	spin_lock(&dcache_lru_lock);
+ 	spin_lock(&dentry->d_sb->s_dentry_lru_lock);
  	if (list_empty(&dentry->d_lru)) {
 +		dentry->d_flags |= DCACHE_LRU_LIST;
  		list_add_tail(&dentry->d_lru, list);
  		dentry->d_sb->s_nr_dentry_unused++;
  		this_cpu_inc(nr_dentry_unused);

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-09-09  5:38 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2013-09-09  5:38 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Miklos Szeredi, Al Viro, Dave Chinner

[-- Attachment #1: Type: text/plain, Size: 4363 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in fs/dcache.c
between commit db14fc3abcd5 ("vfs: add d_walk()") from Linus' tree and
commit "dcache: convert to use new lru list infrastructure" from the akpm
tree.

I fixed it up (hopefully - see below) and can carry the fix as necessary
(no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc fs/dcache.c
index fc05994,e4df9de..0000000
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@@ -1313,46 -1197,94 +1297,47 @@@ out
   * drop the lock and return early due to latency
   * constraints.
   */
 -static int select_parent(struct dentry *parent, struct list_head *dispose)
 -{
 -	struct dentry *this_parent;
 -	struct list_head *next;
 -	unsigned seq;
 -	int found = 0;
 -	int locked = 0;
  
 -	seq = read_seqbegin(&rename_lock);
 -again:
 -	this_parent = parent;
 -	spin_lock(&this_parent->d_lock);
 -repeat:
 -	next = this_parent->d_subdirs.next;
 -resume:
 -	while (next != &this_parent->d_subdirs) {
 -		struct list_head *tmp = next;
 -		struct dentry *dentry = list_entry(tmp, struct dentry, d_u.d_child);
 -		next = tmp->next;
 -
 -		spin_lock_nested(&dentry->d_lock, DENTRY_D_LOCK_NESTED);
 +struct select_data {
 +	struct dentry *start;
 +	struct list_head dispose;
 +	int found;
 +};
  
 -		/*
 -		 * move only zero ref count dentries to the dispose list.
 -		 *
 -		 * Those which are presently on the shrink list, being processed
 -		 * by shrink_dentry_list(), shouldn't be moved.  Otherwise the
 -		 * loop in shrink_dcache_parent() might not make any progress
 -		 * and loop forever.
 -		 */
 -		if (dentry->d_lockref.count) {
 -			dentry_lru_del(dentry);
 -		} else if (!(dentry->d_flags & DCACHE_SHRINK_LIST)) {
 -			dentry_lru_del(dentry);
 -			list_add_tail(&dentry->d_lru, dispose);
 -			dentry->d_flags |= DCACHE_SHRINK_LIST;
 -			found++;
 -		}
 -		/*
 -		 * We can return to the caller if we have found some (this
 -		 * ensures forward progress). We'll be coming back to find
 -		 * the rest.
 -		 */
 -		if (found && need_resched()) {
 -			spin_unlock(&dentry->d_lock);
 -			goto out;
 -		}
 +static enum d_walk_ret select_collect(void *_data, struct dentry *dentry)
 +{
 +	struct select_data *data = _data;
 +	enum d_walk_ret ret = D_WALK_CONTINUE;
  
 -		/*
 -		 * Descend a level if the d_subdirs list is non-empty.
 -		 */
 -		if (!list_empty(&dentry->d_subdirs)) {
 -			spin_unlock(&this_parent->d_lock);
 -			spin_release(&dentry->d_lock.dep_map, 1, _RET_IP_);
 -			this_parent = dentry;
 -			spin_acquire(&this_parent->d_lock.dep_map, 0, 1, _RET_IP_);
 -			goto repeat;
 -		}
 +	if (data->start == dentry)
 +		goto out;
  
 -		spin_unlock(&dentry->d_lock);
 -	}
  	/*
 -	 * All done at this level ... ascend and resume the search.
 +	 * move only zero ref count dentries to the dispose list.
 +	 *
 +	 * Those which are presently on the shrink list, being processed
 +	 * by shrink_dentry_list(), shouldn't be moved.  Otherwise the
 +	 * loop in shrink_dcache_parent() might not make any progress
 +	 * and loop forever.
  	 */
 -	if (this_parent != parent) {
 -		struct dentry *child = this_parent;
 -		this_parent = try_to_ascend(this_parent, locked, seq);
 -		if (!this_parent)
 -			goto rename_retry;
 -		next = child->d_u.d_child.next;
 -		goto resume;
 +	if (dentry->d_lockref.count) {
 +		dentry_lru_del(dentry);
 +	} else if (!(dentry->d_flags & DCACHE_SHRINK_LIST)) {
- 		dentry_lru_move_list(dentry, &data->dispose);
++		dentry_lru_del(dentry);
++		list_add_tail(&dentry->d_lru, &data->dispose);
 +		dentry->d_flags |= DCACHE_SHRINK_LIST;
 +		data->found++;
 +		ret = D_WALK_NORETRY;
  	}
 +	/*
 +	 * We can return to the caller if we have found some (this
 +	 * ensures forward progress). We'll be coming back to find
 +	 * the rest.
 +	 */
 +	if (data->found && need_resched())
 +		ret = D_WALK_QUIT;
  out:
 -	spin_unlock(&this_parent->d_lock);
 -	if (!locked && read_seqretry(&rename_lock, seq))
 -		goto rename_retry;
 -	if (locked)
 -		write_sequnlock(&rename_lock);
 -	return found;
 -
 -rename_retry:
 -	if (found)
 -		return found;
 -	if (locked)
 -		goto again;
 -	locked = 1;
 -	write_seqlock(&rename_lock);
 -	goto again;
 +	return ret;
  }
  
  /**

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-09-09  5:22 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2013-09-09  5:22 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Dave Chinner, Miklos Szeredi, Al Viro

[-- Attachment #1: Type: text/plain, Size: 459 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in fs/dcache.c
between commit db14fc3abcd5 ("vfs: add d_walk()") from Linus' tree and
commit "shrinker: convert superblock shrinkers to new API" from the akpm
tree.

I fixed it up (I just used the version of shrink_dcache_parent from
Linus' tree) and can carry the fix as necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-09-09  5:16 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2013-09-09  5:16 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Miklos Szeredi, Al Viro, Dave Chinner

[-- Attachment #1: Type: text/plain, Size: 867 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in fs/internal.h
between commit eed810076685 ("vfs: check unlinked ancestors before
mount") from Linus' tree and commit  "shrinker: convert superblock
shrinkers to new API" from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc fs/internal.h
index 62f05e9,c909014..0000000
--- a/fs/internal.h
+++ b/fs/internal.h
@@@ -126,7 -127,7 +127,8 @@@ extern int invalidate_inodes(struct sup
   * dcache.c
   */
  extern struct dentry *__d_alloc(struct super_block *, const struct qstr *);
 +extern int d_set_mounted(struct dentry *dentry);
+ extern long prune_dcache_sb(struct super_block *sb, unsigned long nr_to_scan);
  
  /*
   * read_write.c

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-08-30  8:44 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2013-08-30  8:44 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Waiman Long, Linus Torvalds, Dave Chinner

[-- Attachment #1: Type: text/plain, Size: 2687 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in fs/dcache.c
between commit 98474236f72e ("vfs: make the dentry cache use the lockref
infrastructure") from Linus' tree and commit "dcache: remove dentries
from LRU before putting on dispose list" from the akpm tree.

I fixed it up (I think - please check, see below and also check the final
result when I publish) and can carry the fix as necessary (no action is
required).

I also added this fix patch:

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Fri, 30 Aug 2013 18:38:42 +1000
Subject: [PATCH] dcache: fix up for lockref changes

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/dcache.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/dcache.c b/fs/dcache.c
index 58c5e4b..39939f1 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -837,7 +837,7 @@ dentry_lru_isolate(struct list_head *item, spinlock_t *lru_lock, void *arg)
 	 * counts, just remove them from the LRU. Otherwise give them
 	 * another pass through the LRU.
 	 */
-	if (dentry->d_count) {
+	if (dentry->d_lockref.count) {
 		list_del_init(&dentry->d_lru);
 		spin_unlock(&dentry->d_lock);
 		return LRU_REMOVED;
-- 
1.8.4.rc3

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc fs/dcache.c
index 0fe810f,f5f8924..0000000
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@@ -780,10 -801,15 +794,11 @@@ static struct dentry * try_prune_one_de
  	/* Prune ancestors. */
  	dentry = parent;
  	while (dentry) {
 -		spin_lock(&dentry->d_lock);
 -		if (dentry->d_count > 1) {
 -			dentry->d_count--;
 -			spin_unlock(&dentry->d_lock);
 +		if (lockref_put_or_lock(&dentry->d_lockref))
- 			return;
- 		dentry = dentry_kill(dentry, 1);
+ 			return NULL;
 -		}
+ 		dentry = dentry_kill(dentry, 1, 1);
  	}
+ 	return NULL;
  }
  
  static void shrink_dentry_list(struct list_head *list)
@@@ -802,12 -828,18 +817,18 @@@
  		}
  
  		/*
+ 		 * The dispose list is isolated and dentries are not accounted
+ 		 * to the LRU here, so we can simply remove it from the list
+ 		 * here regardless of whether it is referenced or not.
+ 		 */
+ 		list_del_init(&dentry->d_lru);
+ 		dentry->d_flags &= ~DCACHE_SHRINK_LIST;
+ 
+ 		/*
  		 * We found an inuse dentry which was not removed from
- 		 * the LRU because of laziness during lookup.  Do not free
- 		 * it - just keep it off the LRU list.
+ 		 * the LRU because of laziness during lookup. Do not free it.
  		 */
 -		if (dentry->d_count) {
 +		if (dentry->d_lockref.count) {
- 			dentry_lru_del(dentry);
  			spin_unlock(&dentry->d_lock);
  			continue;
  		}

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-05-27  6:20 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2013-05-27  6:20 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Kent Overstreet, Benjamin LaHaise

[-- Attachment #1: Type: text/plain, Size: 1138 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in fs/aio.c
between commit 03e04f048d27 ("aio: fix kioctx not being freed after
cancellation at exit time") from Linus' tree and commit "aio: reqs_active
-> reqs_available" from the akpm tree.

I fixed it up (see below - taken from a similar patch later in the akpm
tree) and can carry the fix as necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc fs/aio.c
index 7fe5bde,009a7b5..0000000
--- a/fs/aio.c
+++ b/fs/aio.c
@@@ -306,10 -312,8 +312,10 @@@ static void free_ioctx(struct kioctx *c
  	head = ring->head;
  	kunmap_atomic(ring);
  
- 	while (atomic_read(&ctx->reqs_active) > 0) {
+ 	while (atomic_read(&ctx->reqs_available) < ctx->nr_events - 1) {
 -		wait_event(ctx->wait, head != ctx->tail);
 +		wait_event(ctx->wait,
- 				head != ctx->tail ||
- 				atomic_read(&ctx->reqs_active) <= 0);
++			   (head != ctx->tail) ||
++			   (atomic_read(&ctx->reqs_available) >= ctx->nr_events - 1));
  
  		avail = (head <= ctx->tail ? ctx->tail : ctx->nr_events) - head;
  

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-05-20  4:04 Stephen Rothwell
  2013-05-20 12:19 ` Chris Mason
  0 siblings, 1 reply; 106+ messages in thread
From: Stephen Rothwell @ 2013-05-20  4:04 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Chris Mason, Kent Overstreet

[-- Attachment #1: Type: text/plain, Size: 3747 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got conflicts in
fs/btrfs/inode.c and fs/btrfs/volumes.c between commit 9be3395bcd4a
("Btrfs: use a btrfs bioset instead of abusing bio internals") from
Linus' tree and commit "block: prep work for batch completion" from the
akpm tree.

I fixed it up (I think - see below) and can carry the fix as necessary
(no action is required).

I also noticed that a single conversion of bio_endio to bio_endio_batch
is done in the akpm patch but bio_endio_batch is not introduced until a
later patch ... :-(

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc fs/btrfs/inode.c
index af978f7,551c8bd..0000000
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@@ -6932,14 -6928,11 +6932,15 @@@ struct btrfs_dio_private 
  	/* IO errors */
  	int errors;
  
 +	/* orig_bio is our btrfs_io_bio */
  	struct bio *orig_bio;
 +
 +	/* dio_bio came from fs/direct-io.c */
 +	struct bio *dio_bio;
  };
  
- static void btrfs_endio_direct_read(struct bio *bio, int err)
+ static void btrfs_endio_direct_read(struct bio *bio, int err,
+ 				    struct batch_complete *batch)
  {
  	struct btrfs_dio_private *dip = bio->bi_private;
  	struct bio_vec *bvec_end = bio->bi_io_vec + bio->bi_vcnt - 1;
@@@ -6992,12 -6984,12 +6993,13 @@@ failed
  
  	/* If we had a csum failure make sure to clear the uptodate flag */
  	if (err)
 -		clear_bit(BIO_UPTODATE, &bio->bi_flags);
 -	dio_end_io(bio, err, batch);
 +		clear_bit(BIO_UPTODATE, &dio_bio->bi_flags);
- 	dio_end_io(dio_bio, err);
++	dio_end_io(dio_bio, err, batch);
 +	bio_put(bio);
  }
  
- static void btrfs_endio_direct_write(struct bio *bio, int err)
+ static void btrfs_endio_direct_write(struct bio *bio, int err,
+ 				     struct batch_complete *batch)
  {
  	struct btrfs_dio_private *dip = bio->bi_private;
  	struct inode *inode = dip->inode;
@@@ -7039,9 -7030,8 +7041,9 @@@ out_done
  
  	/* If we had an error make sure to clear the uptodate flag */
  	if (err)
 -		clear_bit(BIO_UPTODATE, &bio->bi_flags);
 -	dio_end_io(bio, err, batch);
 +		clear_bit(BIO_UPTODATE, &dio_bio->bi_flags);
- 	dio_end_io(dio_bio, err);
++	dio_end_io(dio_bio, err, batch);
 +	bio_put(bio);
  }
  
  static int __btrfs_submit_bio_start_direct_io(struct inode *inode, int rw,
diff --cc fs/btrfs/volumes.c
index 8bffb91,7299b55..0000000
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@@ -5018,9 -5019,35 +5018,10 @@@ int btrfs_rmap_block(struct btrfs_mappi
  	return 0;
  }
  
- static void btrfs_end_bio(struct bio *bio, int err)
 -static void *merge_stripe_index_into_bio_private(void *bi_private,
 -						 unsigned int stripe_index)
 -{
 -	/*
 -	 * with single, dup, RAID0, RAID1 and RAID10, stripe_index is
 -	 * at most 1.
 -	 * The alternative solution (instead of stealing bits from the
 -	 * pointer) would be to allocate an intermediate structure
 -	 * that contains the old private pointer plus the stripe_index.
 -	 */
 -	BUG_ON((((uintptr_t)bi_private) & 3) != 0);
 -	BUG_ON(stripe_index > 3);
 -	return (void *)(((uintptr_t)bi_private) | stripe_index);
 -}
 -
 -static struct btrfs_bio *extract_bbio_from_bio_private(void *bi_private)
 -{
 -	return (struct btrfs_bio *)(((uintptr_t)bi_private) & ~((uintptr_t)3));
 -}
 -
 -static unsigned int extract_stripe_index_from_bio_private(void *bi_private)
 -{
 -	return (unsigned int)((uintptr_t)bi_private) & 3;
 -}
 -
+ static void btrfs_end_bio(struct bio *bio, int err,
+ 			  struct batch_complete *batch)
  {
 -	struct btrfs_bio *bbio = extract_bbio_from_bio_private(bio->bi_private);
 +	struct btrfs_bio *bbio = bio->bi_private;
  	int is_orig_bio = 0;
  
  	if (err) {

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* RE: linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-05-13  5:20 Eric Paris
  0 siblings, 0 replies; 106+ messages in thread
From: Eric Paris @ 2013-05-13  5:20 UTC (permalink / raw)
  To: keescook; +Cc: sfr, akpm, torvalds, linux-next, linux-kernel, jlayton, viro

[-- Attachment #1: Type: text/plain, Size: 2097 bytes --]


-----Original Message-----
From: Kees Cook [keescook@chromium.org]
Received: Monday, 13 May 2013, 12:49am
To: Eric Paris [eparis@redhat.com]
CC: Stephen Rothwell [sfr@canb.auug.org.au]; Andrew Morton [akpm@linux-foundation.org]; Linus [torvalds@linux-foundation.org]; Linux-Next [linux-next@vger.kernel.org]; LKML [linux-kernel@vger.kernel.org]; Jeff Layton [jlayton@redhat.com]; Al Viro [viro@zeniv.linux.org.uk]
Subject: Re: linux-next: manual merge of the akpm tree with Linus' tree

On Sun, May 12, 2013 at 7:11 PM, Eric Paris <eparis@redhat.com> wrote:
> On Mon, 2013-05-13 at 12:07 +1000, Stephen Rothwell wrote:
>> Hi Andrew,
>>
>> Today's linux-next merge of the akpm tree got a conflict in
>> kernel/auditsc.c between commit b24a30a73054 ("audit: fix event coverage
>> of AUDIT_ANOM_LINK") from Linus' tree and commit "audit: fix mq_open and
>> mq_unlink to add the MQ root as a hidden parent audit_names record" from
>> the akpm tree.
>
> Actually, I've already picked the patch up for 3.11.  So Andrew, you can
> drop it.
>
>> I fixed it up (see below) and can carry the fix as necessary (no action
>> is required).
>>
>> BTW, commit b24a30a73054 from Linus' tree has Eric Paris as Author and
>> Committer, but is only Signed-off-by Kees Cook.  It is part of a long
>> series that did not go anywhere near linus-next.   I do have an audit
>> tree in linux-next
>> (git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit.git#for-next)
>> but that hasn't seen any recent activity.
>
> I thought I sent you a note asking for audit to get pulled into -next
> quite a while back.  I'll resend...
>

Hrm, how did the Author get mangled?


I remember it having a conflict when I tried to merge it (someone else had changed the same area of the header file). So I used patch -p1 and fixed up the reject by hand. I wonder if I screwed up and used git commit -a instead of git am --resolved?   That is 2 things I should have caught on final review I missed.  :-(

Now to wait for everything else I screwed up...

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-05-02  6:01 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2013-05-02  6:01 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Peter Hurley

[-- Attachment #1: Type: text/plain, Size: 1758 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in ipc/msg.c
between commit 8ac6ed5857c8 ("ipc: implement MSG_COPY as a new receive
mode") from Linus' tree and commit "revert "ipc: don't allocate a copy
larger than max"" from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

[  The whole patch looks like this, now:

diff --git a/ipc/msg.c b/ipc/msg.c
index d0c6d96..2978721 100644
--- a/ipc/msg.c
+++ b/ipc/msg.c
@@ -827,16 +827,15 @@ long do_msgrcv(int msqid, void __user *buf, size_t bufsz, long msgtyp,
 	struct ipc_namespace *ns;
 	struct msg_msg *copy = NULL;
 
-	ns = current->nsproxy->ipc_ns;
-
 	if (msqid < 0 || (long) bufsz < 0)
 		return -EINVAL;
 	if (msgflg & MSG_COPY) {
-		copy = prepare_copy(buf, min_t(size_t, bufsz, ns->msg_ctlmax));
+		copy = prepare_copy(buf, bufsz);
 		if (IS_ERR(copy))
 			return PTR_ERR(copy);
 	}
 	mode = convert_mode(&msgtyp, msgflg);
+	ns = current->nsproxy->ipc_ns;
 
 	msq = msg_lock_check(ns, msqid);
 	if (IS_ERR(msq)) {

]
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc ipc/msg.c
index d0c6d96,4eaf3fd..0000000
--- a/ipc/msg.c
+++ b/ipc/msg.c
@@@ -826,13 -818,12 +826,11 @@@ long do_msgrcv(int msqid, void __user *
  	int mode;
  	struct ipc_namespace *ns;
  	struct msg_msg *copy = NULL;
 -	unsigned long copy_number = 0;
  
  	if (msqid < 0 || (long) bufsz < 0)
  		return -EINVAL;
  	if (msgflg & MSG_COPY) {
- 		copy = prepare_copy(buf, min_t(size_t, bufsz, ns->msg_ctlmax));
 -		copy = prepare_copy(buf, bufsz, msgflg, &msgtyp, &copy_number);
++		copy = prepare_copy(buf, bufsz);
  		if (IS_ERR(copy))
  			return PTR_ERR(copy);
  	}

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-04-29  8:38 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2013-04-29  8:38 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Zhao Hongjiang, Linus, Kent Overstreet

[-- Attachment #1: Type: text/plain, Size: 881 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in fs/aio.c
between commit 91d80a84bbc8 ("aio: fix possible invalid memory access
when DEBUG is enabled") from Linus' tree and commit "aio: dprintk() ->
pr_debug()" from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc fs/aio.c
index 670cb8b,1574cb2..0000000
--- a/fs/aio.c
+++ b/fs/aio.c
@@@ -802,9 -794,8 +794,8 @@@ static int aio_read_evt(struct kioctx *
  	spin_unlock(&info->ring_lock);
  
  out:
- 	dprintk("leaving aio_read_evt: %d  h%lu t%lu\n", ret,
- 		 (unsigned long)ring->head, (unsigned long)ring->tail);
 -	kunmap_atomic(ring);
+ 	pr_debug("%d  h%u t%u\n", ret, ring->head, ring->tail);
 +	kunmap_atomic(ring);
  	return ret;
  }
  

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-04-19  7:40 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2013-04-19  7:40 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Linus Torvalds, Kent Overstreet, Minchan Kim

[-- Attachment #1: Type: text/plain, Size: 2293 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in fs/bio.c
between commit 0a82a8d132b2 ("Revert "block: add missing
block_bio_complete() tracepoint"") from Linus' tree and commit "block,
aio: batch completion for bios/kiocbs" from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc fs/bio.c
index e082907,a8081ae..0000000
--- a/fs/bio.c
+++ b/fs/bio.c
@@@ -1688,31 -1689,42 +1689,40 @@@ void bio_flush_dcache_pages(struct bio 
  EXPORT_SYMBOL(bio_flush_dcache_pages);
  #endif
  
- /**
-  * bio_endio - end I/O on a bio
-  * @bio:	bio
-  * @error:	error, if any
-  *
-  * Description:
-  *   bio_endio() will end I/O on the whole bio. bio_endio() is the
-  *   preferred way to end I/O on a bio, it takes care of clearing
-  *   BIO_UPTODATE on error. @error is 0 on success, and and one of the
-  *   established -Exxxx (-EIO, for instance) error values in case
-  *   something went wrong. No one should call bi_end_io() directly on a
-  *   bio unless they own it and thus know that it has an end_io
-  *   function.
-  **/
- void bio_endio(struct bio *bio, int error)
+ static inline void __bio_endio(struct bio *bio, struct batch_complete *batch)
  {
- 	if (error)
+ 	if (bio->bi_error)
  		clear_bit(BIO_UPTODATE, &bio->bi_flags);
  	else if (!test_bit(BIO_UPTODATE, &bio->bi_flags))
- 		error = -EIO;
+ 		bio->bi_error = -EIO;
  
  	if (bio->bi_end_io)
- 		bio->bi_end_io(bio, error, NULL);
+ 		bio->bi_end_io(bio, bio->bi_error, batch);
+ }
+ 
+ void bio_endio_batch(struct bio *bio, int error, struct batch_complete *batch)
+ {
+ 	if (error)
+ 		bio->bi_error = error;
+ 
 -	trace_block_bio_complete(bio, error);
 -
+ 	if (batch)
+ 		bio_list_add(&batch->bio, bio);
+ 	else
+ 		__bio_endio(bio, batch);
+ 
+ }
+ EXPORT_SYMBOL(bio_endio_batch);
+ 
+ void batch_complete(struct batch_complete *batch)
+ {
+ 	struct bio *bio;
+ 
+ 	while ((bio = bio_list_pop(&batch->bio)))
+ 		__bio_endio(bio, batch);
+ 
+ 	batch_complete_aio(batch);
  }
- EXPORT_SYMBOL(bio_endio);
+ EXPORT_SYMBOL(batch_complete);
  
  void bio_pair_release(struct bio_pair *bp)
  {

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-04-16  7:25 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2013-04-16  7:25 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Thomas Gleixner, Oleg Nesterov

[-- Attachment #1: Type: text/plain, Size: 2727 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
kernel/kthread.c between commit f2530dc71cf0 ("kthread: Prevent unpark
race which puts threads on the wrong cpu") from Linus' tree and commit
"kthread: kill task_get_live_kthread()" from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc kernel/kthread.c
index e820aa6,b9db231..0000000
--- a/kernel/kthread.c
+++ b/kernel/kthread.c
@@@ -324,28 -324,6 +324,22 @@@ struct task_struct *kthread_create_on_c
  	return p;
  }
  
- static struct kthread *task_get_live_kthread(struct task_struct *k)
- {
- 	get_task_struct(k);
- 	return to_live_kthread(k);
- }
- 
 +static void __kthread_unpark(struct task_struct *k, struct kthread *kthread)
 +{
 +	clear_bit(KTHREAD_SHOULD_PARK, &kthread->flags);
 +	/*
 +	 * We clear the IS_PARKED bit here as we don't wait
 +	 * until the task has left the park code. So if we'd
 +	 * park before that happens we'd see the IS_PARKED bit
 +	 * which might be about to be cleared.
 +	 */
 +	if (test_and_clear_bit(KTHREAD_IS_PARKED, &kthread->flags)) {
 +		if (test_bit(KTHREAD_IS_PER_CPU, &kthread->flags))
 +			__kthread_bind(k, kthread->cpu, TASK_PARKED);
 +		wake_up_state(k, TASK_PARKED);
 +	}
 +}
 +
  /**
   * kthread_unpark - unpark a thread created by kthread_create().
   * @k:		thread created by kthread_create().
@@@ -356,11 -334,22 +350,10 @@@
   */
  void kthread_unpark(struct task_struct *k)
  {
- 	struct kthread *kthread = task_get_live_kthread(k);
+ 	struct kthread *kthread = to_live_kthread(k);
  
 -	if (kthread) {
 -		clear_bit(KTHREAD_SHOULD_PARK, &kthread->flags);
 -		/*
 -		 * We clear the IS_PARKED bit here as we don't wait
 -		 * until the task has left the park code. So if we'd
 -		 * park before that happens we'd see the IS_PARKED bit
 -		 * which might be about to be cleared.
 -		 */
 -		if (test_and_clear_bit(KTHREAD_IS_PARKED, &kthread->flags)) {
 -			if (test_bit(KTHREAD_IS_PER_CPU, &kthread->flags))
 -				__kthread_bind(k, kthread->cpu);
 -			wake_up_process(k);
 -		}
 -	}
 +	if (kthread)
 +		__kthread_unpark(k, kthread);
- 	put_task_struct(k);
  }
  
  /**
@@@ -415,9 -403,12 +407,12 @@@ int kthread_stop(struct task_struct *k
  	int ret;
  
  	trace_sched_kthread_stop(k);
+ 
+ 	get_task_struct(k);
+ 	kthread = to_live_kthread(k);
  	if (kthread) {
  		set_bit(KTHREAD_SHOULD_STOP, &kthread->flags);
 -		clear_bit(KTHREAD_SHOULD_PARK, &kthread->flags);
 +		__kthread_unpark(k, kthread);
  		wake_up_process(k);
  		wait_for_completion(&kthread->exited);
  	}

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-04-03  6:10 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2013-04-03  6:10 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Stanislav Kinsbursky, Linus Torvalds

[-- Attachment #1: Type: text/plain, Size: 1074 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in ipc/msg.c
between commit 2dc958fa2fe6 ("ipc: set msg back to -EAGAIN if copy wasn't
performed") from Linus' tree and commit "ipc: remove msg handling from
queue scan" from the akpm tree.

I fixed it up (I think - see below) and can carry the fix as necessary
(no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc ipc/msg.c
index 4eaf3fd,628c6ea..0000000
--- a/ipc/msg.c
+++ b/ipc/msg.c
@@@ -860,17 -860,8 +860,9 @@@ long do_msgrcv(int msqid, void __user *
  						walk_msg->m_type != 1) {
  					msgtyp = walk_msg->m_type - 1;
  				} else if (msgflg & MSG_COPY) {
- 					if (copy_number == msg_counter) {
- 						/*
- 						 * Found requested message.
- 						 * Copy it.
- 						 */
- 						msg = copy_msg(msg, copy);
- 						if (IS_ERR(msg))
- 							goto out_unlock;
+ 					if (copy_number == msg_counter)
  						break;
- 					}
 +					msg = ERR_PTR(-EAGAIN);
  				} else
  					break;
  				msg_counter++;

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-03-25  4:22 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2013-03-25  4:22 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Linus Torvalds, Nathan Zimmer

[-- Attachment #1: Type: text/plain, Size: 1311 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
fs/proc/inode.c between commit  ("vfs,proc: guarantee unique inodes
in /proc") from Linus' tree and commit
"procfs-improve-scaling-in-proc-v5" from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc fs/proc/inode.c
index 38f0775,f53660a..0000000
--- a/fs/proc/inode.c
+++ b/fs/proc/inode.c
@@@ -463,10 -464,10 +464,11 @@@ static const struct file_operations pro
  
  struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
  {
 -	struct inode *inode = iget_locked(sb, de->low_ino);
 +	struct inode *inode = new_inode_pseudo(sb);
+ 	const struct file_operations *fops;
  
 -	if (inode && (inode->i_state & I_NEW)) {
 +	if (inode) {
 +		inode->i_ino = de->low_ino;
  		inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME;
  		PROC_I(inode)->pde = de;
  
@@@ -491,9 -494,11 +495,10 @@@
  #endif
  					inode->i_fop = &proc_reg_file_ops;
  			} else {
- 				inode->i_fop = de->proc_fops;
+ 				inode->i_fop = fops;
  			}
  		}
+ 		rcu_read_unlock();
 -		unlock_new_inode(inode);
  	} else
  	       pde_put(de);
  	return inode;

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-03-04  2:21 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2013-03-04  2:21 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Al Viro

[-- Attachment #1: Type: text/plain, Size: 2367 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in mm/shmem.c
between commit 26567cdbbf1a ("fix nommu breakage in shmem.c") from Linus'
tree and commit "shmem-fix-build-regression-fix" from the akpm tree.

I fixed it up (I used the latter version - see the full new version
below) and can carry the fix as necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --git a/include/linux/ramfs.h b/include/linux/ramfs.h
index 5bf5500..69e37c2 100644
--- a/include/linux/ramfs.h
+++ b/include/linux/ramfs.h
@@ -6,7 +6,13 @@ struct inode *ramfs_get_inode(struct super_block *sb, const struct inode *dir,
 extern struct dentry *ramfs_mount(struct file_system_type *fs_type,
 	 int flags, const char *dev_name, void *data);
 
-#ifndef CONFIG_MMU
+#ifdef CONFIG_MMU
+static inline int
+ramfs_nommu_expand_for_mapping(struct inode *inode, size_t newsize)
+{
+	return 0;
+}
+#else
 extern int ramfs_nommu_expand_for_mapping(struct inode *inode, size_t newsize);
 extern unsigned long ramfs_nommu_get_unmapped_area(struct file *file,
 						   unsigned long addr,
diff --git a/mm/shmem.c b/mm/shmem.c
index b863bf3..a8d9da0 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -25,6 +25,7 @@
 #include <linux/init.h>
 #include <linux/vfs.h>
 #include <linux/mount.h>
+#include <linux/ramfs.h>
 #include <linux/pagemap.h>
 #include <linux/file.h>
 #include <linux/mm.h>
@@ -2830,8 +2831,6 @@ out4:
  * effectively equivalent, but much lighter weight.
  */
 
-#include <linux/ramfs.h>
-
 static struct file_system_type shmem_fs_type = {
 	.name		= "tmpfs",
 	.mount		= ramfs_mount,
@@ -2897,7 +2896,6 @@ static struct dentry_operations anon_ops = {
  */
 struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags)
 {
-	int error;
 	struct file *res;
 	struct inode *inode;
 	struct path path;
@@ -2932,11 +2930,10 @@ struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags
 	d_instantiate(path.dentry, inode);
 	inode->i_size = size;
 	clear_nlink(inode);	/* It is unlinked */
-#ifndef CONFIG_MMU
+
 	res = ERR_PTR(ramfs_nommu_expand_for_mapping(inode, size));
 	if (IS_ERR(res))
 		goto put_dentry;
-#endif
 
 	res = alloc_file(&path, FMODE_WRITE | FMODE_READ,
 		  &shmem_file_operations);

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2013-01-04  3:27 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2013-01-04  3:27 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Peter Zijlstra, Mel Gorman

[-- Attachment #1: Type: text/plain, Size: 488 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got conflicts in
include/linux/mempolicy.h and mm/mempolicy.c between commit 42288fe366c4
("mm: mempolicy: Convert shared_policy mutex to spinlock") from Linus'
tree and commit "mm, mempolicy: introduce spinlock to read shared policy
tree" from the akpm tree.

These two commits seem to be fixing the same problem, so I dropped the
akpm tree commit.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-12-11  5:25 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2012-12-11  5:25 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Linus Torvalds

[-- Attachment #1: Type: text/plain, Size: 1189 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
include/linux/gfp.h between commit caf491916b1c ("Revert "revert "Revert
"mm: remove __GFP_NO_KSWAPD""" and associated damage") from Linus' tree
and commit "mm: add a reminder comment for __GFP_BITS_SHIFT" from the
akpm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc include/linux/gfp.h
index 976a8e3,c0fb4d8..0000000
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@@ -30,11 -30,11 +30,12 @@@ struct vm_area_struct
  #define ___GFP_HARDWALL		0x20000u
  #define ___GFP_THISNODE		0x40000u
  #define ___GFP_RECLAIMABLE	0x80000u
 -#define ___GFP_NOTRACK		0x100000u
 -#define ___GFP_OTHER_NODE	0x200000u
 -#define ___GFP_WRITE		0x400000u
 -#define ___GFP_KMEMCG		0x800000u
 +#define ___GFP_NOTRACK		0x200000u
 +#define ___GFP_NO_KSWAPD	0x400000u
 +#define ___GFP_OTHER_NODE	0x800000u
 +#define ___GFP_WRITE		0x1000000u
 +#define ___GFP_KMEMCG		0x2000000u
+ /* If the above are modified, __GFP_BITS_SHIFT may need updating */
  
  /*
   * GFP bitmasks..

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-12-11  5:22 Stephen Rothwell
  2012-12-11  7:58 ` Glauber Costa
  0 siblings, 1 reply; 106+ messages in thread
From: Stephen Rothwell @ 2012-12-11  5:22 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Linus Torvalds, Glauber Costa

[-- Attachment #1: Type: text/plain, Size: 2229 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
include/linux/gfp.h between commit caf491916b1c ("Revert "revert "Revert
"mm: remove __GFP_NO_KSWAPD""" and associated damage") from Linus' tree
and commit "mm: add a __GFP_KMEMCG flag" from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc include/linux/gfp.h
index 31e8041,5520344..0000000
--- a/include/linux/gfp.h
+++ b/include/linux/gfp.h
@@@ -30,10 -30,10 +30,11 @@@ struct vm_area_struct
  #define ___GFP_HARDWALL		0x20000u
  #define ___GFP_THISNODE		0x40000u
  #define ___GFP_RECLAIMABLE	0x80000u
 -#define ___GFP_NOTRACK		0x100000u
 -#define ___GFP_OTHER_NODE	0x200000u
 -#define ___GFP_WRITE		0x400000u
 -#define ___GFP_KMEMCG		0x800000u
 +#define ___GFP_NOTRACK		0x200000u
 +#define ___GFP_NO_KSWAPD	0x400000u
 +#define ___GFP_OTHER_NODE	0x800000u
 +#define ___GFP_WRITE		0x1000000u
++#define ___GFP_KMEMCG		0x2000000u
  
  /*
   * GFP bitmasks..
@@@ -86,17 -86,16 +87,17 @@@
  #define __GFP_RECLAIMABLE ((__force gfp_t)___GFP_RECLAIMABLE) /* Page is reclaimable */
  #define __GFP_NOTRACK	((__force gfp_t)___GFP_NOTRACK)  /* Don't track with kmemcheck */
  
 +#define __GFP_NO_KSWAPD	((__force gfp_t)___GFP_NO_KSWAPD)
  #define __GFP_OTHER_NODE ((__force gfp_t)___GFP_OTHER_NODE) /* On behalf of other node */
  #define __GFP_WRITE	((__force gfp_t)___GFP_WRITE)	/* Allocator intends to dirty page */
- 
+ #define __GFP_KMEMCG	((__force gfp_t)___GFP_KMEMCG) /* Allocation comes from a memcg-accounted resource */
  /*
   * This may seem redundant, but it's a way of annotating false positives vs.
   * allocations that simply cannot be supported (e.g. page tables).
   */
  #define __GFP_NOTRACK_FALSE_POSITIVE (__GFP_NOTRACK)
  
- #define __GFP_BITS_SHIFT 25	/* Room for N __GFP_FOO bits */
 -#define __GFP_BITS_SHIFT 24	/* Room for N __GFP_FOO bits */
++#define __GFP_BITS_SHIFT 26	/* Room for N __GFP_FOO bits */
  #define __GFP_BITS_MASK ((__force gfp_t)((1 << __GFP_BITS_SHIFT) - 1))
  
  /* This equals 0, but use constants in case they ever change */

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-12-07  6:39 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2012-12-07  6:39 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Johannes Weiner, Kirill A. Shutemov

[-- Attachment #1: Type: text/plain, Size: 536 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in mm/vmscan.c
between commit c702418f8a2f ("mm: vmscan: do not keep kswapd looping
forever due to individual uncompactable zones") from Linus' tree and
commit "mm: use IS_ENABLED(CONFIG_COMPACTION) instead of
COMPACTION_BUILD" from the akpm tree.

The former removed part of the code modified by the latter, so I did that
and can carry the fix as necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-11-30  6:24 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2012-11-30  6:24 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Mikulas Patocka, Oleg Nesterov

[-- Attachment #1: Type: text/plain, Size: 505 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
include/linux/percpu-rwsem.h between commit 4b05a1c74d1c ("percpu-rwsem:
use synchronize_sched_expedited") from Linus' tree and commit
"percpu_rw_semaphore: reimplement to not block the readers unnecessarily"
from the akpm tree.

I fixed it up (using the version from the akpm tree) and can carry the
fix as necessary (more action may be required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-11-26 12:52 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2012-11-26 12:52 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Joonsoo Kim, Will Deacon

[-- Attachment #1: Type: text/plain, Size: 952 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in mm/highmem.c
between commit 498c22802123 ("mm: highmem: don't treat PKMAP_ADDR
(LAST_PKMAP) as a highmem address") from Linus' tree and commit "mm,
highmem: use PKMAP_NR() to calculate an index of pkmap" from the akpm
tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc mm/highmem.c
index 09fc744,017cccc..0000000
--- a/mm/highmem.c
+++ b/mm/highmem.c
@@@ -98,8 -98,8 +98,8 @@@ struct page *kmap_to_page(void *vaddr
  {
  	unsigned long addr = (unsigned long)vaddr;
  
 -	if (addr >= PKMAP_ADDR(0) && addr <= PKMAP_ADDR(LAST_PKMAP)) {
 +	if (addr >= PKMAP_ADDR(0) && addr < PKMAP_ADDR(LAST_PKMAP)) {
- 		int i = (addr - PKMAP_ADDR(0)) >> PAGE_SHIFT;
+ 		int i = PKMAP_NR(addr);
  		return pte_page(pkmap_page_table[i]);
  	}
  

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-11-26 12:48 Stephen Rothwell
  2012-11-26 13:25 ` Xiaotian Feng
  0 siblings, 1 reply; 106+ messages in thread
From: Stephen Rothwell @ 2012-11-26 12:48 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Xiaotian Feng, David Miller, netdev

[-- Attachment #1: Type: text/plain, Size: 421 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
drivers/net/ethernet/jme.c between commit 71c6c837a0fe ("drivers/net: fix
tasklet misuse issue") from Linus' tree and commit  "tasklet: ignore
disabled tasklet in tasklet_action()" from the akpm tree.

I am not sure what to do here, so I have dropped the akpm patch.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-11-26 12:34 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2012-11-26 12:34 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Jiang Liu

[-- Attachment #1: Type: text/plain, Size: 435 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
mm/page_alloc.c between commit 5576646f3c1a ("revert "mm: fix-up zone
present pages"") from Linus' tree and commit "mm: fix a regression with
HIGHMEM" from the akpm tree.

I fixed it up (by dropping the akpm tree patch) and can carry the fix as
necessary (no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-10-15  2:07 Stephen Rothwell
  2012-10-15 22:14 ` Catalin Marinas
  0 siblings, 1 reply; 106+ messages in thread
From: Stephen Rothwell @ 2012-10-15  2:07 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Catalin Marinas

[-- Attachment #1: Type: text/plain, Size: 918 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
arch/arm64/include/asm/unistd32.h between commit f3d447a97f24 ("arm64: Do
not include asm/unistd32.h in asm/unistd.h") from Linus' tree and commit
"compat: generic compat_sys_sched_rr_get_interval implementation" from
the akpm tree.

I fixed it up (I think - see below) and can carry the fix as necessary
(no action is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h
index 63f853f..0f13ca8 100644
--- a/arch/arm64/include/asm/unistd.h
+++ b/arch/arm64/include/asm/unistd.h
@@ -25,5 +25,6 @@
 #define __ARCH_WANT_SYS_SIGPROCMASK
 #define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND
 #define __ARCH_WANT_COMPAT_SYS_SENDFILE
+#define __ARCH_WANT_COMPAT_SYS_SCHED_RR_GET_INTERVAL
 #endif
 #include <uapi/asm/unistd.h>

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-10-01 14:15 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2012-10-01 14:15 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Linus Torvalds, Konstantin Khlebnikov

[-- Attachment #1: Type: text/plain, Size: 1057 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
drivers/mtd/mtdchar.c between commit 9c603e53d380 ("mtdchar: fix offset
overflow detection") from Linus' tree and commit "mm: kill vma flag
VM_RESERVED and mm->reserved_vm counter" from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/mtd/mtdchar.c
index a6e7451,c4e01c5..0000000
--- a/drivers/mtd/mtdchar.c
+++ b/drivers/mtd/mtdchar.c
@@@ -1177,12 -1145,8 +1177,12 @@@ static int mtdchar_mmap(struct file *fi
  			return -EINVAL;
  
  		off += start;
 -		vma->vm_pgoff = off >> PAGE_SHIFT;
 +		/* Did that overflow? */
 +		if (off < start)
 +			return -EINVAL;
 +		if (set_vm_offset(vma, off) < 0)
 +			return -EINVAL;
- 		vma->vm_flags |= VM_IO | VM_RESERVED;
+ 		vma->vm_flags |= VM_IO | VM_DONTEXPAND | VM_DONTDUMP;
  
  #ifdef pgprot_noncached
  		if (file->f_flags & O_DSYNC || off >= __pa(high_memory))

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-08-22  5:59 Stephen Rothwell
  2012-08-22  8:58 ` Mel Gorman
  0 siblings, 1 reply; 106+ messages in thread
From: Stephen Rothwell @ 2012-08-22  5:59 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Mel Gorman

[-- Attachment #1: Type: text/plain, Size: 1259 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
mm/page_alloc.c between commit c67fe3752abe ("mm: compaction: Abort async
compaction if locks are contended or taking too long") from Linus' tree
and commit "mm: remove __GFP_NO_KSWAPD" from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc mm/page_alloc.c
index 5b3cc33,cefac39..0000000
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@@ -2436,11 -2429,10 +2435,10 @@@ rebalance
  	/*
  	 * If compaction is deferred for high-order allocations, it is because
  	 * sync compaction recently failed. In this is the case and the caller
 -	 * has requested the system not be heavily disrupted, fail the
 -	 * allocation now instead of entering direct reclaim
 +	 * requested a movable allocation that does not heavily disrupt the
 +	 * system then fail the allocation instead of entering direct reclaim.
  	 */
- 	if ((deferred_compaction || contended_compaction) &&
- 						(gfp_mask & __GFP_NO_KSWAPD))
 -	if (deferred_compaction)
++	if (deferred_compaction || contended_compaction)
  		goto nopage;
  
  	/* Try direct reclaim and then allocating */

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-07-27  3:57 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2012-07-27  3:57 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Dan Carpenter, Chris Mason, Joe Perches

[-- Attachment #1: Type: text/plain, Size: 1055 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
fs/btrfs/relocation.c between commit 23291a044c31 ("Btrfs: fix error
handling in __add_reloc_root()") from Linus' tree and commit "btrfs: use
printk_get_level and printk_skip_level, add __printf, fix fallout" from
the akpm tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc fs/btrfs/relocation.c
index c5dbd91,790f492..0000000
--- a/fs/btrfs/relocation.c
+++ b/fs/btrfs/relocation.c
@@@ -1239,11 -1239,10 +1239,11 @@@ static int __must_check __add_reloc_roo
  			      node->bytenr, &node->rb_node);
  	spin_unlock(&rc->reloc_root_tree.lock);
  	if (rb_node) {
 -		kfree(node);
  		btrfs_panic(root->fs_info, -EEXIST, "Duplicate root found "
  			    "for start=%llu while inserting into relocation "
- 			    "tree\n");
+ 			    "tree\n", node->bytenr);
 +		kfree(node);
 +		return -EEXIST;
  	}
  
  	list_add_tail(&root->root_list, &rc->reloc_roots);

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-07-02  6:39 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2012-07-02  6:39 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Kay Sievers, Greg Kroah-Hartman, Joe Perches

[-- Attachment #1: Type: text/plain, Size: 954 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
kernel/printk.c between commit 084681d14e42 ("printk: flush continuation
lines immediately to console") from Linus' tree and commit "printk: add
generic functions to find KERN_<LEVEL> headers" from the akpm tree.

Just context changes.  I fixed it up (see below) and can carry the fix as
necessary.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc kernel/printk.c
index a6f19ef,f591849..0000000
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@@ -1399,6 -1301,11 +1399,7 @@@ asmlinkage int vprintk_emit(int facilit
  			    const char *fmt, va_list args)
  {
  	static int recursion_bug;
 -	static char cont_buf[LOG_LINE_MAX];
 -	static size_t cont_len;
 -	static int cont_level;
+ 	int kern_level;
 -	static struct task_struct *cont_task;
  	static char textbuf[LOG_LINE_MAX];
  	char *text = textbuf;
  	size_t text_len;

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-06-04  4:58 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2012-06-04  4:58 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Konstantin Khlebnikov

[-- Attachment #1: Type: text/plain, Size: 1127 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in kernel/fork.c
between commit touching paths: ("fork: call complete_vfork_done() after
clearing child_tid and flushing rss-counters") from Linus' tree and
commit "mm: correctly synchronize rss-counters at exit/exec" from the
akpm tree.

Just context changes.  I fixed it up (see below) and can carry the fix as
necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc kernel/fork.c
index 095a951,30e9ee8..0000000
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@@ -808,11 -811,12 +808,19 @@@ void mm_release(struct task_struct *tsk
  	}
  
  	/*
+ 	 * Final rss-counter synchronization. After this point there must be
+ 	 * no pagefaults into this mm from the current context.  Otherwise
+ 	 * mm->rss_stat will be inconsistent.
+ 	 */
+ 	if (mm)
+ 		sync_mm_rss(mm);
++
++	/*
 +	 * All done, finally we can wake up parent and return this mm to him.
 +	 * Also kthread_stop() uses this completion for synchronization.
 +	 */
 +	if (tsk->vfork_done)
 +		complete_vfork_done(tsk);
  }
  
  /*

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-05-31  4:24 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2012-05-31  4:24 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Andi Kleen, Hugh Dickins

[-- Attachment #1: Type: text/plain, Size: 877 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in mm/swap.c
between commit fa9add641b1b ("mm/memcg: apply add/del_page to lruvec")
from Linus' tree and commit "mm/huge_memory.c: use lockdep_assert_held()"
from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc mm/swap.c
index 4e7e2ec,8ff73d8..0000000
--- a/mm/swap.c
+++ b/mm/swap.c
@@@ -685,8 -653,7 +685,7 @@@ void lru_add_page_tail(struct page *pag
  	VM_BUG_ON(!PageHead(page));
  	VM_BUG_ON(PageCompound(page_tail));
  	VM_BUG_ON(PageLRU(page_tail));
- 	VM_BUG_ON(NR_CPUS != 1 &&
- 		  !spin_is_locked(&lruvec_zone(lruvec)->lru_lock));
 -	lockdep_assert_held(&zone->lru_lock);
++	lockdep_assert_held(&lruvec_zone(lruvec)->lru_lock);
  
  	SetPageLRU(page_tail);
  

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-05-31  4:13 Stephen Rothwell
  2012-05-31  7:25 ` Johannes Weiner
  0 siblings, 1 reply; 106+ messages in thread
From: Stephen Rothwell @ 2012-05-31  4:13 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Johannes Weiner, Ying Han

[-- Attachment #1: Type: text/plain, Size: 392 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
mm/memcontrol.c between commit 78ccf5b5ab83 ("mm: memcg: print statistics
directly to seq_file") and others from Linus' tree and commit "memcg: add
mlock statistic in memory.stat" from the akpm tree.

I just dropped the akpm patch for now.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-05-21  8:23 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2012-05-21  8:23 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Linus

[-- Attachment #1: Type: text/plain, Size: 1004 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
fs/proc/base.c between commit 30a08bf2d31d ("proc: move fd symlink i_mode
calculations into tid_fd_revalidate()") from the  tree and commit "proc:
pass "fd" by value in /proc/*/{fd,fdinfo} code" from the akpm tree.

Just context changes.  I fixed it up (see below) and can carry the fix as
necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc fs/proc/base.c
index 2308157,c560fc8..0000000
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@@ -1847,7 -1835,9 +1847,7 @@@ static const struct dentry_operations t
  static struct dentry *proc_fd_instantiate(struct inode *dir,
  	struct dentry *dentry, struct task_struct *task, const void *ptr)
  {
- 	unsigned fd = *(const unsigned *)ptr;
+ 	unsigned fd = (unsigned long)ptr;
 -	struct file *file;
 -	struct files_struct *files;
   	struct inode *inode;
   	struct proc_inode *ei;
  	struct dentry *error = ERR_PTR(-ENOENT);

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-05-21  8:13 Stephen Rothwell
  2012-05-21  8:16 ` Cyrill Gorcunov
  0 siblings, 1 reply; 106+ messages in thread
From: Stephen Rothwell @ 2012-05-21  8:13 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Cong Wang, Cyrill Gorcunov

[-- Attachment #1: Type: text/plain, Size: 435 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
fs/proc/base.c between commit eb94cd96e05d ("fs, proc: fix ABBA deadlock
in case of execution attempt of map_files/ entries") from Linus' tree and
commit "proc: unify ptrace_may_access() locking code" from the akpm tree.

I used the version of the conflicting code from Linus' tree.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2012-03-08  6:53 Stephen Rothwell
  2012-03-08  7:32 ` Andrew Morton
  0 siblings, 1 reply; 106+ messages in thread
From: Stephen Rothwell @ 2012-03-08  6:53 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Linus

[-- Attachment #1: Type: text/plain, Size: 465 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
arch/x86/mm/hugetlbpage.c between commit 097d59106a8e ("vm: avoid using
find_vma_prev() unnecessarily") from Linus' tree and commit "hugetlb:
drop prev_vma in hugetlb_get_unmapped_area_topdown()" from the akpm tree.

I think the latter is a superset of the former, so I just dropped the
changes from the former.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2011-12-28  7:54 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2011-12-28  7:54 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Andi Kleen

[-- Attachment #1: Type: text/plain, Size: 674 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
include/linux/lglock.h between commit e30e2fdfe562 ("VFS: Fix race
between CPU hotplug and lglocks") from Linus' tree and commit
"brlocks/lglocks: clean up code" from the akpm tree.

Given the extent of the conflict and that this patch also conflicts in
several other files (fs/dcache.c, fs/file_table.c, fs/namei.c,
fs/namespace.c - presumably against the vfs tree), I have dropped this
patch (and the following
"brlocks-lglocks-clean-up-code-checkpatch-fixes") from the akpm tree.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2011-11-08  3:24 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2011-11-08  3:24 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Shaohua Li, Deepthi Dharwar,
	Trinabh Gupta, Len Brown

[-- Attachment #1: Type: text/plain, Size: 2274 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
drivers/idle/intel_idle.c between commit 46bcfad7a819 ("cpuidle:
Single/Global registration of idle states") from Linus' tree and commit
"intel_idle: fix API misuse" from the akpm tree.

The former moved the code modified by the latter.  I fixed it up (see
below0 and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc drivers/idle/intel_idle.c
index 5d2f8e1,0a53882..0000000
--- a/drivers/idle/intel_idle.c
+++ b/drivers/idle/intel_idle.c
@@@ -424,60 -398,6 +424,60 @@@ static void intel_idle_cpuidle_devices_
  	return;
  }
  /*
 + * intel_idle_cpuidle_driver_init()
 + * allocate, initialize cpuidle_states
 + */
 +static int intel_idle_cpuidle_driver_init(void)
 +{
 +	int cstate;
 +	struct cpuidle_driver *drv = &intel_idle_driver;
 +
 +	drv->state_count = 1;
 +
 +	for (cstate = 1; cstate < MWAIT_MAX_NUM_CSTATES; ++cstate) {
 +		int num_substates;
 +
 +		if (cstate > max_cstate) {
 +			printk(PREFIX "max_cstate %d reached\n",
 +				max_cstate);
 +			break;
 +		}
 +
 +		/* does the state exist in CPUID.MWAIT? */
 +		num_substates = (mwait_substates >> ((cstate) * 4))
 +					& MWAIT_SUBSTATE_MASK;
 +		if (num_substates == 0)
 +			continue;
 +		/* is the state not enabled? */
 +		if (cpuidle_state_table[cstate].enter == NULL) {
 +			/* does the driver not know about the state? */
 +			if (*cpuidle_state_table[cstate].name == '\0')
 +				pr_debug(PREFIX "unaware of model 0x%x"
 +					" MWAIT %d please"
 +					" contact lenb@kernel.org",
 +				boot_cpu_data.x86_model, cstate);
 +			continue;
 +		}
 +
 +		if ((cstate > 2) &&
 +			!boot_cpu_has(X86_FEATURE_NONSTOP_TSC))
 +			mark_tsc_unstable("TSC halts in idle"
 +					" states deeper than C2");
 +
 +		drv->states[drv->state_count] =	/* structure copy */
 +			cpuidle_state_table[cstate];
 +
 +		drv->state_count += 1;
 +	}
 +
 +	if (auto_demotion_disable_flags)
- 		smp_call_function(auto_demotion_disable, NULL, 1);
++		on_each_cpu(auto_demotion_disable, NULL, 1);
 +
 +	return 0;
 +}
 +
 +
 +/*
   * intel_idle_cpuidle_devices_init()
   * allocate, initialize, register cpuidle_devices
   */

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2011-11-01  8:16 Stephen Rothwell
  2011-11-01 10:47 ` Tao Ma
  0 siblings, 1 reply; 106+ messages in thread
From: Stephen Rothwell @ 2011-11-01  8:16 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-next, linux-kernel, Tao Ma

[-- Attachment #1: Type: text/plain, Size: 2163 bytes --]

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
fs/direct-io.c between commit eb28be2b4c0a ("direct-io: separate fields
only used in the submission path from struct dio") from Linus' tree and
commit "fs/direct-io.c: salcuate fs_count correctly in get_more_blocks()"
from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc fs/direct-io.c
index d740ab6,b05f24e..0000000
--- a/fs/direct-io.c
+++ b/fs/direct-io.c
@@@ -575,14 -564,13 +575,13 @@@ static inline int dio_bio_reap(struct d
   * buffer_mapped().  However the direct-io code will only process holes one
   * block at a time - it will repeatedly call get_block() as it walks the hole.
   */
 -static int get_more_blocks(struct dio *dio)
 +static int get_more_blocks(struct dio *dio, struct dio_submit *sdio,
 +			   struct buffer_head *map_bh)
  {
  	int ret;
 -	struct buffer_head *map_bh = &dio->map_bh;
  	sector_t fs_startblk;	/* Into file, in filesystem-sized blocks */
+ 	sector_t fs_endblk;	/* Into file, in filesystem-sized blocks */
  	unsigned long fs_count;	/* Number of filesystem-sized blocks */
- 	unsigned long dio_count;/* Number of dio_block-sized blocks */
- 	unsigned long blkmask;
  	int create;
  
  	/*
@@@ -591,13 -579,10 +590,10 @@@
  	 */
  	ret = dio->page_errors;
  	if (ret == 0) {
 -		BUG_ON(dio->block_in_file >= dio->final_block_in_request);
 -		fs_startblk = dio->block_in_file >> dio->blkfactor;
 -		fs_endblk = (dio->final_block_in_request - 1) >> dio->blkfactor;
 +		BUG_ON(sdio->block_in_file >= sdio->final_block_in_request);
 +		fs_startblk = sdio->block_in_file >> sdio->blkfactor;
- 		dio_count = sdio->final_block_in_request - sdio->block_in_file;
- 		fs_count = dio_count >> sdio->blkfactor;
- 		blkmask = (1 << sdio->blkfactor) - 1;
- 		if (dio_count & blkmask)	
- 			fs_count++;
++		fs_endblk = (sdio->final_block_in_request - 1) >> sdio->blkfactor;
+ 		fs_count = fs_endblk - fs_startblk + 1;
  
  		map_bh->b_state = 0;
  		map_bh->b_size = fs_count << dio->inode->i_blkbits;

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2011-09-16  6:09 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2011-09-16  6:09 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Andrew Morton, Raghavendra K T,
	Johannes Weiner

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
mm/memcontrol.c between commit 185efc0f9a1f ("memcg: Revert "memcg: add
memory.vmscan_stat"") from Linus' tree and commit 970f23b7f013 ("The
memcg code sometimes uses "struct mem_cgroup *mem" and sometimes uses")
from the akpm tree.

I fixed it up (I think - see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --cc mm/memcontrol.c
index 1364b5e,e47a504..0000000
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@@ -202,9 -202,53 +202,9 @@@ struct mem_cgroup_eventfd_list 
  	struct eventfd_ctx *eventfd;
  };
  
- static void mem_cgroup_threshold(struct mem_cgroup *mem);
- static void mem_cgroup_oom_notify(struct mem_cgroup *mem);
+ static void mem_cgroup_threshold(struct mem_cgroup *memcg);
+ static void mem_cgroup_oom_notify(struct mem_cgroup *memcg);
  
 -enum {
 -	SCAN_BY_LIMIT,
 -	SCAN_BY_SYSTEM,
 -	NR_SCAN_CONTEXT,
 -	SCAN_BY_SHRINK,	/* not recorded now */
 -};
 -
 -enum {
 -	SCAN,
 -	SCAN_ANON,
 -	SCAN_FILE,
 -	ROTATE,
 -	ROTATE_ANON,
 -	ROTATE_FILE,
 -	FREED,
 -	FREED_ANON,
 -	FREED_FILE,
 -	ELAPSED,
 -	NR_SCANSTATS,
 -};
 -
 -struct scanstat {
 -	spinlock_t	lock;
 -	unsigned long	stats[NR_SCAN_CONTEXT][NR_SCANSTATS];
 -	unsigned long	rootstats[NR_SCAN_CONTEXT][NR_SCANSTATS];
 -};
 -
 -const char *scanstat_string[NR_SCANSTATS] = {
 -	"scanned_pages",
 -	"scanned_anon_pages",
 -	"scanned_file_pages",
 -	"rotated_pages",
 -	"rotated_anon_pages",
 -	"rotated_file_pages",
 -	"freed_pages",
 -	"freed_anon_pages",
 -	"freed_file_pages",
 -	"elapsed_ns",
 -};
 -#define SCANSTAT_WORD_LIMIT	"_by_limit"
 -#define SCANSTAT_WORD_SYSTEM	"_by_system"
 -#define SCANSTAT_WORD_HIERARCHY	"_under_hierarchy"
 -
 -
  /*
   * The memory controller data structure. The memory controller controls both
   * page cache and RSS per cgroup. We would eventually like to provide
@@@ -1659,18 -1745,28 +1662,18 @@@ static int mem_cgroup_hierarchical_recl
  	bool noswap = reclaim_options & MEM_CGROUP_RECLAIM_NOSWAP;
  	bool shrink = reclaim_options & MEM_CGROUP_RECLAIM_SHRINK;
  	bool check_soft = reclaim_options & MEM_CGROUP_RECLAIM_SOFT;
 -	struct memcg_scanrecord rec;
  	unsigned long excess;
 -	unsigned long scanned;
 +	unsigned long nr_scanned;
  
- 	excess = res_counter_soft_limit_excess(&root_mem->res) >> PAGE_SHIFT;
+ 	excess = res_counter_soft_limit_excess(&root_memcg->res) >> PAGE_SHIFT;
  
  	/* If memsw_is_minimum==1, swap-out is of-no-use. */
- 	if (!check_soft && !shrink && root_mem->memsw_is_minimum)
+ 	if (!check_soft && !shrink && root_memcg->memsw_is_minimum)
  		noswap = true;
  
 -	if (shrink)
 -		rec.context = SCAN_BY_SHRINK;
 -	else if (check_soft)
 -		rec.context = SCAN_BY_SYSTEM;
 -	else
 -		rec.context = SCAN_BY_LIMIT;
 -
 -	rec.root = root_memcg;
 -
  	while (1) {
- 		victim = mem_cgroup_select_victim(root_mem);
- 		if (victim == root_mem) {
+ 		victim = mem_cgroup_select_victim(root_memcg);
+ 		if (victim == root_memcg) {
  			loop++;
  			/*
  			 * We are not draining per cpu cached charges during
@@@ -3753,15 -3858,19 +3756,15 @@@ try_to_free
  	lru_add_drain_all();
  	/* try to free all pages in this cgroup */
  	shrink = 1;
- 	while (nr_retries && mem->res.usage > 0) {
+ 	while (nr_retries && memcg->res.usage > 0) {
 -		struct memcg_scanrecord rec;
  		int progress;
  
  		if (signal_pending(current)) {
  			ret = -EINTR;
  			goto out;
  		}
- 		progress = try_to_free_mem_cgroup_pages(mem, GFP_KERNEL,
- 						false);
 -		rec.context = SCAN_BY_SHRINK;
 -		rec.mem = memcg;
 -		rec.root = memcg;
+ 		progress = try_to_free_mem_cgroup_pages(memcg, GFP_KERNEL,
+ 						false, &rec);
  		if (!progress) {
  			nr_retries--;
  			/* maybe some writeback is necessary */
@@@ -4926,21 -5091,22 +4929,21 @@@ mem_cgroup_create(struct cgroup_subsys 
  		 */
  		mem_cgroup_get(parent);
  	} else {
- 		res_counter_init(&mem->res, NULL);
- 		res_counter_init(&mem->memsw, NULL);
+ 		res_counter_init(&memcg->res, NULL);
+ 		res_counter_init(&memcg->memsw, NULL);
  	}
- 	mem->last_scanned_child = 0;
- 	mem->last_scanned_node = MAX_NUMNODES;
- 	INIT_LIST_HEAD(&mem->oom_notify);
+ 	memcg->last_scanned_child = 0;
+ 	memcg->last_scanned_node = MAX_NUMNODES;
+ 	INIT_LIST_HEAD(&memcg->oom_notify);
  
  	if (parent)
- 		mem->swappiness = mem_cgroup_swappiness(parent);
- 	atomic_set(&mem->refcnt, 1);
- 	mem->move_charge_at_immigrate = 0;
- 	mutex_init(&mem->thresholds_lock);
- 	return &mem->css;
+ 		memcg->swappiness = mem_cgroup_swappiness(parent);
+ 	atomic_set(&memcg->refcnt, 1);
+ 	memcg->move_charge_at_immigrate = 0;
+ 	mutex_init(&memcg->thresholds_lock);
 -	spin_lock_init(&memcg->scanstat.lock);
+ 	return &memcg->css;
  free_out:
- 	__mem_cgroup_free(mem);
+ 	__mem_cgroup_free(memcg);
  	root_mem_cgroup = NULL;
  	return ERR_PTR(error);
  }

^ permalink raw reply	[flat|nested] 106+ messages in thread
* linux-next: manual merge of the akpm tree with Linus' tree
@ 2011-08-15  4:52 Stephen Rothwell
  0 siblings, 0 replies; 106+ messages in thread
From: Stephen Rothwell @ 2011-08-15  4:52 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-next, linux-kernel, Andy Lutomirski, Christopher Yeoh,
	H. Peter Anvin

Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
arch/x86/include/asm/unistd_64.h between commit fce8dc06423d ("x86-64:
Wire up getcpu syscall") from Linus' tree and commit  ("Add x86_64
specific wire up") from the akpm tree.

I have fixed it up (see below) and can carry the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

diff --git a/arch/x86/include/asm/unistd_64.h b/arch/x86/include/asm/unistd_64.h
index d92641c..f9fff6a 100644
--- a/arch/x86/include/asm/unistd_64.h
+++ b/arch/x86/include/asm/unistd_64.h
@@ -683,6 +683,10 @@ __SYSCALL(__NR_sendmmsg, sys_sendmmsg)
 __SYSCALL(__NR_setns, sys_setns)
 #define __NR_getcpu				309
 __SYSCALL(__NR_getcpu, sys_getcpu)
+#define __NR_process_vm_readv			310
+__SYSCALL(__NR_process_vm_readv, sys_process_vm_readv)
+#define __NR_process_vm_writev			311
+__SYSCALL(__NR_process_vm_writev, sys_process_vm_writev)
 
 #ifndef __NO_STUBS
 #define __ARCH_WANT_OLD_READDIR

^ permalink raw reply	[flat|nested] 106+ messages in thread

end of thread, back to index

Thread overview: 106+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-13  2:07 linux-next: manual merge of the akpm tree with Linus' tree Stephen Rothwell
2013-05-13  2:11 ` Eric Paris
2013-05-13  4:16   ` Stephen Rothwell
2013-05-13  4:49   ` Kees Cook
2013-05-13  5:14     ` Eric Paris
  -- strict thread matches above, loose matches on Subject: below --
2019-12-02  2:17 Stephen Rothwell
2019-12-02  2:08 Stephen Rothwell
2018-10-15  7:22 Stephen Rothwell
2018-10-15  7:04 Stephen Rothwell
2018-03-26  8:56 Stephen Rothwell
2017-01-09  2:51 Stephen Rothwell
2016-12-12  5:49 Stephen Rothwell
2016-01-19  2:42 Stephen Rothwell
2016-01-19  2:36 Stephen Rothwell
2015-07-27  5:26 Stephen Rothwell
2013-09-10  4:38 Stephen Rothwell
2013-09-10 22:27 ` Andrew Morton
2013-09-10 22:29   ` Al Viro
2013-09-10 22:35     ` Andrew Morton
2013-09-10 22:36       ` Al Viro
2013-09-10 22:39         ` Al Viro
2013-09-10 22:41         ` Andrew Morton
2013-09-10 22:48           ` Al Viro
2013-09-10 22:59             ` Al Viro
2013-09-10 23:13               ` Andrew Morton
2013-09-10 23:55                 ` Al Viro
2013-09-11  4:30                 ` Stephen Rothwell
2013-09-10 23:37               ` Linus Torvalds
2013-09-10 23:53                 ` Al Viro
2013-09-11  0:01                   ` Linus Torvalds
2013-09-11  0:39                     ` Dave Chinner
2013-09-13  0:56                 ` Linus Torvalds
2013-09-13  1:12                   ` Linus Torvalds
2013-09-13  1:35                     ` Al Viro
2013-09-13 19:12                     ` Linus Torvalds
2013-09-13 19:28                       ` Linus Torvalds
2013-09-13 19:54                       ` Linus Torvalds
2013-09-13 20:00                       ` Al Viro
2013-09-13 20:18                         ` Al Viro
2013-09-13 20:23                           ` Al Viro
2013-09-13 20:25                         ` Linus Torvalds
2013-09-13 20:31                           ` Linus Torvalds
2013-09-13 20:31                           ` Al Viro
2013-09-13 20:34                             ` Linus Torvalds
2013-09-10 22:35   ` Linus Torvalds
2013-09-10 22:44     ` Andrew Morton
2013-09-11  0:30       ` Stephen Rothwell
2013-09-11  0:41         ` Linus Torvalds
2013-09-10  4:21 Stephen Rothwell
2013-09-10  4:09 Stephen Rothwell
2013-09-10  4:12 ` Stephen Rothwell
2013-09-09  5:38 Stephen Rothwell
2013-09-09  5:22 Stephen Rothwell
2013-09-09  5:16 Stephen Rothwell
2013-08-30  8:44 Stephen Rothwell
2013-05-27  6:20 Stephen Rothwell
2013-05-20  4:04 Stephen Rothwell
2013-05-20 12:19 ` Chris Mason
2013-05-13  5:20 Eric Paris
2013-05-02  6:01 Stephen Rothwell
2013-04-29  8:38 Stephen Rothwell
2013-04-19  7:40 Stephen Rothwell
2013-04-16  7:25 Stephen Rothwell
2013-04-03  6:10 Stephen Rothwell
2013-03-25  4:22 Stephen Rothwell
2013-03-04  2:21 Stephen Rothwell
2013-01-04  3:27 Stephen Rothwell
2012-12-11  5:25 Stephen Rothwell
2012-12-11  5:22 Stephen Rothwell
2012-12-11  7:58 ` Glauber Costa
2012-12-07  6:39 Stephen Rothwell
2012-11-30  6:24 Stephen Rothwell
2012-11-26 12:52 Stephen Rothwell
2012-11-26 12:48 Stephen Rothwell
2012-11-26 13:25 ` Xiaotian Feng
2012-11-26 12:34 Stephen Rothwell
2012-10-15  2:07 Stephen Rothwell
2012-10-15 22:14 ` Catalin Marinas
2012-10-01 14:15 Stephen Rothwell
2012-08-22  5:59 Stephen Rothwell
2012-08-22  8:58 ` Mel Gorman
2012-07-27  3:57 Stephen Rothwell
2012-07-02  6:39 Stephen Rothwell
2012-06-04  4:58 Stephen Rothwell
2012-05-31  4:24 Stephen Rothwell
2012-05-31  4:13 Stephen Rothwell
2012-05-31  7:25 ` Johannes Weiner
2012-05-31  8:24   ` Stephen Rothwell
2012-05-31  8:27     ` Stephen Rothwell
2012-05-21  8:23 Stephen Rothwell
2012-05-21  8:13 Stephen Rothwell
2012-05-21  8:16 ` Cyrill Gorcunov
2012-03-08  6:53 Stephen Rothwell
2012-03-08  7:32 ` Andrew Morton
2012-03-08  7:41   ` Stephen Rothwell
2012-03-08  7:50     ` Andrew Morton
2012-03-08  7:50       ` Xiao Guangrong
2012-03-08  9:59       ` Xiao Guangrong
2012-03-08 21:24         ` Andrew Morton
2012-03-08 23:42           ` Linus Torvalds
2011-12-28  7:54 Stephen Rothwell
2011-11-08  3:24 Stephen Rothwell
2011-11-01  8:16 Stephen Rothwell
2011-11-01 10:47 ` Tao Ma
2011-09-16  6:09 Stephen Rothwell
2011-08-15  4:52 Stephen Rothwell

Linux-Next Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-next/0 linux-next/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-next linux-next/ https://lore.kernel.org/linux-next \
		linux-next@vger.kernel.org
	public-inbox-index linux-next

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-next


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git