Linux-Next discussions
 help / color / mirror / Atom feed
* Re: [PATCH/RFC] Re: linux-next: build failure after merge of the luto-misc tree
From: Andy Lutomirski @ 2016-07-20  2:57 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Stephen Rothwell, Josh Poimboeuf, Arnaldo Carvalho de Melo,
	Peter Zijlstra, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	linux-next@vger.kernel.org, linux-kernel@vger.kernel.org
In-Reply-To: <20160720025202.GB18962@kernel.org>

On Tue, Jul 19, 2016 at 7:52 PM, Arnaldo Carvalho de Melo
<acme@kernel.org> wrote:
> Em Wed, Jul 20, 2016 at 09:53:33AM +1000, Stephen Rothwell escreveu:
>> On Wed, 20 Jul 2016 09:21:57 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>> > On Tue, 19 Jul 2016 14:45:51 -0300 Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
>> > >  #if BITS_PER_LONG != __BITS_PER_LONG
>> > > +#include <linux/stringify.h>
>> > > +#pragma message "BITS_PER_LONG=" __stringify(BITS_PER_LONG)
>> > > +#pragma message "__BITS_PER_LONG=" __stringify(__BITS_PER_LONG)
>> > >  #error Inconsistent word size. Check asm/bitsperlong.h
>> > >  #endif
>
>> > I added those three lines to the file (just in yesterday's linux-next
>> > was easiest) and got this:
>
>> > /home/sfr/next/next/tools/include/asm-generic/bitsperlong.h:14:9: note: #pragma message: BITS_PER_LONG=(8 * 8)
>> >  #pragma message "BITS_PER_LONG=" __stringify(BITS_PER_LONG)
>
>> > /home/sfr/next/next/tools/include/asm-generic/bitsperlong.h:15:9: note: #pragma message: __BITS_PER_LONG=32
>> >  #pragma message "__BITS_PER_LONG=" __stringify(__BITS_PER_LONG)
>
>> > (a few times, of course)
>
>> So I applied this:
>
>> +++ b/tools/arch/x86/include/uapi/asm/bitsperlong.h
>> @@ -4,6 +4,12 @@
>>  #if defined(__x86_64__) && !defined(__ILP32__)
>>  # define __BITS_PER_LONG 64
>>  #else
>> +#ifndef __x86_64__
>> +#pragma message "__x86_64__ is not defined"
>> +#endif
>> +#ifdef __ILP32__
>> +#pragma message "__ILP32__ is defined"
>> +#endif
>>  # define __BITS_PER_LONG 32
>>  #endif
>
>> and got this:
>
>> /home/sfr/next/next/tools/arch/x86/include/uapi/asm/bitsperlong.h:8:9: note: #pragma message: __x86_64__ is not defined
>>  #pragma message "__x86_64__ is not defined"
>
> Humm, it seems that the compiler used is not the cross one, but the
> native, check if, say, __powerpc__ is defined.
>

This is still vdso2c, right?  It's a hostprog.

This stuff is utterly screwed up.  We're building a hostprog for an
x86_64 kernel cross-compiled from powerpc.  We should presumably be
pullng in powerpc's uapi headers for hostprogs because it's a *host*
prog.

--Andy

> - Arnaldo



-- 
Andy Lutomirski
AMA Capital Management, LLC

^ permalink raw reply

* Re: [PATCH/RFC] Re: linux-next: build failure after merge of the luto-misc tree
From: Arnaldo Carvalho de Melo @ 2016-07-20  3:09 UTC (permalink / raw)
  To: Andy Lutomirski
  Cc: Arnaldo Carvalho de Melo, Stephen Rothwell, Josh Poimboeuf,
	Peter Zijlstra, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	linux-next@vger.kernel.org, linux-kernel@vger.kernel.org
In-Reply-To: <CALCETrUUyWLC4pC67hGUjzO_XhKf=wYSM4YZMTXyYGMtwwLUPw@mail.gmail.com>

Em Tue, Jul 19, 2016 at 07:57:24PM -0700, Andy Lutomirski escreveu:
> On Tue, Jul 19, 2016 at 7:52 PM, Arnaldo Carvalho de Melo
> <acme@kernel.org> wrote:
> > Em Wed, Jul 20, 2016 at 09:53:33AM +1000, Stephen Rothwell escreveu:
> >> On Wed, 20 Jul 2016 09:21:57 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
> >> > On Tue, 19 Jul 2016 14:45:51 -0300 Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> >> > >  #if BITS_PER_LONG != __BITS_PER_LONG
> >> > > +#include <linux/stringify.h>
> >> > > +#pragma message "BITS_PER_LONG=" __stringify(BITS_PER_LONG)
> >> > > +#pragma message "__BITS_PER_LONG=" __stringify(__BITS_PER_LONG)
> >> > >  #error Inconsistent word size. Check asm/bitsperlong.h
> >> > >  #endif
> >
> >> > I added those three lines to the file (just in yesterday's linux-next
> >> > was easiest) and got this:
> >
> >> > /home/sfr/next/next/tools/include/asm-generic/bitsperlong.h:14:9: note: #pragma message: BITS_PER_LONG=(8 * 8)
> >> >  #pragma message "BITS_PER_LONG=" __stringify(BITS_PER_LONG)
> >
> >> > /home/sfr/next/next/tools/include/asm-generic/bitsperlong.h:15:9: note: #pragma message: __BITS_PER_LONG=32
> >> >  #pragma message "__BITS_PER_LONG=" __stringify(__BITS_PER_LONG)
> >
> >> > (a few times, of course)
> >
> >> So I applied this:
> >
> >> +++ b/tools/arch/x86/include/uapi/asm/bitsperlong.h
> >> @@ -4,6 +4,12 @@
> >>  #if defined(__x86_64__) && !defined(__ILP32__)
> >>  # define __BITS_PER_LONG 64
> >>  #else
> >> +#ifndef __x86_64__
> >> +#pragma message "__x86_64__ is not defined"
> >> +#endif
> >> +#ifdef __ILP32__
> >> +#pragma message "__ILP32__ is defined"
> >> +#endif
> >>  # define __BITS_PER_LONG 32
> >>  #endif
> >
> >> and got this:
> >
> >> /home/sfr/next/next/tools/arch/x86/include/uapi/asm/bitsperlong.h:8:9: note: #pragma message: __x86_64__ is not defined
> >>  #pragma message "__x86_64__ is not defined"
> >
> > Humm, it seems that the compiler used is not the cross one, but the
> > native, check if, say, __powerpc__ is defined.
> >
> 
> This is still vdso2c, right?  It's a hostprog.
> 
> This stuff is utterly screwed up.  We're building a hostprog for an
> x86_64 kernel cross-compiled from powerpc.  We should presumably be
> pullng in powerpc's uapi headers for hostprogs because it's a *host*
> prog.

Unsure, I thought that what was breaking was objtool (tools/objtool),
Stephen?

- Arnaldo

^ permalink raw reply

* Re: [PATCH/RFC] Re: linux-next: build failure after merge of the luto-misc tree
From: Stephen Rothwell @ 2016-07-20  3:18 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Andy Lutomirski, Arnaldo Carvalho de Melo, Josh Poimboeuf,
	Peter Zijlstra, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	linux-next@vger.kernel.org, linux-kernel@vger.kernel.org
In-Reply-To: <20160720030923.GC2408@redhat.com>

Hi Arnaldo,

On Wed, 20 Jul 2016 00:09:24 -0300 Arnaldo Carvalho de Melo <acme@redhat.com> wrote:
>
> Em Tue, Jul 19, 2016 at 07:57:24PM -0700, Andy Lutomirski escreveu:
> > On Tue, Jul 19, 2016 at 7:52 PM, Arnaldo Carvalho de Melo
> > <acme@kernel.org> wrote:  
> > > Em Wed, Jul 20, 2016 at 09:53:33AM +1000, Stephen Rothwell escreveu:  
> > >> On Wed, 20 Jul 2016 09:21:57 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:  
> > >> > On Tue, 19 Jul 2016 14:45:51 -0300 Arnaldo Carvalho de Melo <acme@kernel.org> wrote:  
> > >> > >  #if BITS_PER_LONG != __BITS_PER_LONG
> > >> > > +#include <linux/stringify.h>
> > >> > > +#pragma message "BITS_PER_LONG=" __stringify(BITS_PER_LONG)
> > >> > > +#pragma message "__BITS_PER_LONG=" __stringify(__BITS_PER_LONG)
> > >> > >  #error Inconsistent word size. Check asm/bitsperlong.h
> > >> > >  #endif  
> > >  
> > >> > I added those three lines to the file (just in yesterday's linux-next
> > >> > was easiest) and got this:  
> > >  
> > >> > /home/sfr/next/next/tools/include/asm-generic/bitsperlong.h:14:9: note: #pragma message: BITS_PER_LONG=(8 * 8)
> > >> >  #pragma message "BITS_PER_LONG=" __stringify(BITS_PER_LONG)  
> > >  
> > >> > /home/sfr/next/next/tools/include/asm-generic/bitsperlong.h:15:9: note: #pragma message: __BITS_PER_LONG=32
> > >> >  #pragma message "__BITS_PER_LONG=" __stringify(__BITS_PER_LONG)  
> > >  
> > >> > (a few times, of course)  
> > >  
> > >> So I applied this:  
> > >  
> > >> +++ b/tools/arch/x86/include/uapi/asm/bitsperlong.h
> > >> @@ -4,6 +4,12 @@
> > >>  #if defined(__x86_64__) && !defined(__ILP32__)
> > >>  # define __BITS_PER_LONG 64
> > >>  #else
> > >> +#ifndef __x86_64__
> > >> +#pragma message "__x86_64__ is not defined"
> > >> +#endif
> > >> +#ifdef __ILP32__
> > >> +#pragma message "__ILP32__ is defined"
> > >> +#endif
> > >>  # define __BITS_PER_LONG 32
> > >>  #endif  
> > >  
> > >> and got this:  
> > >  
> > >> /home/sfr/next/next/tools/arch/x86/include/uapi/asm/bitsperlong.h:8:9: note: #pragma message: __x86_64__ is not defined
> > >>  #pragma message "__x86_64__ is not defined"  
> > >
> > > Humm, it seems that the compiler used is not the cross one, but the
> > > native, check if, say, __powerpc__ is defined.
> > >  
> > 
> > This is still vdso2c, right?  It's a hostprog.
> > 
> > This stuff is utterly screwed up.  We're building a hostprog for an
> > x86_64 kernel cross-compiled from powerpc.  We should presumably be
> > pullng in powerpc's uapi headers for hostprogs because it's a *host*
> > prog.  
> 
> Unsure, I thought that what was breaking was objtool (tools/objtool),
> Stephen?

Yes, it is objtool, but that is also a host program and so should be
using the host architectures includes, right?  Thanks for pointing that out
Andy,

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply

* linux-next: manual merge of the kvm-arm tree with the tip tree
From: Stephen Rothwell @ 2016-07-20  5:21 UTC (permalink / raw)
  To: Christoffer Dall, Marc Zyngier, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, Peter Zijlstra
  Cc: linux-next, linux-kernel, Shanker Donthineni, Andre Przywara

Hi all,

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

  include/linux/irqchip/arm-gic-v3.h

between commits:

  9347359ad0ae ("irqchip/gicv3-its: Split its_alloc_tables() into two functions")
  3faf24ea894a ("irqchip/gicv3-its: Implement two-level(indirect) device table support")

from the tip tree and commit:

  645b9e49a8c0 ("irqchip/gic-v3: Refactor and add GICv3 definitions")

from the kvm-arm tree.

I fixed it up (see below and I chose ULL over UL in the definition of
GITS_BASER_INDIRECT) 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/irqchip/arm-gic-v3.h
index 107eed475b94,700b4216c87a..000000000000
--- a/include/linux/irqchip/arm-gic-v3.h
+++ b/include/linux/irqchip/arm-gic-v3.h
@@@ -229,7 -300,7 +300,8 @@@
  #define GITS_BASER_PAGE_SIZE_64K	(2UL << GITS_BASER_PAGE_SIZE_SHIFT)
  #define GITS_BASER_PAGE_SIZE_MASK	(3UL << GITS_BASER_PAGE_SIZE_SHIFT)
  #define GITS_BASER_PAGES_MAX		256
 +#define GITS_BASER_PAGES_SHIFT		(0)
+ #define GITS_BASER_NR_PAGES(r)		(((r) & 0xff) + 1)
  
  #define GITS_BASER_TYPE_NONE		0
  #define GITS_BASER_TYPE_DEVICE		1

^ permalink raw reply

* linux-next: manual merge of the kvm-arm tree with the kvm tree
From: Stephen Rothwell @ 2016-07-20  5:27 UTC (permalink / raw)
  To: Christoffer Dall, Marc Zyngier, Marcelo Tosatti, Gleb Natapov,
	kvm
  Cc: linux-next, linux-kernel, Radim Krčmář,
	Paolo Bonzini, Andre Przywara

Hi all,

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

  include/uapi/linux/kvm.h

between commit:

  3713131345fb ("KVM: x86: add KVM_CAP_X2APIC_API")

from the kvm tree and commit:

  2b8ddd9337ee ("KVM: Extend struct kvm_msi to hold a 32-bit device ID")

from the kvm-arm 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/uapi/linux/kvm.h
index 4f8030e5b05d,d8c4c324cfae..000000000000
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@@ -866,7 -866,7 +866,8 @@@ struct kvm_ppc_smmu_info 
  #define KVM_CAP_ARM_PMU_V3 126
  #define KVM_CAP_VCPU_ATTRIBUTES 127
  #define KVM_CAP_MAX_VCPU_ID 128
 -#define KVM_CAP_MSI_DEVID 129
 +#define KVM_CAP_X2APIC_API 129
++#define KVM_CAP_MSI_DEVID 130
  
  #ifdef KVM_CAP_IRQ_ROUTING
  

^ permalink raw reply

* linux-next: manual merge of the kvm-arm tree with the tip tree
From: Stephen Rothwell @ 2016-07-20  5:28 UTC (permalink / raw)
  To: Christoffer Dall, Marc Zyngier, Thomas Gleixner, Ingo Molnar,
	H. Peter Anvin, Peter Zijlstra
  Cc: linux-next, linux-kernel, Anna-Maria Gleixner, Andre Przywara

Hi all,

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

  virt/kvm/kvm_main.c

between commit:

  8c18b2d2d088 ("virt: Convert kvm hotplug to state machine")

from the tip tree and commit:

  8a39d00670f0 ("KVM: kvm_io_bus: Add kvm_io_bus_get_dev() call")

from the kvm-arm 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 virt/kvm/kvm_main.c
index fee1f29043f8,bd2eb92c5d0e..000000000000
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@@ -3532,6 -3496,34 +3532,30 @@@ int kvm_io_bus_unregister_dev(struct kv
  	return r;
  }
  
+ struct kvm_io_device *kvm_io_bus_get_dev(struct kvm *kvm, enum kvm_bus bus_idx,
+ 					 gpa_t addr)
+ {
+ 	struct kvm_io_bus *bus;
+ 	int dev_idx, srcu_idx;
+ 	struct kvm_io_device *iodev = NULL;
+ 
+ 	srcu_idx = srcu_read_lock(&kvm->srcu);
+ 
+ 	bus = srcu_dereference(kvm->buses[bus_idx], &kvm->srcu);
+ 
+ 	dev_idx = kvm_io_bus_get_first_dev(bus, addr, 1);
+ 	if (dev_idx < 0)
+ 		goto out_unlock;
+ 
+ 	iodev = bus->range[dev_idx].dev;
+ 
+ out_unlock:
+ 	srcu_read_unlock(&kvm->srcu, srcu_idx);
+ 
+ 	return iodev;
+ }
+ EXPORT_SYMBOL_GPL(kvm_io_bus_get_dev);
+ 
 -static struct notifier_block kvm_cpu_notifier = {
 -	.notifier_call = kvm_cpu_hotplug,
 -};
 -
  static int kvm_debugfs_open(struct inode *inode, struct file *file,
  			   int (*get)(void *, u64 *), int (*set)(void *, u64),
  			   const char *fmt)

^ permalink raw reply

* linux-next: manual merge of the kvms390 tree with the kvm-arm tree
From: Stephen Rothwell @ 2016-07-20  5:34 UTC (permalink / raw)
  To: Christian Borntraeger, Cornelia Huck, Christoffer Dall,
	Marc Zyngier
  Cc: linux-next, linux-kernel, David Hildenbrand, Andre Przywara

Hi all,

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

  include/uapi/linux/kvm.h

between commit:

  2b8ddd9337ee ("KVM: Extend struct kvm_msi to hold a 32-bit device ID")

from the kvm-arm tree and commit:

  6502a34cfd66 ("KVM: s390: allow user space to handle instr 0x0000")

from the kvms390 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/uapi/linux/kvm.h
index 84d9e5f8ab4b,70941f4ab6d8..000000000000
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@@ -867,7 -867,7 +867,8 @@@ struct kvm_ppc_smmu_info 
  #define KVM_CAP_VCPU_ATTRIBUTES 127
  #define KVM_CAP_MAX_VCPU_ID 128
  #define KVM_CAP_X2APIC_API 129
 -#define KVM_CAP_S390_USER_INSTR0 130
 +#define KVM_CAP_MSI_DEVID 130
++#define KVM_CAP_S390_USER_INSTR0 131
  
  #ifdef KVM_CAP_IRQ_ROUTING
  

^ permalink raw reply

* linux-next: manual merge of the cgroup tree with the net-next tree
From: Stephen Rothwell @ 2016-07-20  6:11 UTC (permalink / raw)
  To: Tejun Heo, David Miller, netdev
  Cc: linux-next, linux-kernel, Martin KaFai Lau, Wei Yongjun

Hi Tejun,

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

  kernel/cgroup.c

between commit:

  1f3fe7ebf613 ("cgroup: Add cgroup_get_from_fd")

from the net-next tree and commit:

  55094f575358 ("cgroup: remove duplicated include from cgroup.c")

from the cgroup 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 kernel/cgroup.c
index 50787cd61da2,cb7cc54e2716..000000000000
--- a/kernel/cgroup.c
+++ b/kernel/cgroup.c
@@@ -61,8 -61,6 +61,7 @@@
  #include <linux/cpuset.h>
  #include <linux/proc_ns.h>
  #include <linux/nsproxy.h>
- #include <linux/proc_ns.h>
 +#include <linux/file.h>
  #include <net/sock.h>
  
  /*

^ permalink raw reply

* RE: linux-next: build warning after merge of the wireless-drivers-next tree
From: Reizer, Eyal @ 2016-07-20  6:18 UTC (permalink / raw)
  To: Stephen Rothwell, Kalle Valo, linux-wireless@vger.kernel.org
  Cc: linux-next@vger.kernel.org, linux-kernel@vger.kernel.org
In-Reply-To: <20160720122503.09a46d7b@canb.auug.org.au>

Hi Stephen,

> 
> After merging the wireless-drivers-next tree, today's linux-next build
> (x86_64 allmodconfig) produced this warning:
> 
> drivers/net/wireless/ti/wlcore/spi.c: In function 'wlcore_probe_of':
> drivers/net/wireless/ti/wlcore/spi.c:457:6: warning: unused variable 'ret' [-
> Wunused-variable]
>   int ret;
>       ^
> 
> Introduced by commit
> 
>   01efe65aba65 ("wlcore: spi: add wl18xx support")
> 
Of course you are right. It is indeed redundant now.
Don't know how I have missed it. Don't remember seeing a warning from the tool chain I have used.
Anyway ,will submit an amended patch soon.

Best Regards,
Eyal

^ permalink raw reply

* linux-next: build failure after merge of the crypto tree
From: Stephen Rothwell @ 2016-07-20  7:46 UTC (permalink / raw)
  To: Herbert Xu
  Cc: linux-next, linux-kernel, Paulo Flabiano Smorigo,
	Leonidas S. Barbosa

Hi all,

After merging the dax-misc tree, today's linux-next build (powerpc
allyesconfig) failed like this:

drivers/crypto/vmx/aesp8-ppc.S: Assembler messages:
drivers/crypto/vmx/aesp8-ppc.S:2036: Error: symbol `.aes_p8_xts_decrypt' is already defined

Caused by commit

  11c6e16ee13a ("crypto: vmx - Adding asm subroutines for XTS")

I have reverted that commit (and commit c07f5d3da643 ("crypto: vmx -
Adding support for XTS")) for today.

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply

* linux-next: Tree for Jul 20
From: Stephen Rothwell @ 2016-07-20  8:08 UTC (permalink / raw)
  To: linux-next; +Cc: linux-kernel

Hi all,

Changes since 20160719:

The fsl tree gained a conflict against the arm-soc tree.

The net-next tree gained conflicts against the net tree.

The wireless-drivers-next tree lost its build failure.

The crypto tree gained a build failure for which I reverted 2 commits.

The l2-mtd tree gained a conflict against the wireless-drivers-next tree
and still had its build failure so I used the version from next-20160718.

The kvm-arm tree gained conflicts against the kvm and tip trees.

The kvms390 tree gained a conflict against the kvm-arm tree.

The cgroup tree gained a conflict against the net-next tree.

Non-merge commits (relative to Linus' tree): 10432
 9636 files changed, 518043 insertions(+), 185391 deletions(-)

----------------------------------------------------------------------------

I have created today's linux-next tree at
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
(patches at http://www.kernel.org/pub/linux/kernel/next/ ).  If you
are tracking the linux-next tree using git, you should not use "git pull"
to do so as that will try to merge the new linux-next release with the
old one.  You should use "git fetch" and checkout or reset to the new
master.

You can see which trees have been included by looking in the Next/Trees
file in the source.  There are also quilt-import.log and merge.log
files in the Next directory.  Between each merge, the tree was built
with a ppc64_defconfig for powerpc and an allmodconfig (with
CONFIG_BUILD_DOCSRC=n) for x86_64, a multi_v7_defconfig for arm and a
native build of tools/perf. After the final fixups (if any), I do an
x86_64 modules_install followed by builds for x86_64 allnoconfig,
powerpc allnoconfig (32 and 64 bit), ppc44x_defconfig, allyesconfig
(this fails its final link) and pseries_le_defconfig and i386, sparc
and sparc64 defconfig.

Below is a summary of the state of the merge.

I am currently merging 239 trees (counting Linus' and 35 trees of patches
pending for Linus' tree).

Stats about the size of the tree over time can be seen at
http://neuling.org/linux-next-size.html .

Status of my local build tests will be at
http://kisskb.ellerman.id.au/linux-next .  If maintainers want to give
advice about cross compilers/configs that work, we are always open to add
more builds.

Thanks to Randy Dunlap for doing many randconfig builds.  And to Paul
Gortmaker for triage and bug fixes.

-- 
Cheers,
Stephen Rothwell

$ git checkout master
$ git reset --hard stable
Merging origin/master (47ef4ad2684d Merge tag 'for-linus-20160715' of git://git.infradead.org/linux-mtd)
Merging fixes/master (5edb56491d48 Linux 4.7-rc3)
Merging kbuild-current/rc-fixes (b36fad65d61f kbuild: Initialize exported variables)
Merging arc-current/for-curr (9bd54517ee86 arc: unwind: warn only once if DW2_UNWIND is disabled)
Merging arm-current/fixes (f6492164ecb1 ARM: 8577/1: Fix Cortex-A15 798181 errata initialization)
Merging m68k-current/for-linus (6bd80f372371 m68k/defconfig: Update defconfigs for v4.7-rc2)
Merging metag-fixes/fixes (0164a711c97b metag: Fix ioremap_wc/ioremap_cached build errors)
Merging powerpc-fixes/fixes (bfa37087aa04 powerpc: Initialise pci_io_base as early as possible)
Merging powerpc-merge-mpe/fixes (bc0195aad0da Linux 4.2-rc2)
Merging sparc/master (6b15d6650c53 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net)
Merging net/master (c74bfbdba0e8 sctp: load transport header after sk_filter)
Merging ipsec/master (1ba5bf993c6a xfrm: fix crash in XFRM_MSG_GETSA netlink handler)
Merging netfilter/master (ea43f860d984 Merge branch 'ethoc-fixes')
Merging ipvs/master (3777ed688fba ipvs: fix bind to link-local mcast IPv6 address in backup)
Merging wireless-drivers/master (034fdd4a17ff Merge ath-current from ath.git)
Merging mac80211/master (16a910a6722b cfg80211: handle failed skb allocation)
Merging sound-current/for-linus (76df52969711 ALSA: usb-audio: Fix quirks code is not called)
Merging pci-current/for-linus (ef0dab4aae14 PCI: Fix unaligned accesses in VC code)
Merging driver-core.current/driver-core-linus (92d21ac74a9e Linux 4.7-rc7)
Merging tty.current/tty-linus (a99cde438de0 Linux 4.7-rc6)
Merging usb.current/usb-linus (a99cde438de0 Linux 4.7-rc6)
Merging usb-gadget-fixes/fixes (50c763f8c1ba usb: dwc3: Set the ClearPendIN bit on Clear Stall EP command)
Merging usb-serial-fixes/usb-linus (4c2e07c6a29e Linux 4.7-rc5)
Merging usb-chipidea-fixes/ci-for-usb-stable (ea1d39a31d3b usb: common: otg-fsm: add license to usb-otg-fsm)
Merging staging.current/staging-linus (a99cde438de0 Linux 4.7-rc6)
Merging char-misc.current/char-misc-linus (33688abb2802 Linux 4.7-rc4)
Merging input-current/for-linus (6a5029e66404 Input: ts4800-ts - add missing of_node_put after calling of_parse_phandle)
Merging crypto-current/master (055ddaace035 crypto: user - re-add size check for CRYPTO_MSG_GETALG)
Merging ide/master (1993b176a822 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide)
Merging rr-fixes/fixes (8244062ef1e5 modules: fix longstanding /proc/kallsyms vs module insertion race.)
Merging vfio-fixes/for-linus (ce7585f3c4d7 vfio/pci: Allow VPD short read)
Merging kselftest-fixes/fixes (f80eb4289491 selftests/exec: Makefile is a run-time dependency, add it to the install list)
Merging backlight-fixes/for-backlight-fixes (68feaca0b13e backlight: pwm: Handle EPROBE_DEFER while requesting the PWM)
Merging ftrace-fixes/for-next-urgent (6224beb12e19 tracing: Have branch tracer use recursive field of task struct)
Merging mfd-fixes/for-mfd-fixes (5baaf3b9efe1 usb: dwc3: st: Use explicit reset_control_get_exclusive() API)
Merging drm-intel-fixes/for-linux-next-fixes (ed2eebbd61af drm/i915: add missing condition for committing planes on crtc)
Merging asm-generic/master (b0da6d44157a asm-generic: Drop renameat syscall from default list)
Merging arc/for-next (627c88b68f0b ARC: typo fix in mm/ioremap.c)
Merging arm/for-next (bf9cb4359182 Merge branches 'component', 'cpuidle', 'fixes' and 'misc' into for-next)
Merging arm-perf/for-next/perf (1a695a905c18 Linux 4.7-rc1)
Merging arm-soc/for-next (08686a9fd33e arm-soc: document merge)
Merging amlogic/for-next (4d9b3db03bd4 Merge remote-tracking branch 'clk/clk-s905' into tmp/aml-rebuild)
Merging at91/at91-next (0f59c948faed Merge tag 'at91-ab-4.8-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into at91-next)
Merging bcm2835/for-next (aa5c0a1e15c2 Merge branch anholt/bcm2835-dt-64-next into for-next)
Merging berlin/berlin/for-next (d433580f3b4e Merge branches 'berlin64/dt' and 'berlin/dt' into berlin/for-next)
Merging cortex-m/for-next (f719a0d6a854 ARM: efm32: switch to vendor,device compatible strings)
Merging imx-mxs/for-next (63a404a3f177 Merge branch 'imx/defconfig' into for-next)
Merging keystone/next (eef6bb9fc17a Merge branch 'for_4.8/keystone' into next)
Merging mvebu/for-next (feaf6b0beba8 Merge branch 'mvebu/defconfig64' into mvebu/for-next)
Merging omap/for-next (01eab0a3b919 Merge tag 'omap-for-v4.8/defconfig-v2-signed' into for-next)
Merging omap-pending/for-next (c20c8f750d9f ARM: OMAP2+: hwmod: fix _idle() hwmod state sanity check sequence)
Merging qcom/for-next (289f9fb05d0c ARM: dts: msm8916: Add smsm and smp2p nodes)
Merging renesas/next (e1ebb0d1a9a8 Merge branch 'heads/dt-fixes-for-v4.8' into next)
Merging rockchip/for-next (ebbfb5d5627d Merge branch 'v4.8-armsoc/dts64' into for-next)
Merging rpi/for-rpi-next (bc0195aad0da Linux 4.2-rc2)
Merging samsung/for-next (92e963f50fc7 Linux 4.5-rc1)
Merging samsung-krzk/for-next (253256f64294 Merge branch 'next/soc' into for-next)
CONFLICT (content): Merge conflict in arch/arm/boot/dts/exynos5420.dtsi
Merging tegra/for-next (6083e0f837ac Merge branch for-4.8/arm64/defconfig into for-next)
Merging arm64/for-next/core (2572214170fb arm64: debug: remove unused local_dbg_{enable, disable} macros)
CONFLICT (content): Merge conflict in arch/arm64/mm/fault.c
Merging blackfin/for-linus (391e74a51ea2 eth: bf609 eth clock: add pclk clock for stmmac driver probe)
CONFLICT (content): Merge conflict in arch/blackfin/mach-common/pm.c
Merging c6x/for-linux-next (ca3060d39ae7 c6x: Use generic clkdev.h header)
Merging cris/for-next (f9f3f864b5e8 cris: Fix section mismatches in architecture startup code)
Merging h8300/h8300-next (58c57526711f h8300: Add missing include file to asm/io.h)
Merging hexagon/linux-next (02cc2ccfe771 Revert "Hexagon: fix signal.c compile error")
Merging ia64/next (70f4f9352317 ia64: efi: use timespec64 for persistent clock)
Merging m68k/for-next (6bd80f372371 m68k/defconfig: Update defconfigs for v4.7-rc2)
Merging m68knommu/for-next (33688abb2802 Linux 4.7-rc4)
Merging metag/for-next (fb2bb461e2d8 metag: Remove duplicate KERN_<LEVEL> prefix)
Merging microblaze/next (52e9e6e05617 microblaze: pci: export isa_io_base to fix link errors)
Merging mips/mips-for-linux-next (d117d8edaf68 Merge branch '4.7-fixes' into mips-for-linux-next)
Merging nios2/for-next (9fa78f63a892 nios2: Add order-only DTC dependency to %.dtb target)
Merging parisc-hd/for-next (5975b2c0c10a Merge branch 'parisc-4.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux)
Merging powerpc/next (b275bfb26963 powerpc/mm/radix: Add a kernel command line to disable radix)
Merging powerpc-mpe/next (bc0195aad0da Linux 4.2-rc2)
Merging fsl/next (26258cc763c5 powerpc/fsl-pci: Use fsl_guts_get_svr())
CONFLICT (content): Merge conflict in drivers/soc/Kconfig
Merging mpc5xxx/next (39e69f55f857 powerpc: Introduce the use of the managed version of kzalloc)
Merging s390/features (64a40c84001e s390/pci: Delete an unnecessary check before the function call "pci_dev_put")
Merging sparc-next/master (9f935675d41a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input)
Merging tile/master (893d66192c46 tile: support gcc 7 optimization to use __multi3)
Merging uml/linux-next (a78ff1112263 um: add extended processor state save/restore support)
Merging unicore32/unicore32 (c83d8b2fc986 unicore32: mm: Add missing parameter to arch_vma_access_permitted)
Merging xtensa/for_next (9da8320bb977 xtensa: add test_kc705_hifi variant)
Merging btrfs/next (c315ef8d9db7 Merge branch 'for-chris-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/fdmanana/linux into for-linus-4.7)
Merging btrfs-kdave/for-next (701aa322c418 Fixup: fs_info/root cleanups and qgroups patches)
Merging ceph/master (f6973c09490c ceph: use i_version to check validity of fscache)
Merging cifs/for-next (8d9535b6efd8 cifs: Check for existing directory when opening file with O_CREAT)
Merging configfs/for-next (3dc3afadeb04 configfs: don't set buffer_needs_fill to zero if show() returns error)
Merging ecryptfs/next (2bdcdbea80bd ecryptfs: don't allow mmap when the lower fs doesn't support it)
Merging ext3/for_next (e008bb6134a6 quota: use time64_t internally)
Merging ext4/dev (7bc949164511 ext4: verify extent header depth)
Merging f2fs/dev (363cad7f7e58 f2fs: avoid memory allocation failure due to a long length)
Merging freevxfs/for-next (bf1bb4b460c8 freevxfs: update Kconfig information)
Merging fscache/fscache (b00c2ae2ed3c FS-Cache: Don't override netfs's primary_index if registering failed)
Merging fuse/for-next (7879c4e58b7c fuse: improve aio directIO write performance for size extending writes)
Merging gfs2/for-next (44f52122a220 GFS2: Check rs_free with rd_rsspin protection)
Merging jfs/jfs-next (6ed71e9819ac jfs: Coalesce some formats)
Merging nfs/linux-next (3e36eaa4799f Merge branch 'nfs-rdma')
Merging nfsd/nfsd-next (96c35631204c SUNRPC: change UDP socket space reservation)
Merging orangefs/for-next (78fee0b6846f orangefs: fix namespace handling)
Merging overlayfs/overlayfs-next (3ca57010e1ba locks: fix file locking on overlayfs)
Merging v9fs/for-next (a333e4bf2556 fs/9p: use fscache mutex rather than spinlock)
Merging ubifs/linux-next (4ac1c17b2044 UBIFS: Implement ->migratepage())
Merging xfs/for-next (f477cedc4e79 Merge branch 'xfs-4.8-misc-fixes-2' into for-next)
Merging file-locks/linux-next (5af9c2e19da6 Merge branch 'akpm' (patches from Andrew))
Merging vfs/for-next (b223f4e215b3 Merge branch 'd_real' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs into work.misc)
CONFLICT (content): Merge conflict in fs/nfs/dir.c
Merging pci/next (e0af5a975e77 Merge branch 'pci/resource' into next)
CONFLICT (content): Merge conflict in drivers/pci/host/pci-tegra.c
CONFLICT (content): Merge conflict in drivers/nvme/host/pci.c
Merging pstore/for-next/pstore (35da60941e44 pstore/ram: add Device Tree bindings)
Merging hid/for-next (de1bcd764ea0 Merge branch 'for-4.8/upstream' into for-next)
Merging i2c/i2c/for-next (2c32e9ed5dcb Merge branch 'i2c/for-4.8' into i2c/for-next)
Merging jdelvare-hwmon/master (18c358ac5e32 Documentation/hwmon: Update links in max34440)
Merging dmi/master (0deb6b2c087a dmi-id: don't free dev structure after calling device_register)
Merging hwmon-staging/hwmon-next (ec9268ba1a96 hwmon: Add driver for FTS BMC chip "Teutates")
Merging v4l-dvb/master (7df7922fa649 Merge branch 'topic/docs-next' into to_next)
Merging pm/linux-next (15ad7523a30a Merge branches 'pm-devfreq' and 'pm-cpu' into linux-next)
Merging idle/next (f55532a0c0b8 Linux 4.6-rc1)
Merging thermal/next (2c5ce98e1e83 thermal: sysfs: add comments describing locking strategy)
Merging thermal-soc/next (9a1d2bd3e7fd Merge branch 'work-fixes' into work-next)
CONFLICT (add/add): Merge conflict in drivers/thermal/thermal_sysfs.c
CONFLICT (add/add): Merge conflict in drivers/thermal/thermal_helpers.c
CONFLICT (content): Merge conflict in drivers/thermal/thermal_core.c
Merging ieee1394/for-next (384fbb96f926 firewire: nosy: Replace timeval with timespec64)
Merging dlm/next (5c93f56f770e dlm: Use kmemdup instead of kmalloc and memcpy)
Merging swiotlb/linux-next (386744425e35 swiotlb: Make linux/swiotlb.h standalone includible)
Merging slave-dma/next (b1a4e336d500 Merge branch 'topic/dmaengine_cleanups' into next)
Merging net-next/master (7e0433b3956b Merge branch 'frag-udp-tunneled-skbs')
CONFLICT (content): Merge conflict in net/sctp/input.c
CONFLICT (content): Merge conflict in net/sched/sch_htb.c
CONFLICT (content): Merge conflict in drivers/net/ethernet/intel/i40e/i40e_main.c
CONFLICT (content): Merge conflict in drivers/net/ethernet/freescale/fec.h
CONFLICT (content): Merge conflict in drivers/net/ethernet/cavium/liquidio/lio_main.c
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/broadcom/ns2.dtsi
CONFLICT (content): Merge conflict in arch/arm64/boot/dts/broadcom/ns2-svk.dts
Merging ipsec-next/master (cb866e3298cd xfrm: Increment statistic counter on inner mode error)
Merging netfilter-next/master (3101e0fc1f6e netfilter: conntrack: protect early_drop by rcu read lock)
Merging ipvs-next/master (be2cef49904b ipvs: count pre-established TCP states as active)
Merging wireless-drivers-next/master (593463ff1cfa Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git)
Merging bluetooth/master (e7acf43024e9 Bluetooth: btmrvl: reset is_suspending flag in failure path)
Merging mac80211-next/master (7d27a0ba7adc cfg80211: Add mesh peer AID setting API)
Merging rdma/for-next (fb92d8fb1b9c Merge branches 'cxgb4-4.8', 'mlx5-4.8' and 'fw-version' into k.o/for-4.8)
Merging rdma-leon/rdma-next (4c2e07c6a29e Linux 4.7-rc5)
Merging rdma-leon-test/testing/rdma-next (92d21ac74a9e Linux 4.7-rc7)
Merging mtd/master (7ce9ea7e6b35 mtd: nand: omap2: Add check for old elm binding)
Merging l2-mtd/master (ad35c9a0dcd8 mtd: mtk-nor: remove duplicated include from mtk-quadspi.c)
CONFLICT (content): Merge conflict in drivers/mtd/devices/Kconfig
$ git reset --hard HEAD^
Merging next-20160718 version of l2-mtd
Merging nand/nand/next (8490c03bd9d4 mtd: nand: jz4780: Update MODULE_AUTHOR email address)
Merging crypto/master (c07f5d3da643 crypto: vmx - Adding support for XTS)
Merging drm/drm-next (0cf09031540c Merge branch 'drm_bridge_for_4.8' of https://github.com/boddob/linux into drm-next)
CONFLICT (content): Merge conflict in drivers/media/platform/omap/omap_voutdef.h
CONFLICT (content): Merge conflict in drivers/gpu/drm/sti/sti_drv.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/rockchip/rockchip_drm_drv.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/msm/msm_drv.c
CONFLICT (content): Merge conflict in Documentation/index.rst
Applying: drm/i915/opregion: fix up for argument change
Merging drm-panel/drm/panel/for-next (9bb34c4c730d drm/panel: simple: Add support for Starry KR122EA0SRA panel)
Merging drm-intel/for-linux-next (fa95986095e3 drm/i915: Set legacy properties when using legacy gamma set IOCTL. (v2))
Merging drm-tegra/drm/tegra/for-next (64ea25c3bc86 drm/tegra: sor: Reject HDMI 2.0 modes)
Merging drm-misc/topic/drm-misc (3694c5c3dea1 drm/rockchip: analogix_dp: add missing clk_disable_unprepare() on error)
Merging drm-exynos/exynos-drm/for-next (25364a9e54fb Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid)
Merging drm-msm/msm-next (0a677125d0ff drm/msm: Delete an unnecessary check before drm_gem_object_unreference())
Merging hdlcd/for-upstream/hdlcd (f6c68b4bd4a9 drm: hdlcd: Add information about the underlying framebuffers in debugfs)
Merging mali-dp/for-upstream/mali-dp (59ba2422b430 MAINTAINERS: Add entry for Mali-DP driver)
Merging sunxi/sunxi/for-next (25d6a931b3f3 Merge branches 'sunxi/clk-fixes-for-4.7', 'sunxi/defconfig-for-4.8', 'sunxi/drm-fixes-for-4.7' and 'sunxi/dt-for-4.8' into sunxi/for-next)
Merging kbuild/for-next (8f59bd8c154e Merge branch 'kbuild/misc' into kbuild/for-next)
Applying: gcc-plugins: disable under COMPILE_TEST
Merging kspp/for-next/kspp (b68ec830f205 mm: SLUB hardened usercopy support)
CONFLICT (content): Merge conflict in arch/powerpc/Kconfig
CONFLICT (content): Merge conflict in arch/arm64/include/asm/uaccess.h
Merging kconfig/for-next (5bcba792bb30 localmodconfig: Fix whitespace repeat count after "tristate")
Merging regmap/for-next (efeb1a3ab91d Merge remote-tracking branches 'regmap/topic/bulk', 'regmap/topic/i2c', 'regmap/topic/iopoll', 'regmap/topic/irq' and 'regmap/topic/maintainers' into regmap-next)
Merging sound/for-next (275353bb684e ALSA: echoaudio: purge contradictions between dimension matrix members and total number of members)
Merging sound-asoc/for-next (280d785f6903 Merge remote-tracking branches 'asoc/topic/wm8753' and 'asoc/topic/wm8985' into asoc-next)
Merging modules/modules-next (9fc3d73bedc7 module: Do a WARN_ON_ONCE() for assert module mutex not held)
Merging input/next (c1d7b7c1817a Input: pegasus_notetaker - set device mode in reset_resume() if in use)
Merging block/for-next (3868d6b735ce Merge branch 'for-4.8/core' into for-next)
CONFLICT (content): Merge conflict in fs/f2fs/segment.c
CONFLICT (content): Merge conflict in fs/f2fs/data.c
CONFLICT (modify/delete): fs/ext4/crypto.c deleted in HEAD and modified in block/for-next. Version block/for-next of fs/ext4/crypto.c left in tree.
CONFLICT (content): Merge conflict in fs/btrfs/extent_io.c
CONFLICT (content): Merge conflict in fs/btrfs/compression.c
CONFLICT (content): Merge conflict in drivers/block/xen-blkfront.c
CONFLICT (content): Merge conflict in block/blk-lib.c
$ git rm -f fs/ext4/crypto.c
Merging lightnvm/for-next (191d684c5d4f Merge branch 'for-4.8/drivers' into for-next)
Merging device-mapper/for-next (d756d6ea7bcf dm: allow bio-based table to be upgraded to bio-based with DAX support)
CONFLICT (content): Merge conflict in include/linux/blkdev.h
Merging pcmcia/master (e8e68fd86d22 pcmcia: do not break rsrc_nonstatic when handling anonymous cards)
Merging mmc-uh/next (3e7aa4e78748 mmc: core: Extend sysfs with DSR register)
Merging md/for-next (0e5313e2d4ef raid10: improve random reads performance)
CONFLICT (content): Merge conflict in drivers/md/raid10.c
CONFLICT (content): Merge conflict in drivers/md/raid1.c
Merging mfd/for-mfd-next (f37be01e6dc6 mfd: qcom_rpm: Parametrize also ack selector size)
Merging backlight/for-backlight-next (602553073892 backlight: lp855x: Add enable regulator)
Merging battery/master (4fcd504edbf7 power: reset: add reboot mode driver)
Merging omap_dss2/for-next (ab366b40b851 fbdev: Use IS_ENABLED() instead of checking for built-in or module)
Merging regulator/for-next (564bd187dbe2 Merge remote-tracking branches 'regulator/topic/qcom-spmi', 'regulator/topic/rn5t618', 'regulator/topic/tps65218' and 'regulator/topic/twl' into regulator-next)
Merging security/next (d4d03f74a73f apparmor: fix arg_size computation for when setprocattr is null terminated)
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/vendor-prefixes.txt
Merging integrity/next (544e1cea03e6 ima: extend the measurement entry specific pcr)
Merging keys/keys-next (05638c9bc586 Merge branch 'keys-asym-keyctl' into keys-next)
Merging selinux/next (3f09354ac84c netlabel: Implement CALIPSO config functions for SMACK.)
Merging tpmdd/next (82cc1a49b635 tpm: Add TPM 2.0 support to the Nuvoton i2c driver (NPCT6xx family))
Merging watchdog/master (e035d8f787b1 watchdog: sbsa: Drop status function)
Merging iommu/next (a9f890f46e6a Merge branches 'x86/amd', 'x86/vt-d', 'arm/exynos', 'arm/mediatek', 'arm/msm', 'arm/rockchip', 'arm/smmu' and 'core' into next)
CONFLICT (content): Merge conflict in drivers/iommu/mtk_iommu.c
Merging dwmw2-iommu/master (2566278551d3 Merge git://git.infradead.org/intel-iommu)
Merging vfio/next (0991bbdbf5b8 vfio: platform: check reset call return code during release)
Merging jc_docs/docs-next (47d6d752b9e2 doc/sphinx: Enable keep_warnings)
Merging trivial/for-next (34df117414d7 fat: fix error message for bogus number of directory entries)
Merging audit/next (0b7a0fdb2971 audit: fix whitespace in CWD record)
CONFLICT (content): Merge conflict in arch/s390/kernel/ptrace.c
Merging devicetree/for-next (1d1bde550ea3 of: fdt: mark unflattened tree as detached)
CONFLICT (content): Merge conflict in arch/arm/mach-imx/mach-imx51.c
CONFLICT (content): Merge conflict in arch/arm/mach-bcm/board_bcm21664.c
CONFLICT (content): Merge conflict in arch/arc/kernel/setup.c
Merging mailbox/mailbox-for-next (9ac3e85a5c5c mailbox: pl320: remove __raw IO)
Merging spi/for-next (eaec6816a60f Merge remote-tracking branches 'spi/topic/topcliff-pch', 'spi/topic/txx9' and 'spi/topic/xilinx' into spi-next)
Merging perf/perf/core (5048c2af078d Merge tag 'perf-core-for-mingo-20160718' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core)
Applying: tools: Simplify __BITS_PER_LONG define
Merging tip/auto-latest (661b0789d07d Merge branch 'x86/urgent')
CONFLICT (content): Merge conflict in arch/x86/kernel/x86_init.c
CONFLICT (content): Merge conflict in arch/arm/mach-mxs/Kconfig
CONFLICT (content): Merge conflict in arch/arm/Kconfig
Applying: clocksource/drivers/clps_711x: fixup for "ARM: clps711x: Switch to MULTIPLATFORM"
Applying: x86/kernel: include spinlock_types.h for missing spinlock_t
Merging clockevents/clockevents/next (1d661bf5327a clocksource/drivers/time-armada-370-xp: Fix return value check)
Merging edac/linux_next (12f0721c5a70 sb_edac: correctly fetch DIMM width on Ivy Bridge and Haswell)
Merging edac-amd/for-next (a67adb32d941 ARM: dts: Add Arria10 Ethernet EDAC devicetree entry)
Merging irqchip/irqchip/for-next (77d50b17c990 Merge branch 'irqchip/misc' into irqchip/for-next)
Merging ftrace/for-next (78aebca2c955 printk, tracing: Avoiding unneeded blank lines)
Merging rcu/rcu/next (fbbede99476f rcu: don't use modular infrastructure in non-modular code)
CONFLICT (content): Merge conflict in kernel/rcu/tree.c
Merging kvm/linux-next (af1bae5497b9 KVM: x86: bump KVM_MAX_VCPU_ID to 1023)
CONFLICT (content): Merge conflict in arch/x86/kvm/vmx.c
CONFLICT (content): Merge conflict in arch/s390/mm/gmap.c
CONFLICT (content): Merge conflict in arch/s390/hypfs/hypfs_diag.c
CONFLICT (content): Merge conflict in arch/powerpc/kernel/traps.c
CONFLICT (content): Merge conflict in arch/powerpc/kernel/idle_book3s.S
CONFLICT (content): Merge conflict in arch/powerpc/kernel/exceptions-64s.S
CONFLICT (content): Merge conflict in arch/powerpc/include/asm/paca.h
Applying: s390: fix merge conflict in arch/s390/kvm/kvm-s390.c
Applying: s390: merge fix up for __diag204 move
Merging kvm-arm/next (3a88bded2035 KVM: arm64: vgic-its: Simplify MAPI error handling)
CONFLICT (content): Merge conflict in virt/kvm/kvm_main.c
CONFLICT (modify/delete): virt/kvm/arm/vgic.c deleted in kvm-arm/next and modified in HEAD. Version HEAD of virt/kvm/arm/vgic.c left in tree.
CONFLICT (content): Merge conflict in include/uapi/linux/kvm.h
CONFLICT (content): Merge conflict in include/linux/irqchip/arm-gic-v3.h
$ git rm -f virt/kvm/arm/vgic.c
Merging kvm-ppc/kvm-ppc-next (c63517c2e381 KVM: PPC: Book3S: correct width in XER handling)
Merging kvm-ppc-paulus/kvm-ppc-next (fd7bacbca47a KVM: PPC: Book3S HV: Fix TB corruption in guest exit path on HMI interrupt)
Merging kvms390/next (9acc317b183f KVM: s390: let ptff intercepts result in cc=3)
CONFLICT (content): Merge conflict in include/uapi/linux/kvm.h
Merging xen-tip/linux-next (6ba286ad8457 xen: support runqueue steal time on xen)
CONFLICT (content): Merge conflict in drivers/acpi/scan.c
CONFLICT (content): Merge conflict in arch/arm/xen/enlighten.c
Merging percpu/for-next (6710e594f71c percpu: fix synchronization between synchronous map extension and chunk destruction)
Merging workqueues/for-next (d945b5e9f0e3 workqueue: Fix setting affinity of unbound worker threads)
Merging drivers-x86/for-next (df2294fb6428 intel_pmc_core: Convert to DEFINE_DEBUGFS_ATTRIBUTE)
Merging chrome-platform/for-next (31b764171cb5 Revert "platform/chrome: chromeos_laptop: Add Leon Touch")
Merging hsi/for-next (9c99e5e51988 HSI: omap_ssi: drop pm_runtime_irq_safe)
Merging leds/for-next (5706c01fcfb3 leds: is31fl32xx: define complete i2c_device_id table)
Merging ipmi/for-next (92cad0931b08 ipmi: remove trydefaults parameter and default init)
Merging driver-core/driver-core-next (92d21ac74a9e Linux 4.7-rc7)
Merging tty/tty-next (67417f9c262e Merge 4.7-rc6 into tty-next)
Merging usb/usb-next (a1ca2c6b2924 usb: musb: sunxi: Simplify dr_mode handling)
Applying: staging: emxx_udc: allow modular build
Merging usb-gadget/next (15e4292a2d21 usb: renesas_usbhs: protect the CFIFOSEL setting in usbhsg_ep_enable())
Merging usb-serial/usb-next (3161da970d38 USB: serial: use variable for status)
Merging usb-chipidea-next/ci-for-usb-next (ebfad91c5da3 dt-bindings: ci-hdrc-usb2: s/gadget-itc-setting/itc-setting in example)
Merging staging/staging-next (6c71ee3b6157 Merge tag 'iio-for-4.8c' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next)
CONFLICT (modify/delete): drivers/staging/lustre/lustre/llite/lloop.c deleted in staging/staging-next and modified in HEAD. Version HEAD of drivers/staging/lustre/lustre/llite/lloop.c left in tree.
CONFLICT (modify/delete): drivers/staging/android/sync.h deleted in staging/staging-next and modified in HEAD. Version HEAD of drivers/staging/android/sync.h left in tree.
$ git rm -f drivers/staging/lustre/lustre/llite/lloop.c drivers/staging/android/sync.h
Applying: staging/android: merge fix up for sync.h renaming
Merging char-misc/char-misc-next (45c7d71e1675 Merge tag 'lkdtm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux into char-misc-testing)
Merging extcon/extcon-next (fa1723bb3461 extcon: arizona: Remove unneeded semi-colon)
Merging cgroup/for-next (1cab4a96cab6 Merge branch 'for-4.8' into for-next)
CONFLICT (content): Merge conflict in kernel/cgroup.c
Merging scsi/for-next (fcbefc3b2bfb scsi: ufs: remove unnecessary goto label)
Merging target-updates/for-next (8f0dfb3d8b11 iscsi-target: Fix early sk_data_ready LOGIN_FLAGS_READY race)
Merging target-merge/for-next-merge (2994a7518317 cxgb4: update Kconfig and Makefile)
Merging libata/for-next (2f599675f191 Merge branch 'for-4.8' into for-next)
Merging binfmt_misc/for-next (4af75df6a410 binfmt_misc: add F option description to documentation)
Merging pinctrl/for-next (25af8bfa9693 pinctrl: Add STM32F746 MCU support)
Merging vhost/linux-next (139ab4d4e68b tools/virtio: add noring tool)
Merging remoteproc/for-next (7a6271a80cae remoteproc/wkup_m3: Use MODULE_DEVICE_TABLE to export alias)
Merging rpmsg/for-next (e937b335a738 Merge branches 'hwspinlock-next', 'rpmsg-next' and 'rproc-next' into for-next)
Merging gpio/for-next (4287d2aea9bf MAINTAINERS: Add INTEL MERRIFIELD GPIO entry)
Merging dma-mapping/dma-mapping-next (d770e558e219 Linux 4.2-rc1)
Merging pwm/for-next (9637e7e0403a Merge branch 'for-4.8/regulator' into for-next)
CONFLICT (content): Merge conflict in Documentation/devicetree/bindings/pwm/pwm-tiehrpwm.txt
Merging dma-buf/for-next (194cad44c4e1 dma-buf/sync_file: improve Kconfig description for Sync Files)
CONFLICT (content): Merge conflict in drivers/dma-buf/Kconfig
Merging userns/for-next (81754357770e fs: Update i_[ug]id_(read|write) to translate relative to s_user_ns)
CONFLICT (content): Merge conflict in fs/proc/root.c
CONFLICT (content): Merge conflict in fs/posix_acl.c
Applying: proc: fixup for "prevent stacking filesystems on top"
Merging ktest/for-next (2dcd0af568b0 Linux 4.6)
Merging clk/clk-next (b328d2c110ad clk: Makefile: re-sort and clean up)
Merging aio/master (b562e44f507e Linux 4.5)
Merging kselftest/next (cde07f453bed selftests: media_tests - Add media_device_open to .gitignore)
Merging y2038/y2038 (4b277763c5b3 vfs: Add support to document max and min inode times)
Merging luto-misc/next (2dcd0af568b0 Linux 4.6)
Merging borntraeger/linux-next (b562e44f507e Linux 4.5)
Merging livepatching/for-next (6d9122078097 Merge branch 'for-4.7/core' into for-next)
Merging coresight/next (7c844fbeb7ce coresight: etm4x: remove duplicated include from coresight-etm4x.c)
Merging rtc/rtc-next (bb9dbb01bef9 rtc: hym8563: in .read_alarm set .tm_sec to 0 to signal minute accuracy)
CONFLICT (content): Merge conflict in arch/x86/platform/efi/efi_64.c
Merging hwspinlock/for-next (bd5717a4632c hwspinlock: qcom: Correct msb in regmap_field)
Merging nvdimm/libnvdimm-for-next (57f6c2d8d4aa Merge branch 'for-4.8/libnvdimm' into libnvdimm-for-next)
CONFLICT (content): Merge conflict in drivers/nvdimm/pmem.c
Merging dax-misc/dax-misc (4d9a2c874667 dax: Remove i_mmap_lock protection)
[master b48367ebf63a] Revert "crypto: vmx - Adding support for XTS"
[master 73c6ae606bfb] Revert "crypto: vmx - Adding asm subroutines for XTS"
Merging akpm-current/current (bb51d6b889b4 ipc/msg.c: use freezable blocking call)
CONFLICT (content): Merge conflict in mm/page_alloc.c
CONFLICT (content): Merge conflict in include/linux/thread_info.h
CONFLICT (modify/delete): arch/arm/configs/bcm_defconfig deleted in HEAD and modified in akpm-current/current. Version akpm-current/current of arch/arm/configs/bcm_defconfig left in tree.
$ git rm -f arch/arm/configs/bcm_defconfig
$ git checkout -b akpm remotes/origin/akpm/master
Applying: drivers/net/wireless/intel/iwlwifi/dvm/calib.c: simplfy min() expression
Applying: kernel/trace/bpf_trace.c: work around gcc-4.4.4 anon union initialization bug
Applying: drivers/fpga/Kconfig: fix build failure
Applying: tree-wide: replace config_enabled() with IS_ENABLED()
Applying: include/linux/bitmap.h: cleanup
Applying: powerpc: add explicit #include <asm/asm-compat.h> for jump label
Applying: sparc: support static_key usage in non-module __exit sections
Applying: tile: support static_key usage in non-module __exit sections
Applying: arm: jump label may reference text in __exit
Applying: jump_label: remove bug.h, atomic.h dependencies for HAVE_JUMP_LABEL
Applying: dynamic_debug: add jump label support
Applying: ipc/sem.c: Fix complex_count vs. simple op race
Applying: ipc-semc-fix-complex_count-vs-simple-op-race-update
Applying: ipc/sem.c: remove duplicated memory barriers
Applying: ipc/sem: sem_lock with hysteresis
Applying: media: mtk-vcodec: remove unused dma_attrs
Applying: dma-mapping: use unsigned long for dma_attrs
Applying: alpha: dma-mapping: use unsigned long for dma_attrs
Applying: arc: dma-mapping: use unsigned long for dma_attrs
Applying: ARM: dma-mapping: use unsigned long for dma_attrs
Applying: arm64: dma-mapping: use unsigned long for dma_attrs
Applying: avr32: dma-mapping: use unsigned long for dma_attrs
Applying: blackfin: dma-mapping: use unsigned long for dma_attrs
Applying: c6x: dma-mapping: use unsigned long for dma_attrs
Applying: cris: dma-mapping: use unsigned long for dma_attrs
Applying: frv: dma-mapping: use unsigned long for dma_attrs
Applying: drm/exynos: dma-mapping: use unsigned long for dma_attrs
Applying: drm/mediatek: dma-mapping: use unsigned long for dma_attrs
Applying: drm/msm: dma-mapping: use unsigned long for dma_attrs
Applying: drm/nouveau: dma-mapping: use unsigned long for dma_attrs
Applying: drm/rockship: dma-mapping: use unsigned long for dma_attrs
Applying: infiniband: dma-mapping: use unsigned long for dma_attrs
Applying: iommu: dma-mapping: use unsigned long for dma_attrs
Applying: media: dma-mapping: use unsigned long for dma_attrs
Applying: xen: dma-mapping: use unsigned long for dma_attrs
Applying: swiotlb: dma-mapping: use unsigned long for dma_attrs
Applying: powerpc: dma-mapping: use unsigned long for dma_attrs
Applying: video: dma-mapping: use unsigned long for dma_attrs
Applying: x86: dma-mapping: use unsigned long for dma_attrs
Applying: iommu: intel: dma-mapping: use unsigned long for dma_attrs
Applying: h8300: dma-mapping: use unsigned long for dma_attrs
Applying: hexagon: dma-mapping: use unsigned long for dma_attrs
Applying: ia64: dma-mapping: use unsigned long for dma_attrs
Applying: m68k: dma-mapping: use unsigned long for dma_attrs
Applying: metag: dma-mapping: use unsigned long for dma_attrs
Applying: microblaze: dma-mapping: use unsigned long for dma_attrs
Applying: mips: dma-mapping: use unsigned long for dma_attrs
Applying: mn10300: dma-mapping: use unsigned long for dma_attrs
Applying: nios2: dma-mapping: use unsigned long for dma_attrs
Applying: openrisc: dma-mapping: use unsigned long for dma_attrs
Applying: parisc: dma-mapping: use unsigned long for dma_attrs
Applying: misc: mic: dma-mapping: use unsigned long for dma_attrs
Applying: s390: dma-mapping: use unsigned long for dma_attrs
Applying: sh: dma-mapping: use unsigned long for dma_attrs
Applying: sparc: dma-mapping: use unsigned long for dma_attrs
Applying: tile: dma-mapping: use unsigned long for dma_attrs
Applying: unicore32: dma-mapping: use unsigned long for dma_attrs
Applying: xtensa: dma-mapping: use unsigned long for dma_attrs
Applying: remoteproc: qcom: use unsigned long for dma_attrs
Applying: dma-mapping: remove dma_get_attr
Applying: dma-mapping: document the DMA attributes next to the declaration
Merging akpm/master (38ae3b19fb18 dma-mapping: document the DMA attributes next to the declaration)

^ permalink raw reply

* next-20160720 build: 0 failures 4 warnings (next-20160720)
From: Build bot for Mark Brown @ 2016-07-20 11:22 UTC (permalink / raw)
  To: kernel-build-reports, linaro-kernel, linux-next

Tree/Branch: next-20160720
Git describe: next-20160720
Commit: 25026d11e4 Add linux-next specific files for 20160720

Build Time: 87 min 31 sec

Passed:    9 / 9   (100.00 %)
Failed:    0 / 9   (  0.00 %)

Errors: 0
Warnings: 4
Section Mismatches: 0

-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
      2 warnings    0 mismatches  : arm64-allmodconfig
      4 warnings    0 mismatches  : arm-allmodconfig

-------------------------------------------------------------------------------

Warnings Summary: 4
	  2 ../include/linux/dynamic_debug.h:134:3: warning: 'carrier_offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
	  2 ../drivers/net/wireless/ti/wlcore/spi.c:457:6: warning: unused variable 'ret' [-Wunused-variable]
	  1 ../drivers/tty/serial/8250/8250_fintek.c:34:0: warning: "IRQ_MODE" redefined
	  1 ../drivers/misc/lkdtm_usercopy.c:52:15: warning: 'bad_stack' may be used uninitialized in this function [-Wmaybe-uninitialized]



===============================================================================
Detailed per-defconfig build reports below:


-------------------------------------------------------------------------------
arm64-allmodconfig : PASS, 0 errors, 2 warnings, 0 section mismatches

Warnings:
	../include/linux/dynamic_debug.h:134:3: warning: 'carrier_offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
	../drivers/net/wireless/ti/wlcore/spi.c:457:6: warning: unused variable 'ret' [-Wunused-variable]

-------------------------------------------------------------------------------
arm-allmodconfig : PASS, 0 errors, 4 warnings, 0 section mismatches

Warnings:
	../include/linux/dynamic_debug.h:134:3: warning: 'carrier_offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
	../drivers/misc/lkdtm_usercopy.c:52:15: warning: 'bad_stack' may be used uninitialized in this function [-Wmaybe-uninitialized]
	../drivers/tty/serial/8250/8250_fintek.c:34:0: warning: "IRQ_MODE" redefined
	../drivers/net/wireless/ti/wlcore/spi.c:457:6: warning: unused variable 'ret' [-Wunused-variable]
-------------------------------------------------------------------------------

Passed with no errors, warnings or mismatches:

arm64-allnoconfig
arm-multi_v5_defconfig
arm-multi_v7_defconfig
x86_64-defconfig
arm-allnoconfig
x86_64-allnoconfig
arm64-defconfig
close failed in file object destructor:
sys.excepthook is missing
lost sys.stderr

^ permalink raw reply

* Re: linux-next: build failure after merge of the crypto tree
From: Herbert Xu @ 2016-07-20 14:32 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: linux-next, linux-kernel, Paulo Flabiano Smorigo,
	Leonidas S. Barbosa, Linux Crypto Mailing List
In-Reply-To: <20160720174634.53bad636@canb.auug.org.au>

On Wed, Jul 20, 2016 at 05:46:34PM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the dax-misc tree, today's linux-next build (powerpc
> allyesconfig) failed like this:
> 
> drivers/crypto/vmx/aesp8-ppc.S: Assembler messages:
> drivers/crypto/vmx/aesp8-ppc.S:2036: Error: symbol `.aes_p8_xts_decrypt' is already defined
> 
> Caused by commit
> 
>   11c6e16ee13a ("crypto: vmx - Adding asm subroutines for XTS")
> 
> I have reverted that commit (and commit c07f5d3da643 ("crypto: vmx -
> Adding support for XTS")) for today.

Thanks Stephen.  I think this patch should fix it.

---8<---
Subject: crypto: vmx - Fix aes_p8_xts_decrypt build failure

We use _GLOBAL so there is no need to do the manual alignment,
in fact it causes a build failure.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

diff --git a/drivers/crypto/vmx/aesp8-ppc.pl b/drivers/crypto/vmx/aesp8-ppc.pl
index 813ffcc..0b4a293 100644
--- a/drivers/crypto/vmx/aesp8-ppc.pl
+++ b/drivers/crypto/vmx/aesp8-ppc.pl
@@ -2125,8 +2125,6 @@ Lxts_enc_ret:
 .size	.${prefix}_xts_encrypt,.-.${prefix}_xts_encrypt
 
 .globl	.${prefix}_xts_decrypt
-.align	5
-.${prefix}_xts_decrypt:
 	mr		$inp,r3				# reassign
 	li		r3,-1
 	${UCMP}i	$len,16
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply related

* Re: linux-next: build failure after merge of the wireless-drivers-next tree
From: Kalle Valo @ 2016-07-20 18:31 UTC (permalink / raw)
  To: Brian Norris
  Cc: Rafał Miłecki, linux-mtd@lists.infradead.org,
	Stephen Rothwell, linux-wireless@vger.kernel.org, linux-next,
	Linux Kernel Mailing List
In-Reply-To: <20160719183913.GA88186@google.com>

Brian Norris <computersforpeace@gmail.com> writes:

> Just to head this off, since I noticed it...
>
> On Tue, Jul 19, 2016 at 05:08:59PM +0300, Kalle Valo wrote:
>> Rafał Miłecki <zajec5@gmail.com> writes:
>> > I sent a patch seconds ago, you may just take a look at it. If you
>> > still prefer to revert my commit, go ahead.
>> 
>> Ok, let's try your fix. We still have few days. I applied the patch[1]
>> to the pending branch this morning and if I don't see any errors I apply
>> it later tonight and hopefully it will be in tomorrow's linux-next
>> build. Thanks for the quick fix, very much appreciated.
>> 
>> [1] "mtd: add arch dependency for MTD_BCM47XXSFLASH symbol"
>>     https://patchwork.kernel.org/patch/9236053/
>
> I applied a trivial change to this same Kconfig entry:
>
> Subject: mtd: update description of MTD_BCM47XXSFLASH symbol
> http://git.infradead.org/l2-mtd.git/commitdiff/0a526341fee054c1e2b9f0e4b2b424ae81707d4c
>
> It's a trivial conflict, so should we just let Linus work it out? I can
> note it my MTD pull request, if wireless lands first.

Sounds good to me. Do note that Linus doesn't pull wireless-drivers-next
directly, it goes through net-next. But I'll let Dave also know about
this when I send him the pull request.

-- 
Kalle Valo

^ permalink raw reply

* Re: linux-next: build warning after merge of the wireless-drivers-next tree
From: Kalle Valo @ 2016-07-20 18:41 UTC (permalink / raw)
  To: Reizer, Eyal
  Cc: Stephen Rothwell, linux-wireless@vger.kernel.org,
	linux-next@vger.kernel.org, linux-kernel@vger.kernel.org
In-Reply-To: <8665E2433BC68541A24DFFCA87B70F5B3616184A-1tpBd5JUCm6IQmiDNMet8wC/G2K4zDHf@public.gmane.org>

"Reizer, Eyal" <eyalr-l0cyMroinI0@public.gmane.org> writes:

>> After merging the wireless-drivers-next tree, today's linux-next build
>> (x86_64 allmodconfig) produced this warning:
>> 
>> drivers/net/wireless/ti/wlcore/spi.c: In function 'wlcore_probe_of':
>> drivers/net/wireless/ti/wlcore/spi.c:457:6: warning: unused variable 'ret' [-
>> Wunused-variable]
>>   int ret;
>>       ^
>> 
>> Introduced by commit
>> 
>>   01efe65aba65 ("wlcore: spi: add wl18xx support")
>
> Of course you are right. It is indeed redundant now. Don't know how I
>have missed it. Don't remember seeing a warning from the tool chain I
>have used. Anyway ,will submit an amended patch soon.
 
I didn't notice it either as I didn't have CONFIG_WLCORE_SPI enabled.
But what's odd is that kbuild didn't report anything, it's usually quite
good to catch warnings like this.

Anyway, I have pushed the fix to wireless-drivers-next:

cb6a11518850 wlcore: spi: fix build warning caused by redundant variable

-- 
Kalle Valo
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [PATCH/RFC] Re: linux-next: build failure after merge of the luto-misc tree
From: Stephen Rothwell @ 2016-07-20 23:29 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Josh Poimboeuf, Andy Lutomirski, Arnaldo Carvalho de Melo,
	Peter Zijlstra, Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
	linux-next@vger.kernel.org, linux-kernel@vger.kernel.org
In-Reply-To: <20160720025202.GB18962@kernel.org>

Hi Arnaldo,

On Tue, 19 Jul 2016 23:52:02 -0300 Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
>
> Humm, it seems that the compiler used is not the cross one, but the
> native, check if, say, __powerpc__ is defined.

Yes, __powerpc__ is defined (unsuprisingly).

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply

* linux-next: manual merge of the xfs tree with Linus' tree
From: Stephen Rothwell @ 2016-07-21  1:07 UTC (permalink / raw)
  To: David Chinner, xfs; +Cc: linux-next, linux-kernel, Jann Horn

Hi all,

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

  fs/xfs/xfs_ioctl.c

between commit:

  3e0a39654645 ("xfs: fix type confusion in xfs_ioc_swapext")

from Linus' tree and commit:

  7f1b62457b58 ("xfs: fix type confusion in xfs_ioc_swapext")

from the xfs tree.

These are not quite the same patch :-(

I fixed it up (I used the version in the xfs tree) 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

* Re: linux-next: manual merge of the xfs tree with Linus' tree
From: Dave Chinner @ 2016-07-21  1:35 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: xfs, linux-next, linux-kernel, Jann Horn
In-Reply-To: <20160721110756.7a905ee8@canb.auug.org.au>

On Thu, Jul 21, 2016 at 11:07:56AM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> Today's linux-next merge of the xfs tree got a conflict in:
> 
>   fs/xfs/xfs_ioctl.c
> 
> between commit:
> 
>   3e0a39654645 ("xfs: fix type confusion in xfs_ioc_swapext")
> 
> from Linus' tree and commit:
> 
>   7f1b62457b58 ("xfs: fix type confusion in xfs_ioc_swapext")
> 
> from the xfs tree.
> 
> These are not quite the same patch :-(

Yeah, I added comments to explain the code, because it's not obvious
why the check was added, and I couldn't find any other examples of
such checks in fs/. So, in five years time when I look at that code
again, the comment will remind me why it's a bad idea to remove what
appears to be an unnecesary check...

> I fixed it up (I used the version in the xfs tree) 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.

Yup, I planned to let Linus know. Patches in private emails that
aren't tagged [PATCH] in the subject line don't get the immediate
attention of my mail filters, so I didn't see it immediately.

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

^ permalink raw reply

* linux-next: manual merge of the net-next tree with the net tree
From: Stephen Rothwell @ 2016-07-21  1:41 UTC (permalink / raw)
  To: David Miller, netdev
  Cc: linux-next, linux-kernel, Eugenia Emantayev, Tariq Toukan,
	Brenden Blanco

Hi all,

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

  drivers/net/ethernet/mellanox/mlx4/en_ethtool.c

between commit:

  ec25bc04ed8e ("net/mlx4_en: Add resilience in low memory systems")

from the net tree and commit:

  9ecc2d86171a ("net/mlx4_en: add xdp forwarding and data write support")

from the net-next 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 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
index 44cf16d01f42,f32e272c83dd..000000000000
--- a/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
@@@ -1730,28 -1722,32 +1729,35 @@@ static int mlx4_en_set_channels(struct 
  	    !channel->tx_count || !channel->rx_count)
  		return -EINVAL;
  
+ 	if (channel->tx_count * MLX4_EN_NUM_UP <= priv->xdp_ring_num) {
+ 		en_err(priv, "Minimum %d tx channels required with XDP on\n",
+ 		       priv->xdp_ring_num / MLX4_EN_NUM_UP + 1);
+ 		return -EINVAL;
+ 	}
+ 
 +	tmp = kzalloc(sizeof(*tmp), GFP_KERNEL);
 +	if (!tmp)
 +		return -ENOMEM;
 +
  	mutex_lock(&mdev->state_lock);
 +	memcpy(&new_prof, priv->prof, sizeof(struct mlx4_en_port_profile));
 +	new_prof.num_tx_rings_p_up = channel->tx_count;
 +	new_prof.tx_ring_num = channel->tx_count * MLX4_EN_NUM_UP;
 +	new_prof.rx_ring_num = channel->rx_count;
 +
 +	err = mlx4_en_try_alloc_resources(priv, tmp, &new_prof);
 +	if (err)
 +		goto out;
 +
  	if (priv->port_up) {
  		port_up = 1;
  		mlx4_en_stop_port(dev, 1);
  	}
  
 -	mlx4_en_free_resources(priv);
 -
 -	priv->num_tx_rings_p_up = channel->tx_count;
 -	priv->tx_ring_num = channel->tx_count * MLX4_EN_NUM_UP;
 -	priv->rx_ring_num = channel->rx_count;
 -
 -	err = mlx4_en_alloc_resources(priv);
 -	if (err) {
 -		en_err(priv, "Failed reallocating port resources\n");
 -		goto out;
 -	}
 +	mlx4_en_safe_replace_resources(priv, tmp);
  
- 	netif_set_real_num_tx_queues(dev, priv->tx_ring_num);
+ 	netif_set_real_num_tx_queues(dev, priv->tx_ring_num -
+ 							priv->xdp_ring_num);
  	netif_set_real_num_rx_queues(dev, priv->rx_ring_num);
  
  	if (dev->num_tc)

^ permalink raw reply

* linux-next: manual merge of the kspp tree with the arm64 tree
From: Stephen Rothwell @ 2016-07-21  2:34 UTC (permalink / raw)
  To: Kees Cook, Catalin Marinas; +Cc: linux-next, linux-kernel, Yang Shi

Hi Kees,

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

  arch/arm64/include/asm/uaccess.h

between commit:

  bffe1baff5d5 ("arm64: kasan: instrument user memory access API")

from the arm64 tree and commit:

  aac380fe78b1 ("arm64/uaccess: Enable hardened usercopy")

from the kspp 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/include/asm/uaccess.h
index 5e834d10b291,c3d445b42351..000000000000
--- a/arch/arm64/include/asm/uaccess.h
+++ b/arch/arm64/include/asm/uaccess.h
@@@ -264,33 -276,32 +264,38 @@@ extern unsigned long __must_check __cle
  
  static inline unsigned long __must_check __copy_from_user(void *to, const void __user *from, unsigned long n)
  {
 +	kasan_check_write(to, n);
- 	return  __arch_copy_from_user(to, from, n);
+ 	check_object_size(to, n, false);
+ 	return __arch_copy_from_user(to, from, n);
  }
  
  static inline unsigned long __must_check __copy_to_user(void __user *to, const void *from, unsigned long n)
  {
 +	kasan_check_read(from, n);
- 	return  __arch_copy_to_user(to, from, n);
+ 	check_object_size(from, n, true);
+ 	return __arch_copy_to_user(to, from, n);
  }
  
  static inline unsigned long __must_check copy_from_user(void *to, const void __user *from, unsigned long n)
  {
 +	kasan_check_write(to, n);
 +
- 	if (access_ok(VERIFY_READ, from, n))
+ 	if (access_ok(VERIFY_READ, from, n)) {
+ 		check_object_size(to, n, false);
  		n = __arch_copy_from_user(to, from, n);
- 	else /* security hole - plug it */
+ 	} else /* security hole - plug it */
  		memset(to, 0, n);
  	return n;
  }
  
  static inline unsigned long __must_check copy_to_user(void __user *to, const void *from, unsigned long n)
  {
 +	kasan_check_read(from, n);
 +
- 	if (access_ok(VERIFY_WRITE, to, n))
+ 	if (access_ok(VERIFY_WRITE, to, n)) {
+ 		check_object_size(from, n, true);
  		n = __arch_copy_to_user(to, from, n);
+ 	}
  	return n;
  }
  

^ permalink raw reply

* linux-next: manual merge of the block tree with Linus' tree
From: Stephen Rothwell @ 2016-07-21  3:08 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-next, linux-kernel, Shaun Tancheff, Mike Christie

Hi Jens,

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

  block/blk-lib.c

between commit:

  05bd92dddc59 ("block: missing bio_put following submit_bio_wait")

from Linus' tree and commit:

  4e49ea4a3d27 ("block/fs/drivers: remove rw argument from submit_bio")

from the block 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 block/blk-lib.c
index 9e29dc351695,e371f83a3186..000000000000
--- a/block/blk-lib.c
+++ b/block/blk-lib.c
@@@ -103,17 -116,13 +116,14 @@@ int blkdev_issue_discard(struct block_d
  	struct blk_plug plug;
  	int ret;
  
- 	if (flags & BLKDEV_DISCARD_SECURE)
- 		type |= REQ_SECURE;
- 
  	blk_start_plug(&plug);
- 	ret = __blkdev_issue_discard(bdev, sector, nr_sects, gfp_mask, type,
+ 	ret = __blkdev_issue_discard(bdev, sector, nr_sects, gfp_mask, flags,
  			&bio);
  	if (!ret && bio) {
- 		ret = submit_bio_wait(type, bio);
- 		if (ret == -EOPNOTSUPP)
+ 		ret = submit_bio_wait(bio);
+ 		if (ret == -EOPNOTSUPP && !(flags & BLKDEV_DISCARD_ZERO))
  			ret = 0;
 +		bio_put(bio);
  	}
  	blk_finish_plug(&plug);
  
@@@ -166,11 -176,9 +177,11 @@@ int blkdev_issue_write_same(struct bloc
  		}
  	}
  
 -	if (bio)
 +	if (bio) {
- 		ret = submit_bio_wait(REQ_WRITE | REQ_WRITE_SAME, bio);
+ 		ret = submit_bio_wait(bio);
 +		bio_put(bio);
 +	}
- 	return ret != -EOPNOTSUPP ? ret : 0;
+ 	return ret;
  }
  EXPORT_SYMBOL(blkdev_issue_write_same);
  
@@@ -209,11 -217,8 +220,11 @@@ static int __blkdev_issue_zeroout(struc
  		}
  	}
  
 -	if (bio)
 -		return submit_bio_wait(bio);
 +	if (bio) {
- 		ret = submit_bio_wait(WRITE, bio);
++		ret = submit_bio_wait(bio);
 +		bio_put(bio);
 +		return ret;
 +	}
  	return 0;
  }
  

^ permalink raw reply

* linux-next: manual merge of the device-mapper tree with the block tree
From: Stephen Rothwell @ 2016-07-21  3:27 UTC (permalink / raw)
  To: Alasdair G Kergon, Mike Snitzer, Jens Axboe
  Cc: linux-next, linux-kernel, Christoph Hellwig

Hi all,

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

  drivers/md/dm.c

between commit:

  4cc96131afce ("dm: move request-based code out to dm-rq.[hc]")

from the block tree and commit:

  70246286e94c ("block: get rid of bio_rw and READA")

from the device-mapper 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 drivers/md/dm.c
index 812fd5984eea,4dca5a792e4b..000000000000
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@@ -1684,512 -1141,165 +1141,165 @@@ static unsigned get_num_write_same_bios
  	return ti->num_write_same_bios;
  }
  
- typedef bool (*is_split_required_fn)(struct dm_target *ti);
- 
- static bool is_split_required_for_discard(struct dm_target *ti)
- {
- 	return ti->split_discard_bios;
- }
- 
- static int __send_changing_extent_only(struct clone_info *ci,
- 				       get_num_bios_fn get_num_bios,
- 				       is_split_required_fn is_split_required)
- {
- 	struct dm_target *ti;
- 	unsigned len;
- 	unsigned num_bios;
- 
- 	do {
- 		ti = dm_table_find_target(ci->map, ci->sector);
- 		if (!dm_target_is_valid(ti))
- 			return -EIO;
- 
- 		/*
- 		 * Even though the device advertised support for this type of
- 		 * request, that does not mean every target supports it, and
- 		 * reconfiguration might also have changed that since the
- 		 * check was performed.
- 		 */
- 		num_bios = get_num_bios ? get_num_bios(ti) : 0;
- 		if (!num_bios)
- 			return -EOPNOTSUPP;
- 
- 		if (is_split_required && !is_split_required(ti))
- 			len = min((sector_t)ci->sector_count, max_io_len_target_boundary(ci->sector, ti));
- 		else
- 			len = min((sector_t)ci->sector_count, max_io_len(ci->sector, ti));
- 
- 		__send_duplicate_bios(ci, ti, num_bios, &len);
- 
- 		ci->sector += len;
- 	} while (ci->sector_count -= len);
- 
- 	return 0;
- }
- 
- static int __send_discard(struct clone_info *ci)
- {
- 	return __send_changing_extent_only(ci, get_num_discard_bios,
- 					   is_split_required_for_discard);
- }
- 
- static int __send_write_same(struct clone_info *ci)
- {
- 	return __send_changing_extent_only(ci, get_num_write_same_bios, NULL);
- }
- 
- /*
-  * Select the correct strategy for processing a non-flush bio.
-  */
- static int __split_and_process_non_flush(struct clone_info *ci)
- {
- 	struct bio *bio = ci->bio;
- 	struct dm_target *ti;
- 	unsigned len;
- 	int r;
- 
- 	if (unlikely(bio_op(bio) == REQ_OP_DISCARD))
- 		return __send_discard(ci);
- 	else if (unlikely(bio_op(bio) == REQ_OP_WRITE_SAME))
- 		return __send_write_same(ci);
- 
- 	ti = dm_table_find_target(ci->map, ci->sector);
- 	if (!dm_target_is_valid(ti))
- 		return -EIO;
- 
- 	len = min_t(sector_t, max_io_len(ci->sector, ti), ci->sector_count);
- 
- 	r = __clone_and_map_data_bio(ci, ti, ci->sector, &len);
- 	if (r < 0)
- 		return r;
- 
- 	ci->sector += len;
- 	ci->sector_count -= len;
- 
- 	return 0;
- }
- 
- /*
-  * Entry point to split a bio into clones and submit them to the targets.
-  */
- static void __split_and_process_bio(struct mapped_device *md,
- 				    struct dm_table *map, struct bio *bio)
- {
- 	struct clone_info ci;
- 	int error = 0;
- 
- 	if (unlikely(!map)) {
- 		bio_io_error(bio);
- 		return;
- 	}
- 
- 	ci.map = map;
- 	ci.md = md;
- 	ci.io = alloc_io(md);
- 	ci.io->error = 0;
- 	atomic_set(&ci.io->io_count, 1);
- 	ci.io->bio = bio;
- 	ci.io->md = md;
- 	spin_lock_init(&ci.io->endio_lock);
- 	ci.sector = bio->bi_iter.bi_sector;
- 
- 	start_io_acct(ci.io);
- 
- 	if (bio->bi_rw & REQ_PREFLUSH) {
- 		ci.bio = &ci.md->flush_bio;
- 		ci.sector_count = 0;
- 		error = __send_empty_flush(&ci);
- 		/* dec_pending submits any data associated with flush */
- 	} else {
- 		ci.bio = bio;
- 		ci.sector_count = bio_sectors(bio);
- 		while (ci.sector_count && !error)
- 			error = __split_and_process_non_flush(&ci);
- 	}
- 
- 	/* drop the extra reference count */
- 	dec_pending(ci.io, error);
- }
- /*-----------------------------------------------------------------
-  * CRUD END
-  *---------------------------------------------------------------*/
- 
- /*
-  * The request function that just remaps the bio built up by
-  * dm_merge_bvec.
-  */
- static blk_qc_t dm_make_request(struct request_queue *q, struct bio *bio)
- {
- 	int rw = bio_data_dir(bio);
- 	struct mapped_device *md = q->queuedata;
- 	int srcu_idx;
- 	struct dm_table *map;
- 
- 	map = dm_get_live_table(md, &srcu_idx);
- 
- 	generic_start_io_acct(rw, bio_sectors(bio), &dm_disk(md)->part0);
- 
- 	/* if we're suspended, we have to queue this io for later */
- 	if (unlikely(test_bit(DMF_BLOCK_IO_FOR_SUSPEND, &md->flags))) {
- 		dm_put_live_table(md, srcu_idx);
- 
- 		if (!(bio->bi_rw & REQ_RAHEAD))
- 			queue_io(md, bio);
- 		else
- 			bio_io_error(bio);
- 		return BLK_QC_T_NONE;
- 	}
- 
- 	__split_and_process_bio(md, map, bio);
- 	dm_put_live_table(md, srcu_idx);
- 	return BLK_QC_T_NONE;
- }
- 
- int dm_request_based(struct mapped_device *md)
- {
- 	return blk_queue_stackable(md->queue);
- }
- 
- static void dm_dispatch_clone_request(struct request *clone, struct request *rq)
- {
- 	int r;
- 
- 	if (blk_queue_io_stat(clone->q))
- 		clone->cmd_flags |= REQ_IO_STAT;
- 
- 	clone->start_time = jiffies;
- 	r = blk_insert_cloned_request(clone->q, clone);
- 	if (r)
- 		/* must complete clone in terms of original request */
- 		dm_complete_request(rq, r);
- }
- 
- static int dm_rq_bio_constructor(struct bio *bio, struct bio *bio_orig,
- 				 void *data)
- {
- 	struct dm_rq_target_io *tio = data;
- 	struct dm_rq_clone_bio_info *info =
- 		container_of(bio, struct dm_rq_clone_bio_info, clone);
- 
- 	info->orig = bio_orig;
- 	info->tio = tio;
- 	bio->bi_end_io = end_clone_bio;
- 
- 	return 0;
- }
- 
- static int setup_clone(struct request *clone, struct request *rq,
- 		       struct dm_rq_target_io *tio, gfp_t gfp_mask)
- {
- 	int r;
- 
- 	r = blk_rq_prep_clone(clone, rq, tio->md->bs, gfp_mask,
- 			      dm_rq_bio_constructor, tio);
- 	if (r)
- 		return r;
- 
- 	clone->cmd = rq->cmd;
- 	clone->cmd_len = rq->cmd_len;
- 	clone->sense = rq->sense;
- 	clone->end_io = end_clone_request;
- 	clone->end_io_data = tio;
- 
- 	tio->clone = clone;
- 
- 	return 0;
- }
- 
- static struct request *clone_old_rq(struct request *rq, struct mapped_device *md,
- 				    struct dm_rq_target_io *tio, gfp_t gfp_mask)
- {
- 	/*
- 	 * Create clone for use with .request_fn request_queue
- 	 */
- 	struct request *clone;
- 
- 	clone = alloc_old_clone_request(md, gfp_mask);
- 	if (!clone)
- 		return NULL;
- 
- 	blk_rq_init(NULL, clone);
- 	if (setup_clone(clone, rq, tio, gfp_mask)) {
- 		/* -ENOMEM */
- 		free_old_clone_request(md, clone);
- 		return NULL;
- 	}
- 
- 	return clone;
- }
- 
- static void map_tio_request(struct kthread_work *work);
- 
- static void init_tio(struct dm_rq_target_io *tio, struct request *rq,
- 		     struct mapped_device *md)
- {
- 	tio->md = md;
- 	tio->ti = NULL;
- 	tio->clone = NULL;
- 	tio->orig = rq;
- 	tio->error = 0;
- 	/*
- 	 * Avoid initializing info for blk-mq; it passes
- 	 * target-specific data through info.ptr
- 	 * (see: dm_mq_init_request)
- 	 */
- 	if (!md->init_tio_pdu)
- 		memset(&tio->info, 0, sizeof(tio->info));
- 	if (md->kworker_task)
- 		init_kthread_work(&tio->work, map_tio_request);
- }
- 
- static struct dm_rq_target_io *dm_old_prep_tio(struct request *rq,
- 					       struct mapped_device *md,
- 					       gfp_t gfp_mask)
- {
- 	struct dm_rq_target_io *tio;
- 	int srcu_idx;
- 	struct dm_table *table;
- 
- 	tio = alloc_old_rq_tio(md, gfp_mask);
- 	if (!tio)
- 		return NULL;
- 
- 	init_tio(tio, rq, md);
- 
- 	table = dm_get_live_table(md, &srcu_idx);
- 	/*
- 	 * Must clone a request if this .request_fn DM device
- 	 * is stacked on .request_fn device(s).
- 	 */
- 	if (!dm_table_mq_request_based(table)) {
- 		if (!clone_old_rq(rq, md, tio, gfp_mask)) {
- 			dm_put_live_table(md, srcu_idx);
- 			free_old_rq_tio(tio);
- 			return NULL;
- 		}
- 	}
- 	dm_put_live_table(md, srcu_idx);
- 
- 	return tio;
- }
- 
- /*
-  * Called with the queue lock held.
-  */
- static int dm_old_prep_fn(struct request_queue *q, struct request *rq)
- {
- 	struct mapped_device *md = q->queuedata;
- 	struct dm_rq_target_io *tio;
- 
- 	if (unlikely(rq->special)) {
- 		DMWARN("Already has something in rq->special.");
- 		return BLKPREP_KILL;
- 	}
- 
- 	tio = dm_old_prep_tio(rq, md, GFP_ATOMIC);
- 	if (!tio)
- 		return BLKPREP_DEFER;
- 
- 	rq->special = tio;
- 	rq->cmd_flags |= REQ_DONTPREP;
- 
- 	return BLKPREP_OK;
- }
- 
- /*
-  * Returns:
-  * 0                : the request has been processed
-  * DM_MAPIO_REQUEUE : the original request needs to be requeued
-  * < 0              : the request was completed due to failure
-  */
- static int map_request(struct dm_rq_target_io *tio, struct request *rq,
- 		       struct mapped_device *md)
- {
- 	int r;
- 	struct dm_target *ti = tio->ti;
- 	struct request *clone = NULL;
- 
- 	if (tio->clone) {
- 		clone = tio->clone;
- 		r = ti->type->map_rq(ti, clone, &tio->info);
- 	} else {
- 		r = ti->type->clone_and_map_rq(ti, rq, &tio->info, &clone);
- 		if (r < 0) {
- 			/* The target wants to complete the I/O */
- 			dm_kill_unmapped_request(rq, r);
- 			return r;
- 		}
- 		if (r != DM_MAPIO_REMAPPED)
- 			return r;
- 		if (setup_clone(clone, rq, tio, GFP_ATOMIC)) {
- 			/* -ENOMEM */
- 			ti->type->release_clone_rq(clone);
- 			return DM_MAPIO_REQUEUE;
- 		}
- 	}
- 
- 	switch (r) {
- 	case DM_MAPIO_SUBMITTED:
- 		/* The target has taken the I/O to submit by itself later */
- 		break;
- 	case DM_MAPIO_REMAPPED:
- 		/* The target has remapped the I/O so dispatch it */
- 		trace_block_rq_remap(clone->q, clone, disk_devt(dm_disk(md)),
- 				     blk_rq_pos(rq));
- 		dm_dispatch_clone_request(clone, rq);
- 		break;
- 	case DM_MAPIO_REQUEUE:
- 		/* The target wants to requeue the I/O */
- 		dm_requeue_original_request(md, tio->orig);
- 		break;
- 	default:
- 		if (r > 0) {
- 			DMWARN("unimplemented target map return value: %d", r);
- 			BUG();
- 		}
- 
- 		/* The target wants to complete the I/O */
- 		dm_kill_unmapped_request(rq, r);
- 		return r;
- 	}
+ typedef bool (*is_split_required_fn)(struct dm_target *ti);
  
- 	return 0;
+ static bool is_split_required_for_discard(struct dm_target *ti)
+ {
+ 	return ti->split_discard_bios;
  }
  
- static void map_tio_request(struct kthread_work *work)
+ static int __send_changing_extent_only(struct clone_info *ci,
+ 				       get_num_bios_fn get_num_bios,
+ 				       is_split_required_fn is_split_required)
  {
- 	struct dm_rq_target_io *tio = container_of(work, struct dm_rq_target_io, work);
- 	struct request *rq = tio->orig;
- 	struct mapped_device *md = tio->md;
+ 	struct dm_target *ti;
+ 	unsigned len;
+ 	unsigned num_bios;
  
- 	if (map_request(tio, rq, md) == DM_MAPIO_REQUEUE)
- 		dm_requeue_original_request(md, rq);
- }
+ 	do {
+ 		ti = dm_table_find_target(ci->map, ci->sector);
+ 		if (!dm_target_is_valid(ti))
+ 			return -EIO;
  
- static void dm_start_request(struct mapped_device *md, struct request *orig)
- {
- 	if (!orig->q->mq_ops)
- 		blk_start_request(orig);
- 	else
- 		blk_mq_start_request(orig);
- 	atomic_inc(&md->pending[rq_data_dir(orig)]);
+ 		/*
+ 		 * Even though the device advertised support for this type of
+ 		 * request, that does not mean every target supports it, and
+ 		 * reconfiguration might also have changed that since the
+ 		 * check was performed.
+ 		 */
+ 		num_bios = get_num_bios ? get_num_bios(ti) : 0;
+ 		if (!num_bios)
+ 			return -EOPNOTSUPP;
  
- 	if (md->seq_rq_merge_deadline_usecs) {
- 		md->last_rq_pos = rq_end_sector(orig);
- 		md->last_rq_rw = rq_data_dir(orig);
- 		md->last_rq_start_time = ktime_get();
- 	}
+ 		if (is_split_required && !is_split_required(ti))
+ 			len = min((sector_t)ci->sector_count, max_io_len_target_boundary(ci->sector, ti));
+ 		else
+ 			len = min((sector_t)ci->sector_count, max_io_len(ci->sector, ti));
  
- 	if (unlikely(dm_stats_used(&md->stats))) {
- 		struct dm_rq_target_io *tio = tio_from_request(orig);
- 		tio->duration_jiffies = jiffies;
- 		tio->n_sectors = blk_rq_sectors(orig);
- 		dm_stats_account_io(&md->stats, rq_data_dir(orig),
- 				    blk_rq_pos(orig), tio->n_sectors, false, 0,
- 				    &tio->stats_aux);
- 	}
+ 		__send_duplicate_bios(ci, ti, num_bios, &len);
  
- 	/*
- 	 * Hold the md reference here for the in-flight I/O.
- 	 * We can't rely on the reference count by device opener,
- 	 * because the device may be closed during the request completion
- 	 * when all bios are completed.
- 	 * See the comment in rq_completed() too.
- 	 */
- 	dm_get(md);
+ 		ci->sector += len;
+ 	} while (ci->sector_count -= len);
+ 
+ 	return 0;
  }
  
- #define MAX_SEQ_RQ_MERGE_DEADLINE_USECS 100000
+ static int __send_discard(struct clone_info *ci)
+ {
+ 	return __send_changing_extent_only(ci, get_num_discard_bios,
+ 					   is_split_required_for_discard);
+ }
  
- ssize_t dm_attr_rq_based_seq_io_merge_deadline_show(struct mapped_device *md, char *buf)
+ static int __send_write_same(struct clone_info *ci)
  {
- 	return sprintf(buf, "%u\n", md->seq_rq_merge_deadline_usecs);
+ 	return __send_changing_extent_only(ci, get_num_write_same_bios, NULL);
  }
  
- ssize_t dm_attr_rq_based_seq_io_merge_deadline_store(struct mapped_device *md,
- 						     const char *buf, size_t count)
+ /*
+  * Select the correct strategy for processing a non-flush bio.
+  */
+ static int __split_and_process_non_flush(struct clone_info *ci)
  {
- 	unsigned deadline;
+ 	struct bio *bio = ci->bio;
+ 	struct dm_target *ti;
+ 	unsigned len;
+ 	int r;
  
- 	if (!dm_request_based(md) || md->use_blk_mq)
- 		return count;
+ 	if (unlikely(bio_op(bio) == REQ_OP_DISCARD))
+ 		return __send_discard(ci);
+ 	else if (unlikely(bio_op(bio) == REQ_OP_WRITE_SAME))
+ 		return __send_write_same(ci);
  
- 	if (kstrtouint(buf, 10, &deadline))
- 		return -EINVAL;
+ 	ti = dm_table_find_target(ci->map, ci->sector);
+ 	if (!dm_target_is_valid(ti))
+ 		return -EIO;
+ 
+ 	len = min_t(sector_t, max_io_len(ci->sector, ti), ci->sector_count);
  
- 	if (deadline > MAX_SEQ_RQ_MERGE_DEADLINE_USECS)
- 		deadline = MAX_SEQ_RQ_MERGE_DEADLINE_USECS;
+ 	r = __clone_and_map_data_bio(ci, ti, ci->sector, &len);
+ 	if (r < 0)
+ 		return r;
  
- 	md->seq_rq_merge_deadline_usecs = deadline;
+ 	ci->sector += len;
+ 	ci->sector_count -= len;
  
- 	return count;
+ 	return 0;
  }
  
- static bool dm_request_peeked_before_merge_deadline(struct mapped_device *md)
+ /*
+  * Entry point to split a bio into clones and submit them to the targets.
+  */
+ static void __split_and_process_bio(struct mapped_device *md,
+ 				    struct dm_table *map, struct bio *bio)
  {
- 	ktime_t kt_deadline;
+ 	struct clone_info ci;
+ 	int error = 0;
+ 
+ 	if (unlikely(!map)) {
+ 		bio_io_error(bio);
+ 		return;
+ 	}
+ 
+ 	ci.map = map;
+ 	ci.md = md;
+ 	ci.io = alloc_io(md);
+ 	ci.io->error = 0;
+ 	atomic_set(&ci.io->io_count, 1);
+ 	ci.io->bio = bio;
+ 	ci.io->md = md;
+ 	spin_lock_init(&ci.io->endio_lock);
+ 	ci.sector = bio->bi_iter.bi_sector;
  
- 	if (!md->seq_rq_merge_deadline_usecs)
- 		return false;
+ 	start_io_acct(ci.io);
  
- 	kt_deadline = ns_to_ktime((u64)md->seq_rq_merge_deadline_usecs * NSEC_PER_USEC);
- 	kt_deadline = ktime_add_safe(md->last_rq_start_time, kt_deadline);
+ 	if (bio->bi_rw & REQ_PREFLUSH) {
+ 		ci.bio = &ci.md->flush_bio;
+ 		ci.sector_count = 0;
+ 		error = __send_empty_flush(&ci);
+ 		/* dec_pending submits any data associated with flush */
+ 	} else {
+ 		ci.bio = bio;
+ 		ci.sector_count = bio_sectors(bio);
+ 		while (ci.sector_count && !error)
+ 			error = __split_and_process_non_flush(&ci);
+ 	}
  
- 	return !ktime_after(ktime_get(), kt_deadline);
+ 	/* drop the extra reference count */
+ 	dec_pending(ci.io, error);
  }
+ /*-----------------------------------------------------------------
+  * CRUD END
+  *---------------------------------------------------------------*/
  
  /*
-  * q->request_fn for request-based dm.
-  * Called with the queue lock held.
+  * The request function that just remaps the bio built up by
+  * dm_merge_bvec.
   */
- static void dm_request_fn(struct request_queue *q)
+ static blk_qc_t dm_make_request(struct request_queue *q, struct bio *bio)
  {
+ 	int rw = bio_data_dir(bio);
  	struct mapped_device *md = q->queuedata;
- 	struct dm_target *ti = md->immutable_target;
- 	struct request *rq;
- 	struct dm_rq_target_io *tio;
- 	sector_t pos = 0;
- 
- 	if (unlikely(!ti)) {
- 		int srcu_idx;
- 		struct dm_table *map = dm_get_live_table(md, &srcu_idx);
- 
- 		ti = dm_table_find_target(map, pos);
- 		dm_put_live_table(md, srcu_idx);
- 	}
- 
- 	/*
- 	 * For suspend, check blk_queue_stopped() and increment
- 	 * ->pending within a single queue_lock not to increment the
- 	 * number of in-flight I/Os after the queue is stopped in
- 	 * dm_suspend().
- 	 */
- 	while (!blk_queue_stopped(q)) {
- 		rq = blk_peek_request(q);
- 		if (!rq)
- 			return;
+ 	int srcu_idx;
+ 	struct dm_table *map;
  
- 		/* always use block 0 to find the target for flushes for now */
- 		pos = 0;
- 		if (req_op(rq) != REQ_OP_FLUSH)
- 			pos = blk_rq_pos(rq);
+ 	map = dm_get_live_table(md, &srcu_idx);
  
- 		if ((dm_request_peeked_before_merge_deadline(md) &&
- 		     md_in_flight(md) && rq->bio && rq->bio->bi_vcnt == 1 &&
- 		     md->last_rq_pos == pos && md->last_rq_rw == rq_data_dir(rq)) ||
- 		    (ti->type->busy && ti->type->busy(ti))) {
- 			blk_delay_queue(q, HZ / 100);
- 			return;
- 		}
+ 	generic_start_io_acct(rw, bio_sectors(bio), &dm_disk(md)->part0);
  
- 		dm_start_request(md, rq);
+ 	/* if we're suspended, we have to queue this io for later */
+ 	if (unlikely(test_bit(DMF_BLOCK_IO_FOR_SUSPEND, &md->flags))) {
+ 		dm_put_live_table(md, srcu_idx);
  
- 		tio = tio_from_request(rq);
- 		/* Establish tio->ti before queuing work (map_tio_request) */
- 		tio->ti = ti;
- 		queue_kthread_work(&md->kworker, &tio->work);
- 		BUG_ON(!irqs_disabled());
 -		if (bio_rw(bio) != READA)
++		if (!(bio->bi_rw & REQ_RAHEAD))
+ 			queue_io(md, bio);
+ 		else
+ 			bio_io_error(bio);
+ 		return BLK_QC_T_NONE;
  	}
+ 
+ 	__split_and_process_bio(md, map, bio);
+ 	dm_put_live_table(md, srcu_idx);
+ 	return BLK_QC_T_NONE;
  }
  
  static int dm_any_congested(void *congested_data, int bdi_bits)

^ permalink raw reply

* linux-next: manual merge of the kvm tree with the powerpc tree
From: Stephen Rothwell @ 2016-07-21  4:37 UTC (permalink / raw)
  To: Marcelo Tosatti, Gleb Natapov, kvm, Michael Ellerman,
	Benjamin Herrenschmidt, linuxppc-dev
  Cc: linux-next, linux-kernel, Mahesh Salgaonkar, Kevin Hao

Hi all,

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

  arch/powerpc/kernel/Makefile

between commit:

  27d114966735 ("powerpc/32: Remove RELOCATABLE_PPC32")

from the powerpc tree and commit:

  fd7bacbca47a ("KVM: PPC: Book3S HV: Fix TB corruption in guest exit path on HMI interrupt")

from the kvm 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/powerpc/kernel/Makefile
index 62df36c3f138,6972a23433d3..000000000000
--- a/arch/powerpc/kernel/Makefile
+++ b/arch/powerpc/kernel/Makefile
@@@ -46,7 -41,8 +46,7 @@@ obj-$(CONFIG_VDSO32)		+= vdso32
  obj-$(CONFIG_HAVE_HW_BREAKPOINT)	+= hw_breakpoint.o
  obj-$(CONFIG_PPC_BOOK3S_64)	+= cpu_setup_ppc970.o cpu_setup_pa6t.o
  obj-$(CONFIG_PPC_BOOK3S_64)	+= cpu_setup_power.o
- obj-$(CONFIG_PPC_BOOK3S_64)	+= mce.o mce_power.o
+ obj-$(CONFIG_PPC_BOOK3S_64)	+= mce.o mce_power.o hmi.o
 -obj64-$(CONFIG_RELOCATABLE)	+= reloc_64.o
  obj-$(CONFIG_PPC_BOOK3E_64)	+= exceptions-64e.o idle_book3e.o
  obj-$(CONFIG_PPC64)		+= vdso64/
  obj-$(CONFIG_ALTIVEC)		+= vecemu.o

^ permalink raw reply

* linux-next: build warnings after merge of the libata tree
From: Stephen Rothwell @ 2016-07-21  5:26 UTC (permalink / raw)
  To: Tejun Heo; +Cc: linux-next, linux-kernel, Tom Yan

Hi Tejun,

After merging the libata tree, today's linux-next build (arm
multi_v7_defconfig) produced these warning:

drivers/ata/libata-scsi.c: In function 'ata_mselect_caching':
drivers/ata/libata-scsi.c:3637:28: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
    if (mpage[i + 2] & 0xfb != buf[i] & 0xfb) {
                            ^
drivers/ata/libata-scsi.c: In function 'ata_mselect_control':
drivers/ata/libata-scsi.c:3702:28: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
    if (mpage[i + 2] & 0xfb != buf[i] & 0xfb) {
                            ^

Introduced by commit

  9b7844a8c34a ("libata-scsi: fix read-only bits checking in ata_mselect_*()")

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply

* linux-next: build failure after merge of the nvdimm tree
From: Stephen Rothwell @ 2016-07-21  6:13 UTC (permalink / raw)
  To: Dan Williams; +Cc: linux-next, linux-kernel

Hi Dan,

After merging the nvdimm tree, today's linux-next build (powerpc
ppc64_defconfig) failed like this:

arch/powerpc/sysdev/axonram.c: In function 'axon_ram_direct_access':
arch/powerpc/sysdev/axonram.c:151:9: error: assignment makes pointer from integer without a cast [-Werror=int-conversion]
  *kaddr = bank->io_addr + offset;
         ^

Caused by commit

  6e9c9dda79d9 ("pmem: kill __pmem address space")

I have used the nvdimm tree from next-20160720 for today.

-- 
Cheers,
Stephen Rothwell

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox