Please fix your scripts to not repost patches. Ralf On Mon, Mar 14, 2016 at 02:12:58PM +0800, miles.chen@xxxxxxxxxxxx wrote: > From: miles.chen@xxxxxxxxxxxx > To: Miles <miles.chen@xxxxxxxxxxxx> > CC: James Hogan <james.hogan@xxxxxxxxxx>, Paul Burton > <paul.burton@xxxxxxxxxx>, linux-mips@xxxxxxxxxxxxxx, Ralf Baechle > <ralf@xxxxxxxxxxxxxx> > Subject: [PATCH] MIPS: smp.c: Fix uninitialised temp_foreign_map > Content-Type: text/plain > > From: James Hogan <james.hogan@xxxxxxxxxx> > > When calculate_cpu_foreign_map() recalculates the cpu_foreign_map > cpumask it uses the local variable temp_foreign_map without initialising > it to zero. Since the calculation only ever sets bits in this cpumask > any existing bits at that memory location will remain set and find their > way into cpu_foreign_map too. This could potentially lead to cache > operations suboptimally doing smp calls to multiple VPEs in the same > core, even though the VPEs share primary caches. > > Therefore initialise temp_foreign_map using cpumask_clear() before use. > > Fixes: cccf34e9411c ("MIPS: c-r4k: Fix cache flushing for MT cores") > Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> > Cc: Paul Burton <paul.burton@xxxxxxxxxx> > Cc: linux-mips@xxxxxxxxxxxxxx > Patchwork: https://patchwork.linux-mips.org/patch/12759/ > Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> > --- > arch/mips/kernel/smp.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c > index bd4385a..2b521e0 100644 > --- a/arch/mips/kernel/smp.c > +++ b/arch/mips/kernel/smp.c > @@ -121,6 +121,7 @@ static inline void calculate_cpu_foreign_map(void) > cpumask_t temp_foreign_map; > > /* Re-calculate the mask */ > + cpumask_clear(&temp_foreign_map); > for_each_online_cpu(i) { > core_present = 0; > for_each_cpu(k, &temp_foreign_map) > -- > 1.9.1 Ralf