Re: Linux 2.6.35.2

Previous thread: [GIT PULL] ext4 update for 2.6.36 by Theodore Ts'o on Friday, August 13, 2010 - 2:09 pm. (1 message)

Next thread: Re: Linux 2.6.27.51 by Greg KH on Friday, August 13, 2010 - 2:24 pm. (1 message)
From: Greg KH
Date: Friday, August 13, 2010 - 2:23 pm

I'm announcing the release of the 2.6.35.2 kernel.

All users of the 2.6.35 kernel series must upgrade.

I'm tired of people trying to parse my words like I'm the Federal
Reserve Chairman, just go update already.  If you use a kernel.org-based
kernel, and you aren't updating to the latest -stable updates, well, why
are you using a kernel.org kernel in the first place?

The updated 2.6.35.y git tree can be found at:
        git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.35.y.git
and can be browsed at the normal kernel.org git web browser:
        http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.35.y.git;a=summary

thanks,

greg k-h

------------

 Makefile                                    |    2 
 arch/arm/Kconfig                            |   12 +++
 arch/arm/include/asm/tlbflush.h             |    8 ++
 arch/arm/mach-pxa/cm-x300.c                 |    3 
 arch/arm/plat-mxc/include/mach/gpio.h       |    1 
 arch/powerpc/Makefile                       |   16 +++-
 arch/powerpc/kernel/perf_event_fsl_emb.c    |    1 
 arch/x86/include/asm/cmpxchg_32.h           |   68 ++++++++++----------
 arch/x86/include/asm/cmpxchg_64.h           |   40 ++++++------
 arch/x86/kernel/cpu/mtrr/main.c             |   56 +++++++++++++----
 arch/x86/kernel/cpu/vmware.c                |    9 ++
 arch/x86/kernel/smpboot.c                   |    7 ++
 arch/x86/mm/fault.c                         |    4 -
 arch/x86/mm/kmmio.c                         |   16 +++-
 arch/x86/mm/testmmiotrace.c                 |   22 ++++++
 arch/x86/pci/acpi.c                         |    9 ++
 crypto/Kconfig                              |    8 ++
 crypto/algboss.c                            |    4 +
 crypto/testmgr.c                            |   14 ++++
 drivers/ata/ata_piix.c                      |    8 ++
 drivers/atm/solos-pci.c                     |    7 +-
 drivers/block/drbd/drbd_main.c              |   27 +++++---
 drivers/bluetooth/btusb.c                   |    3 
 ...
From: Greg KH
Date: Friday, August 13, 2010 - 2:23 pm

diff --git a/Makefile b/Makefile
index 0b9c763..3cf2397 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 6
 SUBLEVEL = 35
-EXTRAVERSION = .1
+EXTRAVERSION = .2
 NAME = Sheep on Meth
 
 # *DOCUMENTATION*
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 98922f7..4824fb4 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1027,6 +1027,18 @@ config PL310_ERRATA_588369
 	   is not correctly implemented in PL310 as clean lines are not
 	   invalidated as a result of these operations. Note that this errata
 	   uses Texas Instrument's secure monitor api.
+
+config ARM_ERRATA_720789
+	bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
+	depends on CPU_V7 && SMP
+	help
+	  This option enables the workaround for the 720789 Cortex-A9 (prior to
+	  r2p0) erratum. A faulty ASID can be sent to the other CPUs for the
+	  broadcasted CP15 TLB maintenance operations TLBIASIDIS and TLBIMVAIS.
+	  As a consequence of this erratum, some TLB entries which should be
+	  invalidated are not, resulting in an incoherency in the system page
+	  tables. The workaround changes the TLB flushing routines to invalidate
+	  entries regardless of the ASID.
 endmenu
 
 source "arch/arm/common/Kconfig"
diff --git a/arch/arm/include/asm/tlbflush.h b/arch/arm/include/asm/tlbflush.h
index bd863d8..33b546a 100644
--- a/arch/arm/include/asm/tlbflush.h
+++ b/arch/arm/include/asm/tlbflush.h
@@ -378,7 +378,11 @@ static inline void local_flush_tlb_mm(struct mm_struct *mm)
 	if (tlb_flag(TLB_V6_I_ASID))
 		asm("mcr p15, 0, %0, c8, c5, 2" : : "r" (asid) : "cc");
 	if (tlb_flag(TLB_V7_UIS_ASID))
+#ifdef CONFIG_ARM_ERRATA_720789
+		asm("mcr p15, 0, %0, c8, c3, 0" : : "r" (zero) : "cc");
+#else
 		asm("mcr p15, 0, %0, c8, c3, 2" : : "r" (asid) : "cc");
+#endif
 
 	if (tlb_flag(TLB_BTB)) {
 		/* flush the branch target cache */
@@ -424,7 +428,11 @@ local_flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr)
 	if ...
From: Heinz Diehl
Date: Friday, August 13, 2010 - 11:53 pm

There's a small typo in the crypto/Kconfig patch. This corrects it.


diff -urN a/crypto/Kconfig b/crypto/Kconfig
--- a/crypto/Kconfig	2010-08-13 22:44:56.000000000 +0200
+++ b/crypto/Kconfig	2010-08-14 08:47:17.810000001 +0200
@@ -97,7 +97,7 @@
 	select CRYPTO_PCOMP
 
 config CRYPTO_MANAGER_TESTS
-	bool "Run algolithms' self-tests"
+	bool "Run algorithms' self-tests"
 	default y
 	depends on CRYPTO_MANAGER2
 	help
--

From: Greg KH
Date: Saturday, August 14, 2010 - 6:40 am

Heh, that's not a big deal, I suggest you get that upstream in Linus's
tree, as it's the same there, right?

thanks,

greg k-h
--

From: Arthur Titeica
Date: Saturday, August 14, 2010 - 3:35 am

I'm not sure this is the right mailing list but this is the first
kernel that fails to boot for me (since 2.6.33.x).

The laptop just restarts right after "Freeing unused kernel memory:
628k freed"

2.6.35.1 is fine with the same .config.

Anyone willing to help me to debug?

-- 
Arthur Titeica

--

From: Pekka Enberg
Date: Saturday, August 14, 2010 - 4:21 am

You could try 'git bisect' between v2.6.35.1 and v2.6.35.2 to narrow
the problem down to a specific commit.
--

From: Greg KH
Date: Saturday, August 14, 2010 - 6:39 am

Yes, if you could please do that, it would be most appreciated.

thanks,

greg k-h
--

From: Arthur Titeica
Date: Saturday, August 14, 2010 - 7:08 am

I'm trying but I'm not even close to a dev and anything beyond 'git
pull' looks tricky.

I've gotten so far:

$ git bisect start
$ git bisect bad
$ git bisect good v2.6.35.1
fatal: Needed a single revision
Bad rev input: v2.6.35.1
$ git bisect good v2.6.35
Bisecting: 3941 revisions left to test after this (roughly 12 steps)
[2192482ee5ce5d5d4a6cec0c351b2d3a744606eb] Merge branch 'for-rmk' of
git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into
devel-stable

What next? ;)


-- 
Arthur Titeica

--

From: Bjarke Istrup Pedersen
Date: Saturday, August 14, 2010 - 8:10 am

Build your kernel, and see if it boots.
If it boots, run: git bisect good
If it doesn't boot, run: git bisect bad

Repeat the process until it is done (should be close to 12 times).
--

From: Heiko Carstens
Date: Saturday, August 14, 2010 - 9:56 am

You are going to bisect the wrong tree. Looks like you don't have the
stable git tree:

# git clone --reference linux-2.6 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.35.y.git
# cd linux-2.6.35.y
# git bisect start
# git bisect good v2.6.35.1
# git bisect bad v2.6.35.2

'linux-2.6' would be your local clone of Linus' upstream git tree. That way
git will only pull a couple of megs instead of several hundred megs.
--

Previous thread: [GIT PULL] ext4 update for 2.6.36 by Theodore Ts'o on Friday, August 13, 2010 - 2:09 pm. (1 message)

Next thread: Re: Linux 2.6.27.51 by Greg KH on Friday, August 13, 2010 - 2:24 pm. (1 message)