linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 1/1] s390/pv: fix the forcing of the swiotlb
@ 2021-07-23 23:17 Halil Pasic
  2021-07-24  0:27 ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 6+ messages in thread
From: Halil Pasic @ 2021-07-23 23:17 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk, iommu, linux-kernel, Christian Borntraeger
  Cc: Halil Pasic, stable, Guenter Roeck, Will Deacon, Claire Chang,
	Christoph Hellwig, Robin Murphy, Nathan Chancellor, linux-s390,
	Vasily Gorbik, Heiko Carstens

Since commit 903cd0f315fe ("swiotlb: Use is_swiotlb_force_bounce for
swiotlb data bouncing") if code sets swiotlb_force it needs to do so
before the swiotlb is initialised. Otherwise
io_tlb_default_mem->force_bounce will not get set to true, and devices
that use (the default) swiotlb will not bounce despite switolb_force
having the value of SWIOTLB_FORCE.

Let us restore swiotlb functionality for PV by fulfilling this new
requirement.

This change addresses what turned out to be a fragility in
commit 64e1f0c531d1 ("s390/mm: force swiotlb for protected
virtualization"), which ain't exactly broken in its original context,
but could give us some more headache if people backport the broken
change and forget this fix.

Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Fixes: 903cd0f315fe ("swiotlb: Use is_swiotlb_force_bounce for swiotlb data bouncing")
Fixes: 64e1f0c531d1 ("s390/mm: force swiotlb for protected virtualization")
Cc: stable@vger.kernel.org #5.3+

---

I'm aware that this fix does not really satisfy the formal requirements
for the stable process. But to avoid problems with backports we would
like this fix applied to 5.3+ stable kernels.
---
 arch/s390/mm/init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c
index d85bd7f5d8dc..1c8f8ccebfb7 100644
--- a/arch/s390/mm/init.c
+++ b/arch/s390/mm/init.c
@@ -186,9 +186,9 @@ static void pv_init(void)
 		return;
 
 	/* make sure bounce buffers are shared */
+	swiotlb_force = SWIOTLB_FORCE;
 	swiotlb_init(1);
 	swiotlb_update_mem_attributes();
-	swiotlb_force = SWIOTLB_FORCE;
 }
 
 void __init mem_init(void)

base-commit: 90d856e71443a2fcacca8e7539bac44d9cb3f7ab
-- 
2.25.1


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

* Re: [PATCH v2 1/1] s390/pv: fix the forcing of the swiotlb
  2021-07-23 23:17 [PATCH v2 1/1] s390/pv: fix the forcing of the swiotlb Halil Pasic
@ 2021-07-24  0:27 ` Konrad Rzeszutek Wilk
  2021-07-26 15:25   ` Halil Pasic
  2021-07-27 12:54   ` Christian Borntraeger
  0 siblings, 2 replies; 6+ messages in thread
From: Konrad Rzeszutek Wilk @ 2021-07-24  0:27 UTC (permalink / raw)
  To: Halil Pasic
  Cc: Konrad Rzeszutek Wilk, iommu, linux-kernel,
	Christian Borntraeger, Nathan Chancellor, Vasily Gorbik,
	linux-s390, Robin Murphy, Heiko Carstens, stable, Claire Chang,
	Will Deacon, Christoph Hellwig, Guenter Roeck

On Sat, Jul 24, 2021 at 01:17:46AM +0200, Halil Pasic wrote:
> Since commit 903cd0f315fe ("swiotlb: Use is_swiotlb_force_bounce for
> swiotlb data bouncing") if code sets swiotlb_force it needs to do so
> before the swiotlb is initialised. Otherwise
> io_tlb_default_mem->force_bounce will not get set to true, and devices
> that use (the default) swiotlb will not bounce despite switolb_force
> having the value of SWIOTLB_FORCE.
> 
> Let us restore swiotlb functionality for PV by fulfilling this new
> requirement.
> 
> This change addresses what turned out to be a fragility in
> commit 64e1f0c531d1 ("s390/mm: force swiotlb for protected
> virtualization"), which ain't exactly broken in its original context,
> but could give us some more headache if people backport the broken
> change and forget this fix.
> 
> Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Fixes: 903cd0f315fe ("swiotlb: Use is_swiotlb_force_bounce for swiotlb data bouncing")
> Fixes: 64e1f0c531d1 ("s390/mm: force swiotlb for protected virtualization")
> Cc: stable@vger.kernel.org #5.3+
> 
> ---

Picked it up and stuck it in linux-next with the other set of patches (Will's fixes).

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

* Re: [PATCH v2 1/1] s390/pv: fix the forcing of the swiotlb
  2021-07-24  0:27 ` Konrad Rzeszutek Wilk
@ 2021-07-26 15:25   ` Halil Pasic
  2021-07-27 12:54   ` Christian Borntraeger
  1 sibling, 0 replies; 6+ messages in thread
From: Halil Pasic @ 2021-07-26 15:25 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk
  Cc: Konrad Rzeszutek Wilk, iommu, linux-kernel,
	Christian Borntraeger, Nathan Chancellor, Vasily Gorbik,
	linux-s390, Robin Murphy, Heiko Carstens, stable, Claire Chang,
	Will Deacon, Christoph Hellwig, Guenter Roeck

On Fri, 23 Jul 2021 20:27:56 -0400
Konrad Rzeszutek Wilk <konrad@darnok.org> wrote:

> On Sat, Jul 24, 2021 at 01:17:46AM +0200, Halil Pasic wrote:
> > Since commit 903cd0f315fe ("swiotlb: Use is_swiotlb_force_bounce for
> > swiotlb data bouncing") if code sets swiotlb_force it needs to do so
> > before the swiotlb is initialised. Otherwise
> > io_tlb_default_mem->force_bounce will not get set to true, and devices
> > that use (the default) swiotlb will not bounce despite switolb_force
> > having the value of SWIOTLB_FORCE.
> > 
> > Let us restore swiotlb functionality for PV by fulfilling this new
> > requirement.
> > 
> > This change addresses what turned out to be a fragility in
> > commit 64e1f0c531d1 ("s390/mm: force swiotlb for protected
> > virtualization"), which ain't exactly broken in its original context,
> > but could give us some more headache if people backport the broken
> > change and forget this fix.
> > 
> > Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> > Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
> > Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
> > Fixes: 903cd0f315fe ("swiotlb: Use is_swiotlb_force_bounce for swiotlb data bouncing")
> > Fixes: 64e1f0c531d1 ("s390/mm: force swiotlb for protected virtualization")
> > Cc: stable@vger.kernel.org #5.3+
> > 
> > ---  
> 
> Picked it up and stuck it in linux-next with the other set of patches (Will's fixes).

Thanks!


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

* Re: [PATCH v2 1/1] s390/pv: fix the forcing of the swiotlb
  2021-07-24  0:27 ` Konrad Rzeszutek Wilk
  2021-07-26 15:25   ` Halil Pasic
@ 2021-07-27 12:54   ` Christian Borntraeger
  2021-07-27 12:57     ` Will Deacon
  1 sibling, 1 reply; 6+ messages in thread
From: Christian Borntraeger @ 2021-07-27 12:54 UTC (permalink / raw)
  To: Konrad Rzeszutek Wilk, Halil Pasic
  Cc: Konrad Rzeszutek Wilk, iommu, linux-kernel, Nathan Chancellor,
	Vasily Gorbik, linux-s390, Robin Murphy, Heiko Carstens, stable,
	Claire Chang, Will Deacon, Christoph Hellwig, Guenter Roeck


On 24.07.21 02:27, Konrad Rzeszutek Wilk wrote:
> On Sat, Jul 24, 2021 at 01:17:46AM +0200, Halil Pasic wrote:
>> Since commit 903cd0f315fe ("swiotlb: Use is_swiotlb_force_bounce for
>> swiotlb data bouncing") if code sets swiotlb_force it needs to do so
>> before the swiotlb is initialised. Otherwise
>> io_tlb_default_mem->force_bounce will not get set to true, and devices
>> that use (the default) swiotlb will not bounce despite switolb_force
>> having the value of SWIOTLB_FORCE.
>>
>> Let us restore swiotlb functionality for PV by fulfilling this new
>> requirement.
>>
>> This change addresses what turned out to be a fragility in
>> commit 64e1f0c531d1 ("s390/mm: force swiotlb for protected
>> virtualization"), which ain't exactly broken in its original context,
>> but could give us some more headache if people backport the broken
>> change and forget this fix.
>>
>> Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
>> Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> Fixes: 903cd0f315fe ("swiotlb: Use is_swiotlb_force_bounce for swiotlb data bouncing")
>> Fixes: 64e1f0c531d1 ("s390/mm: force swiotlb for protected virtualization")
>> Cc: stable@vger.kernel.org #5.3+
>>
>> ---
> 
> Picked it up and stuck it in linux-next with the other set of patches (Will's fixes).

Can you push out to kernel.org?
  

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

* Re: [PATCH v2 1/1] s390/pv: fix the forcing of the swiotlb
  2021-07-27 12:54   ` Christian Borntraeger
@ 2021-07-27 12:57     ` Will Deacon
  2021-07-27 13:00       ` Christian Borntraeger
  0 siblings, 1 reply; 6+ messages in thread
From: Will Deacon @ 2021-07-27 12:57 UTC (permalink / raw)
  To: Christian Borntraeger
  Cc: Konrad Rzeszutek Wilk, Halil Pasic, Konrad Rzeszutek Wilk, iommu,
	linux-kernel, Nathan Chancellor, Vasily Gorbik, linux-s390,
	Robin Murphy, Heiko Carstens, stable, Claire Chang,
	Christoph Hellwig, Guenter Roeck

On Tue, Jul 27, 2021 at 02:54:14PM +0200, Christian Borntraeger wrote:
> 
> On 24.07.21 02:27, Konrad Rzeszutek Wilk wrote:
> > On Sat, Jul 24, 2021 at 01:17:46AM +0200, Halil Pasic wrote:
> > > Since commit 903cd0f315fe ("swiotlb: Use is_swiotlb_force_bounce for
> > > swiotlb data bouncing") if code sets swiotlb_force it needs to do so
> > > before the swiotlb is initialised. Otherwise
> > > io_tlb_default_mem->force_bounce will not get set to true, and devices
> > > that use (the default) swiotlb will not bounce despite switolb_force
> > > having the value of SWIOTLB_FORCE.
> > > 
> > > Let us restore swiotlb functionality for PV by fulfilling this new
> > > requirement.
> > > 
> > > This change addresses what turned out to be a fragility in
> > > commit 64e1f0c531d1 ("s390/mm: force swiotlb for protected
> > > virtualization"), which ain't exactly broken in its original context,
> > > but could give us some more headache if people backport the broken
> > > change and forget this fix.
> > > 
> > > Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
> > > Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
> > > Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
> > > Fixes: 903cd0f315fe ("swiotlb: Use is_swiotlb_force_bounce for swiotlb data bouncing")
> > > Fixes: 64e1f0c531d1 ("s390/mm: force swiotlb for protected virtualization")
> > > Cc: stable@vger.kernel.org #5.3+
> > > 
> > > ---
> > 
> > Picked it up and stuck it in linux-next with the other set of patches (Will's fixes).
> 
> Can you push out to kernel.org?

It's pushed to the swiotlb tree:

https://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb.git/log/?h=devel/for-linus-5.15

Since none of the restricted DMA series is in mainline yet, I don't think
it's needed anywhere else.

Will

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

* Re: [PATCH v2 1/1] s390/pv: fix the forcing of the swiotlb
  2021-07-27 12:57     ` Will Deacon
@ 2021-07-27 13:00       ` Christian Borntraeger
  0 siblings, 0 replies; 6+ messages in thread
From: Christian Borntraeger @ 2021-07-27 13:00 UTC (permalink / raw)
  To: Will Deacon
  Cc: Konrad Rzeszutek Wilk, Halil Pasic, Konrad Rzeszutek Wilk, iommu,
	linux-kernel, Nathan Chancellor, Vasily Gorbik, linux-s390,
	Robin Murphy, Heiko Carstens, stable, Claire Chang,
	Christoph Hellwig, Guenter Roeck



On 27.07.21 14:57, Will Deacon wrote:
> On Tue, Jul 27, 2021 at 02:54:14PM +0200, Christian Borntraeger wrote:
>>
>> On 24.07.21 02:27, Konrad Rzeszutek Wilk wrote:
>>> On Sat, Jul 24, 2021 at 01:17:46AM +0200, Halil Pasic wrote:
>>>> Since commit 903cd0f315fe ("swiotlb: Use is_swiotlb_force_bounce for
>>>> swiotlb data bouncing") if code sets swiotlb_force it needs to do so
>>>> before the swiotlb is initialised. Otherwise
>>>> io_tlb_default_mem->force_bounce will not get set to true, and devices
>>>> that use (the default) swiotlb will not bounce despite switolb_force
>>>> having the value of SWIOTLB_FORCE.
>>>>
>>>> Let us restore swiotlb functionality for PV by fulfilling this new
>>>> requirement.
>>>>
>>>> This change addresses what turned out to be a fragility in
>>>> commit 64e1f0c531d1 ("s390/mm: force swiotlb for protected
>>>> virtualization"), which ain't exactly broken in its original context,
>>>> but could give us some more headache if people backport the broken
>>>> change and forget this fix.
>>>>
>>>> Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
>>>> Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>> Fixes: 903cd0f315fe ("swiotlb: Use is_swiotlb_force_bounce for swiotlb data bouncing")
>>>> Fixes: 64e1f0c531d1 ("s390/mm: force swiotlb for protected virtualization")
>>>> Cc: stable@vger.kernel.org #5.3+
>>>>
>>>> ---
>>>
>>> Picked it up and stuck it in linux-next with the other set of patches (Will's fixes).
>>
>> Can you push out to kernel.org?
> 
> It's pushed to the swiotlb tree:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb.git/log/?h=devel/for-linus-5.15
> 
> Since none of the restricted DMA series is in mainline yet, I don't think
> it's needed anywhere else.

Ah right. It is not yet in todays next, so it might just be that yesterdays next pulled
from Konrad too early. Sorry for the noise.

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

end of thread, other threads:[~2021-07-27 13:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-23 23:17 [PATCH v2 1/1] s390/pv: fix the forcing of the swiotlb Halil Pasic
2021-07-24  0:27 ` Konrad Rzeszutek Wilk
2021-07-26 15:25   ` Halil Pasic
2021-07-27 12:54   ` Christian Borntraeger
2021-07-27 12:57     ` Will Deacon
2021-07-27 13:00       ` Christian Borntraeger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).