lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Thu, 30 Apr 2015 14:44:18 +0100
From:	Russell King - ARM Linux <linux@....linux.org.uk>
To:	Gregory CLEMENT <gregory.clement@...e-electrons.com>
Cc:	Valentin Rothberg <valentinrothberg@...il.com>,
	Paul Bolle <pebolle@...cali.nl>, jason@...edaemon.net,
	andrew@...n.ch, sebastian.hesselbarth@...il.com,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] arch/arm/mach-mvebu/Kconfig: remove obsolete selects

On Tue, Apr 28, 2015 at 07:07:22PM +0200, Gregory CLEMENT wrote:
> Hi Russell,
> 
> On 28/04/2015 18:54, Russell King - ARM Linux wrote:
> > On Tue, Apr 28, 2015 at 06:41:41PM +0200, Gregory CLEMENT wrote:
> >> Hi Valentin,
> >>
> >> On 28/04/2015 18:02, Valentin Rothberg wrote:
> >>> ARM_ERRATA_753970 is not defined in Kconfig, so that both selects turn
> >>> out to be nops.  Hence, we can safely remove them.
> >>
> >> It was already pointed by Paul Bolle a few months ago:
> >> http://thread.gmane.org/gmane.linux.kernel/1868817
> >>
> >> and I thought it was applied.
> >>
> >> He pointed that the original intent was to select
> >> PL310_ERRATA_753970. Initially I was not sure if we needed it. In the
> >> meantime I didn't get any answer from the hardware designers but this
> >> errata affects the r3p0 version and according to the Cache ID register
> >> the PL310 used on these two SoCs were the r3p3.
> > 
> > It's probably something I need to look at when I'm in a more relaxed
> > state, and when I have more time to deal with the dreaded email
> > backlog...
> 
> Do you see any mistake in my reasoning?

No, it's just that I didn't have the time and mental capacity to provide
the following kind of answer...

There is no impact when enabling errata 753970 on a platform which doesn't
need it, so I think we might as well default the errata to always being
enabled, and remove the select statements everywhere.

The workaround for this errata is merely to direct the sync register
writes elsewhere in the register space - and that's only done when
we detect a PL310 which needs the workaround applied.  Disabling this
option effectively removes this code:

        if (IS_ENABLED(CONFIG_PL310_ERRATA_753970) &&
            revision == L310_CACHE_ID_RTL_R3P0) {
                sync_reg_offset = L2X0_DUMMY_REG;
                errata[n++] = "753970";
        }

The reason you'd want to disable it is if you had a PL310 r3p0 in your
SoC which you had applied a hardware fix to.

So, I'd suggest this patch instead:

 arch/arm/mach-mvebu/Kconfig    | 2 --
 arch/arm/mach-sti/Kconfig      | 1 -
 arch/arm/mach-ux500/Kconfig    | 1 -
 arch/arm/mach-vexpress/Kconfig | 1 -
 arch/arm/mm/Kconfig            | 1 +
 5 files changed, 1 insertion(+), 5 deletions(-)

diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig
index c1e4567a5ab3..e8e5fa25121c 100644
--- a/arch/arm/mach-mvebu/Kconfig
+++ b/arch/arm/mach-mvebu/Kconfig
@@ -37,7 +37,6 @@ config MACH_ARMADA_370
 config MACH_ARMADA_375
 	bool "Marvell Armada 375 boards" if ARCH_MULTI_V7
 	select ARM_ERRATA_720789
-	select ARM_ERRATA_753970
 	select ARM_GIC
 	select ARMADA_375_CLK
 	select HAVE_ARM_SCU
@@ -52,7 +51,6 @@ config MACH_ARMADA_375
 config MACH_ARMADA_38X
 	bool "Marvell Armada 380/385 boards" if ARCH_MULTI_V7
 	select ARM_ERRATA_720789
-	select ARM_ERRATA_753970
 	select ARM_GIC
 	select ARMADA_38X_CLK
 	select HAVE_ARM_SCU
diff --git a/arch/arm/mach-sti/Kconfig b/arch/arm/mach-sti/Kconfig
index 3b1ac463a494..a36a1f145cf4 100644
--- a/arch/arm/mach-sti/Kconfig
+++ b/arch/arm/mach-sti/Kconfig
@@ -11,7 +11,6 @@ menuconfig ARCH_STI
 	select ARM_ERRATA_754322
 	select ARM_ERRATA_764369 if SMP
 	select ARM_ERRATA_775420
-	select PL310_ERRATA_753970 if CACHE_L2X0
 	select PL310_ERRATA_769419 if CACHE_L2X0
 	select RESET_CONTROLLER
 	help
diff --git a/arch/arm/mach-ux500/Kconfig b/arch/arm/mach-ux500/Kconfig
index c9ac19b24e5a..59d3f80e602e 100644
--- a/arch/arm/mach-ux500/Kconfig
+++ b/arch/arm/mach-ux500/Kconfig
@@ -15,7 +15,6 @@ menuconfig ARCH_U8500
 	select PINCTRL
 	select PINCTRL_ABX500
 	select PINCTRL_NOMADIK
-	select PL310_ERRATA_753970 if CACHE_L2X0
 	help
 	  Support for ST-Ericsson's Ux500 architecture
 
diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig
index 4be537977040..80d34b3f36e7 100644
--- a/arch/arm/mach-vexpress/Kconfig
+++ b/arch/arm/mach-vexpress/Kconfig
@@ -44,7 +44,6 @@ config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
 	default y
 	select ARM_ERRATA_643719 if SMP
 	select ARM_ERRATA_720789
-	select PL310_ERRATA_753970 if CACHE_L2X0
 	help
 	  Provides common dependencies for Versatile Express platforms
 	  based on Cortex-A5 and Cortex-A9 processors. In order to
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index b4f92b9a13ac..2a9d30db169a 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -931,6 +931,7 @@ config PL310_ERRATA_727915
 
 config PL310_ERRATA_753970
 	bool "PL310 errata: cache sync operation may be faulty"
+	default y
 	help
 	  This option enables the workaround for the 753970 PL310 (r3p0) erratum.
 


-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ