Re: Runtime warnings in powerpc code
On Thu, 2018-12-27 at 11:05 -0800, Guenter Roeck wrote: > --- > CONFIG_DEBUG_ATOMIC_SLEEP > > [ cut here ] > do not call blocking ops when !TASK_RUNNING; state=2 set at [<(ptrval)>] > prepare_to_wait+0x54/0xe4 > WARNING: CPU: 0 PID: 1 at kernel/sched/core.c:6099 __might_sleep+0x94/0x9c > Modules linked in: > CPU: 0 PID: 1 Comm: init Not tainted 4.20.0-yocto-standard+ #1 > NIP: c00667a0 LR: c00667a0 CTR: > REGS: cf8df8c0 TRAP: 0700 Not tainted (4.20.0-yocto-standard+) > MSR: 00029032 CR: 2822 XER: 2000 > > GPR00: c00667a0 cf8df970 cf8e 0062 c0af15c8 0007 fa1ae97e > 757148e2 > GPR08: cf8de000 1f386000 > cfd83c8c > GPR16: 0004 0004 0004 060c 000a cf8dfdb8 > cf267804 > GPR24: cf8dfd78 cf8dfd68 cfa88a20 cec70830 0001 01d3 > c0b444cc > NIP [c00667a0] __might_sleep+0x94/0x9c > LR [c00667a0] __might_sleep+0x94/0x9c > Call Trace: > [cf8df970] [c00667a0] __might_sleep+0x94/0x9c (unreliable) > [cf8df990] [c05beddc] do_ide_request+0x48/0x6bc > [cf8dfa10] [c0492bcc] __blk_run_queue+0x80/0x10c > [cf8dfa20] [c049a938] blk_flush_plug_list+0x23c/0x258 > [cf8dfa60] [c006b888] io_schedule_prepare+0x44/0x5c > [cf8dfa70] [c006b8c0] io_schedule+0x20/0x48 > [cf8dfa80] [c095e1ac] bit_wait_io+0x24/0x74 > [cf8dfa90] [c095dd94] __wait_on_bit+0xac/0x104 > [cf8dfab0] [c095de74] out_of_line_wait_on_bit+0x88/0x98 > [cf8dfae0] [c0229094] bh_submit_read+0xf8/0x104 > [cf8dfaf0] [c028b9a8] ext4_get_branch+0xdc/0x168 > [cf8dfb20] [c028c7fc] ext4_ind_map_blocks+0x2b0/0xc08 > [cf8dfc30] [c029551c] ext4_map_blocks+0x2e0/0x65c > [cf8dfc80] [c02b8c84] ext4_mpage_readpages+0x5e8/0x97c > [cf8dfd60] [c016c3cc] read_pages+0x60/0x1a0 > [cf8dfdb0] [c016c6e8] __do_page_cache_readahead+0x1dc/0x208 > [cf8dfe10] [c0159768] filemap_fault+0x418/0x834 > [cf8dfe50] [c02a00fc] ext4_filemap_fault+0x40/0x64 > [cf8dfe60] [c0198d0c] __do_fault+0x34/0xb8 > [cf8dfe70] [c019e264] handle_mm_fault+0xc44/0xf88 > [cf8dfef0] [c001a218] __do_page_fault+0x158/0x7b4 > [cf8dff40] [c00143b4] handle_page_fault+0x14/0x40 > --- interrupt: 301 at 0xb7904a70 > LR = 0xb78ef0c8 > Instruction dump: > 7fe3fb78 bba10014 7c0803a6 38210020 4bfffd20 808a 3c60c0b0 3941 > 7cc53378 3863a558 99490001 4bfd03bd <0fe0> 4bc0 7c0802a6 90010004 > irq event stamp: 126702 > hardirqs last enabled at (126701): [] console_unlock+0x434/0x5d0 > hardirqs last disabled at (126702): [] reenable_mmu+0x30/0x88 > softirqs last enabled at (126552): [] __do_softirq+0x42c/0x4a0 > softirqs last disabled at (126529): [] irq_exit+0x104/0x108 > ---[ end trace 4f6c84b7815474d9 ]--- This doesn't look PPC-specific, but rather IDE-specific. Here's a similar one on x86: https://lkml.org/lkml/2016/12/12/596 > --- > #if defined(CONFIG_PROVE_LOCKING) && defined(CONFIG_DEBUG_LOCKDEP) && \ > defined(CONFIG_TRACE_IRQFLAGS) > > [ cut here ] > DEBUG_LOCKS_WARN_ON(!current->hardirqs_enabled) > WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:3762 http://patchwork.ozlabs.org/patch/1016541/ should fix this. It should also only be showing up on 32-bit, not all platforms. -Scott
[PATCH] fsl/fman: Use GFP_ATOMIC in {memac,tgec}_add_hash_mac_address()
These functions are called from atomic context: [9.150239] BUG: sleeping function called from invalid context at /home/scott/git/linux/mm/slab.h:421 [9.158159] in_atomic(): 1, irqs_disabled(): 0, pid: 4432, name: ip [9.163128] CPU: 8 PID: 4432 Comm: ip Not tainted 4.20.0-rc2-00169-g63d86876f324 #29 [9.163130] Call Trace: [9.170701] [c002e899a980] [c09c1068] .dump_stack+0xa8/0xec (unreliable) [9.177140] [c002e899aa10] [c007a7b4] .___might_sleep+0x138/0x164 [9.184440] [c002e899aa80] [c01d5bac] .kmem_cache_alloc_trace+0x238/0x30c [9.191216] [c002e899ab40] [c065ea1c] .memac_add_hash_mac_address+0x104/0x198 [9.199464] [c002e899abd0] [c065a788] .set_multi+0x1c8/0x218 [9.206242] [c002e899ac80] [c06615ec] .dpaa_set_rx_mode+0xdc/0x17c [9.213544] [c002e899ad00] [c083d2b0] .__dev_set_rx_mode+0x80/0xd4 [9.219535] [c002e899ad90] [c083d334] .dev_set_rx_mode+0x30/0x54 [9.225271] [c002e899ae10] [c083d4a0] .__dev_open+0x148/0x1c8 [9.230751] [c002e899aeb0] [c083d934] .__dev_change_flags+0x19c/0x1e0 [9.230755] [c002e899af60] [c083d9a4] .dev_change_flags+0x2c/0x80 [9.242752] [c002e899aff0] [c08554ec] .do_setlink+0x350/0xf08 [9.248228] [c002e899b170] [c0857ad0] .rtnl_newlink+0x588/0x7e0 [9.253965] [c002e899b740] [c0852424] .rtnetlink_rcv_msg+0x3e0/0x498 [9.261440] [c002e899b820] [c0884790] .netlink_rcv_skb+0x134/0x14c [9.267607] [c002e899b8e0] [c0851840] .rtnetlink_rcv+0x18/0x2c [9.274558] [c002e899b950] [c0883c8c] .netlink_unicast+0x214/0x318 [9.281163] [c002e899ba00] [c0884220] .netlink_sendmsg+0x348/0x444 [9.287076] [c002e899bae0] [c080d13c] .sock_sendmsg+0x2c/0x54 [9.287080] [c002e899bb50] [c08106c0] .___sys_sendmsg+0x2d0/0x2d8 [9.298375] [c002e899bd30] [c0811a80] .__sys_sendmsg+0x5c/0xb0 [9.303939] [c002e899be20] [c6b0] system_call+0x60/0x6c Signed-off-by: Scott Wood --- drivers/net/ethernet/freescale/fman/fman_memac.c | 2 +- drivers/net/ethernet/freescale/fman/fman_tgec.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/freescale/fman/fman_memac.c b/drivers/net/ethernet/freescale/fman/fman_memac.c index bc6eb30aa20f..41c6fa200e74 100644 --- a/drivers/net/ethernet/freescale/fman/fman_memac.c +++ b/drivers/net/ethernet/freescale/fman/fman_memac.c @@ -928,7 +928,7 @@ int memac_add_hash_mac_address(struct fman_mac *memac, enet_addr_t *eth_addr) hash = get_mac_addr_hash_code(addr) & HASH_CTRL_ADDR_MASK; /* Create element to be added to the driver hash table */ - hash_entry = kmalloc(sizeof(*hash_entry), GFP_KERNEL); + hash_entry = kmalloc(sizeof(*hash_entry), GFP_ATOMIC); if (!hash_entry) return -ENOMEM; hash_entry->addr = addr; diff --git a/drivers/net/ethernet/freescale/fman/fman_tgec.c b/drivers/net/ethernet/freescale/fman/fman_tgec.c index 40705938eecc..f75b9c11b2d2 100644 --- a/drivers/net/ethernet/freescale/fman/fman_tgec.c +++ b/drivers/net/ethernet/freescale/fman/fman_tgec.c @@ -553,7 +553,7 @@ int tgec_add_hash_mac_address(struct fman_mac *tgec, enet_addr_t *eth_addr) hash = (crc >> TGEC_HASH_MCAST_SHIFT) & TGEC_HASH_ADR_MSK; /* Create element to be added to the driver hash table */ - hash_entry = kmalloc(sizeof(*hash_entry), GFP_KERNEL); + hash_entry = kmalloc(sizeof(*hash_entry), GFP_ATOMIC); if (!hash_entry) return -ENOMEM; hash_entry->addr = addr; -- 2.17.1
Re: [PATCH] net/wan/fsl_ucc_hdlc: Avoid double free in ucc_hdlc_probe()
From: Peng Hao Date: Wed, 26 Dec 2018 16:28:30 +0800 > From: Wen Yang > > This patch fixes potential double frees if register_hdlc_device() fails. > > Signed-off-by: Wen Yang > Reviewed-by: Peng Hao Applied.
Re: Pull request: scottwood/linux.git next
On Thu, 2018-12-27 at 14:10 +0100, Christoph Hellwig wrote: > On Sun, Dec 23, 2018 at 08:09:19PM -0600, Scott Wood wrote: > > > > Christoph Hellwig (1): > > > > powerpc/fsl_pci: simplify fsl_pci_dma_set_mask > > > > > > This one breaks networking on my p5020ds. > > > > > > dmesg is just full of: > > > > > > e1000e 2000:01:00.0: Tx DMA map failed > > > > > > Haven't had time to dig any further. > > > > OK, I'll revert. My t4240rdb doesn't have PCI devices, so I wasn't able > > to > > test it. > > How did this patch end up in your tree? I don't think it has a chance > to work Without the rest of the series. It got dropped into my patchwork to-do and I didn't look closely enough at the context -- sorry about that. -Scott
Re: [GIT PULL] Please pull powerpc/linux.git powerpc-4.21-1 tag
The pull request you sent on Thu, 27 Dec 2018 22:58:06 +1100: > https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git > tags/powerpc-4.21-1 has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/8d6973327ee84c2f40dd9efd8928d4a1186c96e2 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
Re: [PATCH v2] PCI/MSI: Don't touch MSI bits when the PCI device is disconnected
On 11/8/18 2:09 PM, Bjorn Helgaas wrote: > > [EXTERNAL EMAIL] > Please report any suspicious attachments, links, or requests for sensitive > information. > > > [+cc Jonathan, Greg, Lukas, Russell, Sam, Oliver for discussion about > PCI error recovery in general] > > On Wed, Nov 07, 2018 at 05:42:57PM -0600, Bjorn Helgaas wrote: >> On Tue, Sep 18, 2018 at 05:15:00PM -0500, Alexandru Gagniuc wrote: >>> When a PCI device is gone, we don't want to send IO to it if we can >>> avoid it. We expose functionality via the irq_chip structure. As >>> users of that structure may not know about the underlying PCI device, >>> it's our responsibility to guard against removed devices. >>> >>> .irq_write_msi_msg() is already guarded inside __pci_write_msi_msg(). >>> .irq_mask/unmask() are not. Guard them for completeness. >>> >>> For example, surprise removal of a PCIe device triggers teardown. This >>> touches the irq_chips ops some point to disable the interrupts. I/O >>> generated here can crash the system on firmware-first machines. >>> Not triggering the IO in the first place greatly reduces the >>> possibility of the problem occurring. >>> >>> Signed-off-by: Alexandru Gagniuc >> >> Applied to pci/misc for v4.21, thanks! > > I'm having second thoughts about this. Do we have a verdict on this? If you don't like this approach, then I'll have to fix the problem in some other way, but the problem still needs to be fixed. Alex
Runtime warnings in powerpc code
Hi, I am getting the attached runtime warnings when enabling certain debug options in powerpc code. The warnings are seen with pretty much all platforms, and all active kernel releases. Question: Is it worthwhile to keep building / testing powerpc builds with the respective debug options enabled, and report it once in a while, or should I just disable the options ? Thanks, Guenter --- CONFIG_DEBUG_ATOMIC_SLEEP [ cut here ] do not call blocking ops when !TASK_RUNNING; state=2 set at [<(ptrval)>] prepare_to_wait+0x54/0xe4 WARNING: CPU: 0 PID: 1 at kernel/sched/core.c:6099 __might_sleep+0x94/0x9c Modules linked in: CPU: 0 PID: 1 Comm: init Not tainted 4.20.0-yocto-standard+ #1 NIP: c00667a0 LR: c00667a0 CTR: REGS: cf8df8c0 TRAP: 0700 Not tainted (4.20.0-yocto-standard+) MSR: 00029032 CR: 2822 XER: 2000 GPR00: c00667a0 cf8df970 cf8e 0062 c0af15c8 0007 fa1ae97e 757148e2 GPR08: cf8de000 1f386000 cfd83c8c GPR16: 0004 0004 0004 060c 000a cf8dfdb8 cf267804 GPR24: cf8dfd78 cf8dfd68 cfa88a20 cec70830 0001 01d3 c0b444cc NIP [c00667a0] __might_sleep+0x94/0x9c LR [c00667a0] __might_sleep+0x94/0x9c Call Trace: [cf8df970] [c00667a0] __might_sleep+0x94/0x9c (unreliable) [cf8df990] [c05beddc] do_ide_request+0x48/0x6bc [cf8dfa10] [c0492bcc] __blk_run_queue+0x80/0x10c [cf8dfa20] [c049a938] blk_flush_plug_list+0x23c/0x258 [cf8dfa60] [c006b888] io_schedule_prepare+0x44/0x5c [cf8dfa70] [c006b8c0] io_schedule+0x20/0x48 [cf8dfa80] [c095e1ac] bit_wait_io+0x24/0x74 [cf8dfa90] [c095dd94] __wait_on_bit+0xac/0x104 [cf8dfab0] [c095de74] out_of_line_wait_on_bit+0x88/0x98 [cf8dfae0] [c0229094] bh_submit_read+0xf8/0x104 [cf8dfaf0] [c028b9a8] ext4_get_branch+0xdc/0x168 [cf8dfb20] [c028c7fc] ext4_ind_map_blocks+0x2b0/0xc08 [cf8dfc30] [c029551c] ext4_map_blocks+0x2e0/0x65c [cf8dfc80] [c02b8c84] ext4_mpage_readpages+0x5e8/0x97c [cf8dfd60] [c016c3cc] read_pages+0x60/0x1a0 [cf8dfdb0] [c016c6e8] __do_page_cache_readahead+0x1dc/0x208 [cf8dfe10] [c0159768] filemap_fault+0x418/0x834 [cf8dfe50] [c02a00fc] ext4_filemap_fault+0x40/0x64 [cf8dfe60] [c0198d0c] __do_fault+0x34/0xb8 [cf8dfe70] [c019e264] handle_mm_fault+0xc44/0xf88 [cf8dfef0] [c001a218] __do_page_fault+0x158/0x7b4 [cf8dff40] [c00143b4] handle_page_fault+0x14/0x40 --- interrupt: 301 at 0xb7904a70 LR = 0xb78ef0c8 Instruction dump: 7fe3fb78 bba10014 7c0803a6 38210020 4bfffd20 808a 3c60c0b0 3941 7cc53378 3863a558 99490001 4bfd03bd <0fe0> 4bc0 7c0802a6 90010004 irq event stamp: 126702 hardirqs last enabled at (126701): [] console_unlock+0x434/0x5d0 hardirqs last disabled at (126702): [] reenable_mmu+0x30/0x88 softirqs last enabled at (126552): [] __do_softirq+0x42c/0x4a0 softirqs last disabled at (126529): [] irq_exit+0x104/0x108 ---[ end trace 4f6c84b7815474d9 ]--- --- #if defined(CONFIG_PROVE_LOCKING) && defined(CONFIG_DEBUG_LOCKDEP) && \ defined(CONFIG_TRACE_IRQFLAGS) [ cut here ] DEBUG_LOCKS_WARN_ON(!current->hardirqs_enabled) WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:3762 check_flags.part.25+0x1a0/0x1c4 Modules linked in: CPU: 0 PID: 1 Comm: init Tainted: GW 4.20.0-yocto-standard+ #1 NIP: c00839f0 LR: c00839f0 CTR: REGS: cf8dfe00 TRAP: 0700 Tainted: GW (4.20.0-yocto-standard+) MSR: 00021032 CR: 2828 XER: 2000 GPR00: c00839f0 cf8dfeb0 cf8e 002f 0001 c00938f4 c1425b76 002f GPR08: 1032 0001 0004 28282828 b7927688 GPR16: bfe20a5c bfe20a58 0fe5fff8 1b38 10002178 b7929c20 GPR24: c095d81c 7c9319ee b7929ae0 cf8e 9032 c0d2 NIP [c00839f0] check_flags.part.25+0x1a0/0x1c4 LR [c00839f0] check_flags.part.25+0x1a0/0x1c4 Call Trace: [cf8dfeb0] [c00839f0] check_flags.part.25+0x1a0/0x1c4 (unreliable) [cf8dfec0] [c0085f6c] lock_is_held_type+0x78/0xb4 [cf8dfee0] [c095d35c] __schedule+0x6cc/0xb44 [cf8dff30] [c095d81c] schedule+0x48/0xb8 [cf8dff40] [c0014694] recheck+0x0/0x20 --- interrupt: 501 at 0xb78f2850 LR = 0xb78f2a24 Instruction dump: 3c80c0b0 3c60c0af 3884d684 38635f94 4bfb3189 0fe0 4bfffec8 3c80c0b0 3c60c0af 3884d668 38635f94 4bfb316d <0fe0> 4bfffefc 3c80c0b0 3c60c0af irq event stamp: 127630 hardirqs last enabled at (127629): [] _raw_spin_unlock_irq+0x3c/0x94 hardirqs last disabled at (127630): [] reenable_mmu+0x30/0x88 softirqs last enabled at (127402): [] __do_softirq+0x42c/0x4a0 softirqs last disabled at (127393): [] irq_exit+0x104/0x108 ---[ end trace 4f6c84b7815474da ]--- possible reason: unannotated irqs-on. irq event stamp: 127630 hardirqs last enabled at (127629): [] _raw_spin_unlock_irq+0x3c/0x94 hardirqs last disabled at (127630): [] reenable_mmu+0x30/0x88 softirqs last enabled at (127402): [] __do_softirq+0x42c/0x4a0 softirqs last disabled at (127393): [] irq_exit+0x104/0x108 DEBUG_LOCKS_WARN_ON(
Re: Pull request: scottwood/linux.git next
On Sun, Dec 23, 2018 at 08:09:19PM -0600, Scott Wood wrote: > > > Christoph Hellwig (1): > > > powerpc/fsl_pci: simplify fsl_pci_dma_set_mask > > > > This one breaks networking on my p5020ds. > > > > dmesg is just full of: > > > > e1000e 2000:01:00.0: Tx DMA map failed > > > > Haven't had time to dig any further. > > OK, I'll revert. My t4240rdb doesn't have PCI devices, so I wasn't able to > test it. How did this patch end up in your tree? I don't think it has a chance to work Without the rest of the series.
[GIT PULL] Please pull powerpc/linux.git powerpc-4.21-1 tag
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi Linus, Please pull powerpc updates for 4.21: The following changes since commit ccda4af0f4b92f7b4c308d3acc262f4a7e3affad: Linux 4.20-rc2 (2018-11-11 17:12:31 -0600) are available in the git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git tags/powerpc-4.21-1 for you to fetch changes up to 12526b0d6c580df860b31e59d68e5696e16c6e5b: Merge branch 'next' of https://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into next (2018-12-24 14:14:45 +1100) There are two conflicts I'm aware of. The first is in arch/powerpc/mm/fault.c, the resolution is to add the 0xe00 case to the switch and use the pr_alert() version of the printk. The other is in arch/powerpc/kernel/iommu.c, where we deleted some code that was modified in the iommu tree to use a new accessor. cheers - -- powerpc updates for 4.21 Notable changes: - Mitigations for Spectre v2 on some Freescale (NXP) CPUs. - A large series adding support for pass-through of Nvidia V100 GPUs to guests on Power9. - Another large series to enable hardware assistance for TLB table walk on MPC8xx CPUs. - Some preparatory changes to our DMA code, to make way for further cleanups from Christoph. - Several fixes for our Transactional Memory handling discovered by fuzzing the signal return path. - Support for generating our system call table(s) from a text file like other architectures. - A fix to our page fault handler so that instead of generating a WARN_ON_ONCE, user accesses of kernel addresses instead print a ratelimited and appropriately scary warning. - A cosmetic change to make our unhandled page fault messages more similar to other arches and also more compact and informative. - Freescale updates from Scott: "Highlights include elimination of legacy clock bindings use from dts files, an 83xx watchdog handler, fixes to old dts interrupt errors, and some minor cleanup." And many clean-ups, reworks and minor fixes etc. Thanks to: Alexandre Belloni, Alexey Kardashevskiy, Andrew Donnellan, Aneesh Kumar K.V, Arnd Bergmann, Benjamin Herrenschmidt, Breno Leitao, Christian Lamparter, Christophe Leroy, Christoph Hellwig, Daniel Axtens, Darren Stevens, David Gibson, Diana Craciun, Dmitry V. Levin, Firoz Khan, Geert Uytterhoeven, Greg Kurz, Gustavo Romero, Hari Bathini, Joel Stanley, Kees Cook, Madhavan Srinivasan, Mahesh Salgaonkar, Markus Elfring, Mathieu Malaterre, Michal Suchánek, Naveen N. Rao, Nick Desaulniers, Oliver O'Halloran, Paul Mackerras, Ram Pai, Ravi Bangoria, Rob Herring, Russell Currey, Sabyasachi Gupta, Sam Bobroff, Satheesh Rajendran, Scott Wood, Segher Boessenkool, Stephen Rothwell, Tang Yuantian, Thiago Jung Bauermann, Yangtao Li, Yuantian Tang, Yue Haibing. - -- Alexandre Belloni (2): powerpc/fsl-rio: fix spelling mistake "reserverd" -> "reserved" powerpc/fsl-rio: fix spelling mistake "reserverd" -> "reserved" Alexey Kardashevskiy (26): powerpc/powernv/ioda: Allocate indirect TCE levels of cached userspace addresses on demand powerpc/powernv/npu: Remove unused headers and a macro. vfio/spapr_tce: Get rid of possible infinite loop powerpc/powernv/ioda1: Remove dead code for a single device PE powerpc/powernv/ioda: Reduce a number of hooks in pnv_phb powerpc/powernv/eeh/npu: Fix uninitialized variables in opal_pci_eeh_freeze_status powerpc/ioda/npu: Call skiboot's hot reset hook when disabling NPU2 powerpc/mm/iommu/vfio_spapr_tce: Change mm_iommu_get to reference a region powerpc/vfio/iommu/kvm: Do not pin device memory powerpc/powernv: Move npu struct from pnv_phb to pci_controller powerpc/powernv/npu: Move OPAL calls away from context manipulation powerpc/pseries/iommu: Use memory@ nodes in max RAM address calculation powerpc/pseries/npu: Enable platform support powerpc/pseries: Remove IOMMU API support for non-LPAR systems powerpc/powernv/pseries: Rework device adding to IOMMU groups powerpc/iommu_api: Move IOMMU groups setup to a single place powerpc/powernv: Reference iommu_table while it is linked to a group powerpc/powernv/npu: Move single TVE handling to NPU PE powerpc/powernv/npu: Convert NPU IOMMU helpers to iommu_table_group_ops powerpc/powernv/npu: Add compound IOMMU groups powerpc/powernv/npu: Add release_ownership hook powerpc/powernv/npu: Check mmio_atsd array bounds when populating powerpc/powernv/npu: Fault user page into the hypervisor's pagetable vfio_pci: Allow mapping extra regions vfio_pci: Allow regions to add own capabilities vfio_pci: Add NVIDIA GV100GL [Tesla V100 SXM2] subdriver Aneesh Kumar K.V (1): powerpc/mm/hash: Handle user access of kernel address gracef