From: Jason Gunthorpe <jgg@ziepe.ca>
To: Shivaprasad G Bhat <sbhat@linux.ibm.com>
Cc: iommu@lists.linux.dev, linuxppc-dev@lists.ozlabs.org,
linux-kernel@vger.kernel.org, mpe@ellerman.id.au,
npiggin@gmail.com, christophe.leroy@csgroup.eu,
aneesh.kumar@kernel.org, naveen.n.rao@linux.ibm.com,
jroedel@suse.de, tpearson@raptorengineering.com, aik@amd.com,
bgray@linux.ibm.com, gregkh@linuxfoundation.org,
gbatra@linux.vnet.ibm.com, vaibhav@linux.ibm.com,
venkat88@linux.vnet.ibm.com
Subject: Re: [PATCH] powerpc/iommu: Fix the missing iommu_group_put() during platform domain attach
Date: Tue, 13 Feb 2024 13:21:28 -0400 [thread overview]
Message-ID: <20240213172128.GM765010@ziepe.ca> (raw)
In-Reply-To: <170784021983.6249.10039296655906636112.stgit@linux.ibm.com>
On Tue, Feb 13, 2024 at 10:05:22AM -0600, Shivaprasad G Bhat wrote:
> The function spapr_tce_platform_iommu_attach_dev() is missing to call
> iommu_group_put() when the domain is already set. This refcount leak
> shows up with BUG_ON() during DLPAR remove operation as,
>
> KernelBug: Kernel bug in state 'None': kernel BUG at arch/powerpc/platforms/pseries/iommu.c:100!
> Oops: Exception in kernel mode, sig: 5 [#1]
> LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=8192 NUMA pSeries
> <snip>
> Hardware name: IBM,9080-HEX POWER10 (raw) 0x800200 0xf000006 of:IBM,FW1060.00 (NH1060_016) hv:phyp pSeries
> NIP: c0000000000ff4d4 LR: c0000000000ff4cc CTR: 0000000000000000
> REGS: c0000013aed5f840 TRAP: 0700 Tainted: G I (6.8.0-rc3-autotest-g99bd3cb0d12e)
> MSR: 8000000000029033 <SF,EE,ME,IR,DR,RI,LE> CR: 44002402 XER: 20040000
> CFAR: c000000000a0d170 IRQMASK: 0
> GPR00: c0000000000ff4cc c0000013aed5fae0 c000000001512700 c0000013aa362138
> GPR04: 0000000000000000 0000000000000000 0000000000000000 0000000119c8afd0
> GPR08: 0000000000000000 c000001284442b00 0000000000000001 0000000000001003
> GPR12: 0000000300000000 c0000018ffff2f00 0000000000000000 0000000000000000
> GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> GPR24: c0000013aed5fc40 0000000000000002 0000000000000000 c000000002757d90
> GPR28: c0000000000ff440 c000000002757cb8 c00000183799c1a0 c0000013aa362b00
> NIP [c0000000000ff4d4] iommu_reconfig_notifier+0x94/0x200
> LR [c0000000000ff4cc] iommu_reconfig_notifier+0x8c/0x200
> Call Trace:
> [c0000013aed5fae0] [c0000000000ff4cc] iommu_reconfig_notifier+0x8c/0x200 (unreliable)
> [c0000013aed5fb10] [c0000000001a27b0] notifier_call_chain+0xb8/0x19c
> [c0000013aed5fb70] [c0000000001a2a78] blocking_notifier_call_chain+0x64/0x98
> [c0000013aed5fbb0] [c000000000c4a898] of_reconfig_notify+0x44/0xdc
> [c0000013aed5fc20] [c000000000c4add4] of_detach_node+0x78/0xb0
> [c0000013aed5fc70] [c0000000000f96a8] ofdt_write.part.0+0x86c/0xbb8
> [c0000013aed5fce0] [c00000000069b4bc] proc_reg_write+0xf4/0x150
> [c0000013aed5fd10] [c0000000005bfeb4] vfs_write+0xf8/0x488
> [c0000013aed5fdc0] [c0000000005c0570] ksys_write+0x84/0x140
> [c0000013aed5fe10] [c000000000033358] system_call_exception+0x138/0x330
> [c0000013aed5fe50] [c00000000000d05c] system_call_vectored_common+0x15c/0x2ec
> --- interrupt: 3000 at 0x20000433acb4
> <snip>
> ---[ end trace 0000000000000000 ]---
>
> The patch adds the missing iommu_group_put() call.
>
> Fixes: a8ca9fc9134c ("powerpc/iommu: Do not do platform domain attach atctions after probe")
> Signed-off-by: Shivaprasad G Bhat <sbhat@linux.ibm.com>
> ---
> arch/powerpc/kernel/iommu.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
Doh, that is a weird splat for this but thanks for finding it
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Jason
WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@ziepe.ca>
To: Shivaprasad G Bhat <sbhat@linux.ibm.com>
Cc: venkat88@linux.vnet.ibm.com, jroedel@suse.de,
gbatra@linux.vnet.ibm.com, gregkh@linuxfoundation.org,
linux-kernel@vger.kernel.org, aneesh.kumar@kernel.org,
tpearson@raptorengineering.com, iommu@lists.linux.dev,
npiggin@gmail.com, bgray@linux.ibm.com,
naveen.n.rao@linux.ibm.com, vaibhav@linux.ibm.com,
linuxppc-dev@lists.ozlabs.org, aik@amd.com
Subject: Re: [PATCH] powerpc/iommu: Fix the missing iommu_group_put() during platform domain attach
Date: Tue, 13 Feb 2024 13:21:28 -0400 [thread overview]
Message-ID: <20240213172128.GM765010@ziepe.ca> (raw)
In-Reply-To: <170784021983.6249.10039296655906636112.stgit@linux.ibm.com>
On Tue, Feb 13, 2024 at 10:05:22AM -0600, Shivaprasad G Bhat wrote:
> The function spapr_tce_platform_iommu_attach_dev() is missing to call
> iommu_group_put() when the domain is already set. This refcount leak
> shows up with BUG_ON() during DLPAR remove operation as,
>
> KernelBug: Kernel bug in state 'None': kernel BUG at arch/powerpc/platforms/pseries/iommu.c:100!
> Oops: Exception in kernel mode, sig: 5 [#1]
> LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=8192 NUMA pSeries
> <snip>
> Hardware name: IBM,9080-HEX POWER10 (raw) 0x800200 0xf000006 of:IBM,FW1060.00 (NH1060_016) hv:phyp pSeries
> NIP: c0000000000ff4d4 LR: c0000000000ff4cc CTR: 0000000000000000
> REGS: c0000013aed5f840 TRAP: 0700 Tainted: G I (6.8.0-rc3-autotest-g99bd3cb0d12e)
> MSR: 8000000000029033 <SF,EE,ME,IR,DR,RI,LE> CR: 44002402 XER: 20040000
> CFAR: c000000000a0d170 IRQMASK: 0
> GPR00: c0000000000ff4cc c0000013aed5fae0 c000000001512700 c0000013aa362138
> GPR04: 0000000000000000 0000000000000000 0000000000000000 0000000119c8afd0
> GPR08: 0000000000000000 c000001284442b00 0000000000000001 0000000000001003
> GPR12: 0000000300000000 c0000018ffff2f00 0000000000000000 0000000000000000
> GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
> GPR24: c0000013aed5fc40 0000000000000002 0000000000000000 c000000002757d90
> GPR28: c0000000000ff440 c000000002757cb8 c00000183799c1a0 c0000013aa362b00
> NIP [c0000000000ff4d4] iommu_reconfig_notifier+0x94/0x200
> LR [c0000000000ff4cc] iommu_reconfig_notifier+0x8c/0x200
> Call Trace:
> [c0000013aed5fae0] [c0000000000ff4cc] iommu_reconfig_notifier+0x8c/0x200 (unreliable)
> [c0000013aed5fb10] [c0000000001a27b0] notifier_call_chain+0xb8/0x19c
> [c0000013aed5fb70] [c0000000001a2a78] blocking_notifier_call_chain+0x64/0x98
> [c0000013aed5fbb0] [c000000000c4a898] of_reconfig_notify+0x44/0xdc
> [c0000013aed5fc20] [c000000000c4add4] of_detach_node+0x78/0xb0
> [c0000013aed5fc70] [c0000000000f96a8] ofdt_write.part.0+0x86c/0xbb8
> [c0000013aed5fce0] [c00000000069b4bc] proc_reg_write+0xf4/0x150
> [c0000013aed5fd10] [c0000000005bfeb4] vfs_write+0xf8/0x488
> [c0000013aed5fdc0] [c0000000005c0570] ksys_write+0x84/0x140
> [c0000013aed5fe10] [c000000000033358] system_call_exception+0x138/0x330
> [c0000013aed5fe50] [c00000000000d05c] system_call_vectored_common+0x15c/0x2ec
> --- interrupt: 3000 at 0x20000433acb4
> <snip>
> ---[ end trace 0000000000000000 ]---
>
> The patch adds the missing iommu_group_put() call.
>
> Fixes: a8ca9fc9134c ("powerpc/iommu: Do not do platform domain attach atctions after probe")
> Signed-off-by: Shivaprasad G Bhat <sbhat@linux.ibm.com>
> ---
> arch/powerpc/kernel/iommu.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
Doh, that is a weird splat for this but thanks for finding it
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Jason
next prev parent reply other threads:[~2024-02-13 17:21 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-13 16:05 [PATCH] powerpc/iommu: Fix the missing iommu_group_put() during platform domain attach Shivaprasad G Bhat
2024-02-13 16:05 ` Shivaprasad G Bhat
2024-02-13 17:21 ` Jason Gunthorpe [this message]
2024-02-13 17:21 ` Jason Gunthorpe
2024-02-14 5:34 ` Venkat Rao Bagalkote
2024-02-14 5:34 ` Venkat Rao Bagalkote
2024-02-14 12:53 ` Michael Ellerman
2024-02-14 12:53 ` Michael Ellerman
2024-02-14 12:58 ` Jason Gunthorpe
2024-02-14 12:58 ` Jason Gunthorpe
2024-02-14 18:13 ` Shivaprasad G Bhat
2024-02-14 18:13 ` Shivaprasad G Bhat
2024-02-15 12:57 ` Michael Ellerman
2024-02-15 12:57 ` Michael Ellerman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240213172128.GM765010@ziepe.ca \
--to=jgg@ziepe.ca \
--cc=aik@amd.com \
--cc=aneesh.kumar@kernel.org \
--cc=bgray@linux.ibm.com \
--cc=christophe.leroy@csgroup.eu \
--cc=gbatra@linux.vnet.ibm.com \
--cc=gregkh@linuxfoundation.org \
--cc=iommu@lists.linux.dev \
--cc=jroedel@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=naveen.n.rao@linux.ibm.com \
--cc=npiggin@gmail.com \
--cc=sbhat@linux.ibm.com \
--cc=tpearson@raptorengineering.com \
--cc=vaibhav@linux.ibm.com \
--cc=venkat88@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.