* [PATCH v5 1/6] powerpc: Allow flush_icache_range to work across ranges >4GB
[not found] <20191104023305.9581-1-alastair@au1.ibm.com>
@ 2019-11-04 2:32 ` Alastair D'Silva
2019-11-04 19:43 ` Segher Boessenkool
2019-11-14 9:08 ` Michael Ellerman
2019-11-04 2:32 ` [PATCH v5 2/6] powerpc: Allow 64bit VDSO __kernel_sync_dicache " Alastair D'Silva
1 sibling, 2 replies; 6+ messages in thread
From: Alastair D'Silva @ 2019-11-04 2:32 UTC (permalink / raw)
To: alastair
Cc: stable, Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
Christophe Leroy, Allison Randal, Greg Kroah-Hartman, Qian Cai,
Thomas Gleixner, Nicholas Piggin, Andrew Morton,
David Hildenbrand, linuxppc-dev, linux-kernel
From: Alastair D'Silva <alastair@d-silva.org>
When calling flush_icache_range with a size >4GB, we were masking
off the upper 32 bits, so we would incorrectly flush a range smaller
than intended.
This patch replaces the 32 bit shifts with 64 bit ones, so that
the full size is accounted for.
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
Cc: stable@vger.kernel.org
---
arch/powerpc/kernel/misc_64.S | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S
index b55a7b4cb543..9bc0aa9aeb65 100644
--- a/arch/powerpc/kernel/misc_64.S
+++ b/arch/powerpc/kernel/misc_64.S
@@ -82,7 +82,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE)
subf r8,r6,r4 /* compute length */
add r8,r8,r5 /* ensure we get enough */
lwz r9,DCACHEL1LOGBLOCKSIZE(r10) /* Get log-2 of cache block size */
- srw. r8,r8,r9 /* compute line count */
+ srd. r8,r8,r9 /* compute line count */
beqlr /* nothing to do? */
mtctr r8
1: dcbst 0,r6
@@ -98,7 +98,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_COHERENT_ICACHE)
subf r8,r6,r4 /* compute length */
add r8,r8,r5
lwz r9,ICACHEL1LOGBLOCKSIZE(r10) /* Get log-2 of Icache block size */
- srw. r8,r8,r9 /* compute line count */
+ srd. r8,r8,r9 /* compute line count */
beqlr /* nothing to do? */
mtctr r8
2: icbi 0,r6
--
2.21.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v5 2/6] powerpc: Allow 64bit VDSO __kernel_sync_dicache to work across ranges >4GB
[not found] <20191104023305.9581-1-alastair@au1.ibm.com>
2019-11-04 2:32 ` [PATCH v5 1/6] powerpc: Allow flush_icache_range to work across ranges >4GB Alastair D'Silva
@ 2019-11-04 2:32 ` Alastair D'Silva
1 sibling, 0 replies; 6+ messages in thread
From: Alastair D'Silva @ 2019-11-04 2:32 UTC (permalink / raw)
To: alastair
Cc: stable, Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
Christophe Leroy, Thomas Gleixner, Allison Randal, Qian Cai,
Nicholas Piggin, Greg Kroah-Hartman, Andrew Morton,
David Hildenbrand, linuxppc-dev, linux-kernel
From: Alastair D'Silva <alastair@d-silva.org>
When calling __kernel_sync_dicache with a size >4GB, we were masking
off the upper 32 bits, so we would incorrectly flush a range smaller
than intended.
This patch replaces the 32 bit shifts with 64 bit ones, so that
the full size is accounted for.
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
Cc: stable@vger.kernel.org
---
arch/powerpc/kernel/vdso64/cacheflush.S | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/kernel/vdso64/cacheflush.S b/arch/powerpc/kernel/vdso64/cacheflush.S
index 3f92561a64c4..526f5ba2593e 100644
--- a/arch/powerpc/kernel/vdso64/cacheflush.S
+++ b/arch/powerpc/kernel/vdso64/cacheflush.S
@@ -35,7 +35,7 @@ V_FUNCTION_BEGIN(__kernel_sync_dicache)
subf r8,r6,r4 /* compute length */
add r8,r8,r5 /* ensure we get enough */
lwz r9,CFG_DCACHE_LOGBLOCKSZ(r10)
- srw. r8,r8,r9 /* compute line count */
+ srd. r8,r8,r9 /* compute line count */
crclr cr0*4+so
beqlr /* nothing to do? */
mtctr r8
@@ -52,7 +52,7 @@ V_FUNCTION_BEGIN(__kernel_sync_dicache)
subf r8,r6,r4 /* compute length */
add r8,r8,r5
lwz r9,CFG_ICACHE_LOGBLOCKSZ(r10)
- srw. r8,r8,r9 /* compute line count */
+ srd. r8,r8,r9 /* compute line count */
crclr cr0*4+so
beqlr /* nothing to do? */
mtctr r8
--
2.21.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v5 1/6] powerpc: Allow flush_icache_range to work across ranges >4GB
2019-11-04 2:32 ` [PATCH v5 1/6] powerpc: Allow flush_icache_range to work across ranges >4GB Alastair D'Silva
@ 2019-11-04 19:43 ` Segher Boessenkool
2019-11-05 6:04 ` Christophe Leroy
2019-11-14 9:08 ` Michael Ellerman
1 sibling, 1 reply; 6+ messages in thread
From: Segher Boessenkool @ 2019-11-04 19:43 UTC (permalink / raw)
To: Alastair D'Silva
Cc: alastair, Greg Kroah-Hartman, David Hildenbrand, linux-kernel,
stable, Paul Mackerras, Nicholas Piggin, Qian Cai,
Thomas Gleixner, linuxppc-dev, Andrew Morton, Allison Randal
On Mon, Nov 04, 2019 at 01:32:53PM +1100, Alastair D'Silva wrote:
> When calling flush_icache_range with a size >4GB, we were masking
> off the upper 32 bits, so we would incorrectly flush a range smaller
> than intended.
>
> This patch replaces the 32 bit shifts with 64 bit ones, so that
> the full size is accounted for.
Please send this separately, to be committed right now? It is a bug fix,
independent of the rest of the series.
Segher
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v5 1/6] powerpc: Allow flush_icache_range to work across ranges >4GB
2019-11-04 19:43 ` Segher Boessenkool
@ 2019-11-05 6:04 ` Christophe Leroy
2019-11-06 17:49 ` Segher Boessenkool
0 siblings, 1 reply; 6+ messages in thread
From: Christophe Leroy @ 2019-11-05 6:04 UTC (permalink / raw)
To: Segher Boessenkool, Alastair D'Silva
Cc: David Hildenbrand, Greg Kroah-Hartman, linux-kernel, stable,
Paul Mackerras, Nicholas Piggin, alastair, Qian Cai,
Thomas Gleixner, linuxppc-dev, Andrew Morton, Allison Randal
Le 04/11/2019 à 20:43, Segher Boessenkool a écrit :
> On Mon, Nov 04, 2019 at 01:32:53PM +1100, Alastair D'Silva wrote:
>> When calling flush_icache_range with a size >4GB, we were masking
>> off the upper 32 bits, so we would incorrectly flush a range smaller
>> than intended.
>>
>> This patch replaces the 32 bit shifts with 64 bit ones, so that
>> the full size is accounted for.
>
> Please send this separately, to be committed right now? It is a bug fix,
> independent of the rest of the series.
>
Patch 4/6 needs it, as it drops the function.
Or do you mean that the series should drop the assembly at once, and
this patch should only go into stable ?
But I guess mpe can take this patch alone if he wants to ?
By the way, Patch 2/6 is also a bugfix.
Christophe
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v5 1/6] powerpc: Allow flush_icache_range to work across ranges >4GB
2019-11-05 6:04 ` Christophe Leroy
@ 2019-11-06 17:49 ` Segher Boessenkool
0 siblings, 0 replies; 6+ messages in thread
From: Segher Boessenkool @ 2019-11-06 17:49 UTC (permalink / raw)
To: Christophe Leroy
Cc: Alastair D'Silva, David Hildenbrand, Greg Kroah-Hartman,
linux-kernel, stable, Paul Mackerras, Nicholas Piggin, alastair,
Qian Cai, Thomas Gleixner, linuxppc-dev, Andrew Morton,
Allison Randal
On Tue, Nov 05, 2019 at 07:04:04AM +0100, Christophe Leroy wrote:
> Le 04/11/2019 à 20:43, Segher Boessenkool a écrit :
> >Please send this separately, to be committed right now? It is a bug fix,
> >independent of the rest of the series.
>
> Patch 4/6 needs it, as it drops the function.
>
> Or do you mean that the series should drop the assembly at once, and
> this patch should only go into stable ?
I meant that you can say these patches (yes, 2/ as well) are bug fixes,
independent of the rest, and they can be picked up immediately, there
is no need to wait for v18 of this series.
> But I guess mpe can take this patch alone if he wants to ?
Yeah, but you can help him do that ;-)
Segher
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v5 1/6] powerpc: Allow flush_icache_range to work across ranges >4GB
2019-11-04 2:32 ` [PATCH v5 1/6] powerpc: Allow flush_icache_range to work across ranges >4GB Alastair D'Silva
2019-11-04 19:43 ` Segher Boessenkool
@ 2019-11-14 9:08 ` Michael Ellerman
1 sibling, 0 replies; 6+ messages in thread
From: Michael Ellerman @ 2019-11-14 9:08 UTC (permalink / raw)
To: Alastair D'Silva, alastair
Cc: Greg Kroah-Hartman, David Hildenbrand, linux-kernel, stable,
Paul Mackerras, Nicholas Piggin, Qian Cai, Thomas Gleixner,
linuxppc-dev, Andrew Morton, Allison Randal
On Mon, 2019-11-04 at 02:32:53 UTC, "Alastair D'Silva" wrote:
> From: Alastair D'Silva <alastair@d-silva.org>
>
> When calling flush_icache_range with a size >4GB, we were masking
> off the upper 32 bits, so we would incorrectly flush a range smaller
> than intended.
>
> This patch replaces the 32 bit shifts with 64 bit ones, so that
> the full size is accounted for.
>
> Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
> Cc: stable@vger.kernel.org
Series applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/29430fae82073d39b1b881a3cd507416a56a363f
cheers
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-11-14 9:08 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20191104023305.9581-1-alastair@au1.ibm.com>
2019-11-04 2:32 ` [PATCH v5 1/6] powerpc: Allow flush_icache_range to work across ranges >4GB Alastair D'Silva
2019-11-04 19:43 ` Segher Boessenkool
2019-11-05 6:04 ` Christophe Leroy
2019-11-06 17:49 ` Segher Boessenkool
2019-11-14 9:08 ` Michael Ellerman
2019-11-04 2:32 ` [PATCH v5 2/6] powerpc: Allow 64bit VDSO __kernel_sync_dicache " Alastair D'Silva
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).