[PATCH v2] powerpc/eeh: Fix race with driver un/bind

2018-03-25 Thread Michael Neuling
The current EEH callbacks can race with a driver unbind. This can result in a backtraces like this: [7.573055] EEH: Frozen PHB#0-PE#1fc detected [7.573063] EEH: PE location: S09, PHB location: N/A [7.573069] CPU: 2 PID: 2312 Comm: kworker/u258:3 Not tainted 4.15.6-openpower1 #2 [

Re: [PATCH 3/6] libnvdimm: Add device-tree based driver

2018-03-25 Thread Balbir Singh
On Fri, 23 Mar 2018 19:12:06 +1100 Oliver O'Halloran wrote: > This patch adds peliminary device-tree bindings for the NVDIMM driver. > Currently this only supports one bus (created at probe time) which all > regions are added to with individual regions being created by a

Re: [RFC] new SYSCALL_DEFINE/COMPAT_SYSCALL_DEFINE wrappers

2018-03-25 Thread Al Viro
On Mon, Mar 26, 2018 at 01:40:17AM +0100, Al Viro wrote: > Kinda-sorta part: > * asmlinkage_protect is taken out for now, so m68k has problems. > * syscalls that run out of 6 slots barf violently. For mips it's > wrong (there we have 8 slots); for stuff like arm and ppc it's right,

Re: [PATCH] powerpc/eeh: Fix race with driver un/bind

2018-03-25 Thread Michael Neuling
On Fri, 2018-03-23 at 17:33 +1100, Benjamin Herrenschmidt wrote: > On Fri, 2018-03-23 at 16:44 +1100, Michael Neuling wrote: > > .../... > > > This fixes the problem in the same way the generic PCIe AER code (in > > drivers/pci/pcie/aer/aerdrv_core.c) does. It makes the EEH code hold > > the

Re: [PATCH v2 02/16] riscv: Use INITRAMFS_GENERIC_UNLOAD.

2018-03-25 Thread Palmer Dabbelt
On Sun, 25 Mar 2018 15:18:39 PDT (-0700), s...@shealevy.com wrote: Signed-off-by: Shea Levy --- arch/riscv/Kconfig | 1 + arch/riscv/mm/init.c | 6 -- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index

Re: [PATCH net-next] ibmvnic: Potential NULL dereference in clean_one_tx_pool()

2018-03-25 Thread David Miller
From: Dan Carpenter Date: Fri, 23 Mar 2018 14:36:15 +0300 > There is an && vs || typo here, which potentially leads to a NULL > dereference. > > Fixes: e9e1e97884b7 ("ibmvnic: Update TX pool cleaning routine") > Signed-off-by: Dan Carpenter

Re: [PATCH 3/6] libnvdimm: Add device-tree based driver

2018-03-25 Thread Oliver
On Sat, Mar 24, 2018 at 4:07 AM, Dan Williams wrote: > On Fri, Mar 23, 2018 at 1:12 AM, Oliver O'Halloran wrote: >> This patch adds peliminary device-tree bindings for the NVDIMM driver. > > *preliminary > >> Currently this only supports one bus

Re: [PATCH v2 02/16] riscv: Use INITRAMFS_GENERIC_UNLOAD.

2018-03-25 Thread Shea Levy
Hi Palmer, Palmer Dabbelt writes: > On Sun, 25 Mar 2018 15:18:39 PDT (-0700), s...@shealevy.com wrote: >> Signed-off-by: Shea Levy >> --- >> arch/riscv/Kconfig | 1 + >> arch/riscv/mm/init.c | 6 -- >> 2 files changed, 1 insertion(+), 6 deletions(-)

[RFC] new SYSCALL_DEFINE/COMPAT_SYSCALL_DEFINE wrappers

2018-03-25 Thread Al Viro
On Thu, Mar 22, 2018 at 12:15:32AM +, Al Viro wrote: > FWIW, I have something that is almost reasonable on preprocessor side; > however, that has uncovered the following fun: [snip] According to gcc folks, the right way to do it is type-punning via union. Anyway, below is something that

Re: [PATCH] powerpc/eeh: Fix race with driver un/bind

2018-03-25 Thread Russell Currey
On Fri, 2018-03-23 at 17:33 +1100, Benjamin Herrenschmidt wrote: > On Fri, 2018-03-23 at 16:44 +1100, Michael Neuling wrote: > > .../... > > > This fixes the problem in the same way the generic PCIe AER code > > (in > > drivers/pci/pcie/aer/aerdrv_core.c) does. It makes the EEH code > > hold >

Re: DMA Mapping Error in ppc64

2018-03-25 Thread Oliver
On Fri, Mar 23, 2018 at 11:41 PM, Jared Bents wrote: > Thank you for the advice. Looks like I get to try to rewrite the ath9k and > ath10k drivers to use dma_alloc_coherent() instead of kmemdup() and > dev_alloc_skb() I don't think you need to go that far. It

Re: [PATCH 2/6] libnvdimm: Add nd_region_destroy()

2018-03-25 Thread Balbir Singh
On Fri, 23 Mar 2018 19:12:05 +1100 Oliver O'Halloran wrote: > Currently there's no way to remove a region from and nvdimm_bus without > tearing down the whole bus. This patch adds an API for removing a single > region from the bus so that we can implement a sensible unbind

Re: [PATCH 1/6] libnvdimm: Add of_node to region and bus descriptors

2018-03-25 Thread Balbir Singh
On Fri, 23 Mar 2018 19:12:04 +1100 Oliver O'Halloran wrote: > We want to be able to cross reference the region and bus devices > with the device tree node that they were spawned from. libNVDIMM > handles creating the actual devices for these internally, so we > need to pass in

Re: [PATCH 01/16] initrd: Add generic code path for common initrd unloading logic.

2018-03-25 Thread Shea Levy
Hi Christophe, LEROY Christophe writes: > Shea Levy a écrit : > >> Signed-off-by: Shea Levy >> --- >> init/initramfs.c | 7 +++ >> usr/Kconfig | 4 >> 2 files changed, 11 insertions(+) >> >> diff --git

[PATCH v2 16/16] um: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/um/Kconfig.common | 1 + arch/um/kernel/mem.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/um/Kconfig.common b/arch/um/Kconfig.common index c68add8df3ae..1cb8a023938b 100644 --- a/arch/um/Kconfig.common +++

[PATCH v2 15/16] sh: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/sh/Kconfig | 1 + arch/sh/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 97fe29316476..b6f80dad2152 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -50,6

[PATCH v2 14/16] powerpc: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/powerpc/Kconfig | 1 + arch/powerpc/mm/mem.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 73ce5dd07642..8cf384068e79 100644 --- a/arch/powerpc/Kconfig +++

[PATCH v2 13/16] parisc: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/parisc/Kconfig | 1 + arch/parisc/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index 9792d8cf4f56..7410c2094987 100644 --- a/arch/parisc/Kconfig +++

[PATCH v2 12/16] openrisc: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/openrisc/Kconfig | 1 + arch/openrisc/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig index dfb6a79ba7ff..0f8d2132baa5 100644 --- a/arch/openrisc/Kconfig +++

[PATCH v2 11/16] nios2: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/nios2/Kconfig | 1 + arch/nios2/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig index 3d4ec88f1db1..d3b72d5c8967 100644 --- a/arch/nios2/Kconfig +++

[PATCH v2 10/16] microblaze: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/microblaze/Kconfig | 1 + arch/microblaze/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index 3817a3e2146c..ef23e8410b4b 100644 ---

[PATCH v2 09/16] m68k: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/m68k/Kconfig | 1 + arch/m68k/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 785612b576f7..47913a68529e 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig

[PATCH v2 08/16] m32r: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/m32r/Kconfig | 1 + arch/m32r/mm/init.c | 11 --- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig index dd84ee194579..010a2b999181 100644 --- a/arch/m32r/Kconfig +++

[PATCH v2 07/16] h8300: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/h8300/Kconfig | 1 + arch/h8300/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/h8300/Kconfig b/arch/h8300/Kconfig index 091d6d04b5e5..58c9b6b1df16 100644 --- a/arch/h8300/Kconfig +++

[PATCH v2 06/16] frv: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/frv/Kconfig | 1 + arch/frv/mm/init.c | 11 --- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig index af369b05fed5..5c104b800cb1 100644 --- a/arch/frv/Kconfig +++ b/arch/frv/Kconfig

[PATCH v2 05/16] c6x: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/c6x/Kconfig | 1 + arch/c6x/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig index c6b4dd1418b4..857f95f9a6a4 100644 --- a/arch/c6x/Kconfig +++ b/arch/c6x/Kconfig @@

[PATCH v2 04/16] arc: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/arc/Kconfig | 1 + arch/arc/mm/init.c | 7 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig index d76bf4a83740..2844ce5b910c 100644 --- a/arch/arc/Kconfig +++ b/arch/arc/Kconfig @@

[PATCH v2 03/16] alpha: Use INITRAMFS_GENERIC_UNLOAD

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/alpha/Kconfig | 1 + arch/alpha/mm/init.c | 8 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index e96adcbcab41..238d743ae8f2 100644 --- a/arch/alpha/Kconfig +++

[PATCH v2 02/16] riscv: Use INITRAMFS_GENERIC_UNLOAD.

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- arch/riscv/Kconfig | 1 + arch/riscv/mm/init.c | 6 -- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index c22ebe08e902..ab1b4cee84fc 100644 --- a/arch/riscv/Kconfig +++

[PATCH v2 01/16] initrd: Add generic code path for common initrd unloading logic.

2018-03-25 Thread Shea Levy
Signed-off-by: Shea Levy --- init/initramfs.c | 7 +++ usr/Kconfig | 4 2 files changed, 11 insertions(+) diff --git a/init/initramfs.c b/init/initramfs.c index 7e99a0038942..5f2e3dba4822 100644 --- a/init/initramfs.c +++ b/init/initramfs.c @@ -526,6 +526,13 @@

[PATCH v2 00/16] Generic infrastructure for unloading initramfs

2018-03-25 Thread Shea Levy
This patch series extracts out code for unloading the initramfs that was identical across 14 architectures, and moves those architectures to the common code path. Additionally, RISC-V is newly moved to the common code path. In addition to reducing duplication, this allows us to bring future

Re: [mm] b1f0502d04: INFO:trying_to_register_non-static_key

2018-03-25 Thread David Rientjes
On Wed, 21 Mar 2018, Laurent Dufour wrote: > I found the root cause of this lockdep warning. > > In mmap_region(), unmap_region() may be called while vma_link() has not been > called. This happens during the error path if call_mmap() failed. > > The only to fix that particular case is to call >

Re: [PATCH v9 05/24] mm: Introduce pte_spinlock for FAULT_FLAG_SPECULATIVE

2018-03-25 Thread David Rientjes
On Tue, 13 Mar 2018, Laurent Dufour wrote: > When handling page fault without holding the mmap_sem the fetch of the > pte lock pointer and the locking will have to be done while ensuring > that the VMA is not touched in our back. > > So move the fetch and locking operations in a dedicated

Re: [PATCH v9 04/24] mm: Prepare for FAULT_FLAG_SPECULATIVE

2018-03-25 Thread David Rientjes
On Tue, 13 Mar 2018, Laurent Dufour wrote: > From: Peter Zijlstra > > When speculating faults (without holding mmap_sem) we need to validate > that the vma against which we loaded pages is still valid when we're > ready to install the new PTE. > > Therefore, replace the

Re: [PATCH v9 01/24] mm: Introduce CONFIG_SPECULATIVE_PAGE_FAULT

2018-03-25 Thread David Rientjes
On Tue, 13 Mar 2018, Laurent Dufour wrote: > This configuration variable will be used to build the code needed to > handle speculative page fault. > > By default it is turned off, and activated depending on architecture > support. > > Suggested-by: Thomas Gleixner >

Re: PCI set flag PCI_SCAN_ALL_PCIE_DEVS for P.A. Semi boards

2018-03-25 Thread Darren Stevens
Hello Michael On 20/03/2018, Michael Ellerman wrote: >> The patch looks fine, but I need a signed-off-by line before I can apply >> it. See >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst > > I'm happy to take it, I've been

Re: powerpc/64s: Fix i-side SLB miss bad address handler saving nonvolatile GPRs

2018-03-25 Thread Michael Ellerman
On Fri, 2018-03-23 at 05:53:38 UTC, Nicholas Piggin wrote: > The SLB bad address handler's trap number fixup does not preserve the > low bit that indicates nonvolatile GPRs have not been saved. This > leads save_nvgprs to skip saving them, and subsequent functions and > return from interrupt will

Re: [PATCH 2/2] smp: introduce kick_active_cpus_sync()

2018-03-25 Thread Yury Norov
On Sun, Mar 25, 2018 at 12:23:28PM -0700, Paul E. McKenney wrote: > On Sun, Mar 25, 2018 at 08:50:04PM +0300, Yury Norov wrote: > > kick_all_cpus_sync() forces all CPUs to sync caches by sending broadcast > > IPI. > > If CPU is in extended quiescent state (idle task or nohz_full userspace), > >

Re: [PATCH 2/2] smp: introduce kick_active_cpus_sync()

2018-03-25 Thread Paul E. McKenney
On Sun, Mar 25, 2018 at 08:50:04PM +0300, Yury Norov wrote: > kick_all_cpus_sync() forces all CPUs to sync caches by sending broadcast IPI. > If CPU is in extended quiescent state (idle task or nohz_full userspace), this > work may be done at the exit of this state. Delaying synchronization helps

Re: [PATCH 1/2] rcu: declare rcu_eqs_special_set() in public header

2018-03-25 Thread Yury Norov
On Sun, Mar 25, 2018 at 12:12:43PM -0700, Paul E. McKenney wrote: > On Sun, Mar 25, 2018 at 08:50:03PM +0300, Yury Norov wrote: > > rcu_eqs_special_set() is declared only in internal header > > kernel/rcu/tree.h and stubbed in include/linux/rcutiny.h. > > > > This patch declares

Re: [PATCH 1/2] rcu: declare rcu_eqs_special_set() in public header

2018-03-25 Thread Paul E. McKenney
On Sun, Mar 25, 2018 at 08:50:03PM +0300, Yury Norov wrote: > rcu_eqs_special_set() is declared only in internal header > kernel/rcu/tree.h and stubbed in include/linux/rcutiny.h. > > This patch declares rcu_eqs_special_set() in include/linux/rcutree.h, so > it can be used in non-rcu kernel code.

[PATCH 2/2] smp: introduce kick_active_cpus_sync()

2018-03-25 Thread Yury Norov
kick_all_cpus_sync() forces all CPUs to sync caches by sending broadcast IPI. If CPU is in extended quiescent state (idle task or nohz_full userspace), this work may be done at the exit of this state. Delaying synchronization helps to save power if CPU is in idle state and decrease latency for

[PATCH 1/2] rcu: declare rcu_eqs_special_set() in public header

2018-03-25 Thread Yury Norov
rcu_eqs_special_set() is declared only in internal header kernel/rcu/tree.h and stubbed in include/linux/rcutiny.h. This patch declares rcu_eqs_special_set() in include/linux/rcutree.h, so it can be used in non-rcu kernel code. Signed-off-by: Yury Norov ---

[PATCH 0/2] smp: don't kick CPUs running idle or nohz_full tasks

2018-03-25 Thread Yury Norov
kick_all_cpus_sync() is used to broadcast IPIs to all online CPUs to force them sync caches, TLB etc. It is is called only 3 times - from mm/slab, arm64 and powerpc code. With framework introduced in patch b8c17e6664c46 ("rcu: Maintain special bits at bottom of ->dynticks counter") we can delay

Re: [PATCH 01/16] initrd: Add generic code path for common initrd unloading logic.

2018-03-25 Thread LEROY Christophe
Shea Levy a écrit : Signed-off-by: Shea Levy --- init/initramfs.c | 7 +++ usr/Kconfig | 4 2 files changed, 11 insertions(+) diff --git a/init/initramfs.c b/init/initramfs.c index 7e99a0038942..de5ce873eb5a 100644 --- a/init/initramfs.c

[PATCH v2] xmon: Use __printf markup to silence compiler

2018-03-25 Thread Mathieu Malaterre
Update the other prototype declarations in asm/xmon.h. Silence warnings (triggered at W=1) by adding relevant __printf attribute. Move #define at bottom of the file to prevent conflict with gcc attribute. Solve the original warning: arch/powerpc/xmon/nonstdio.c:178:2: error: function might be