From: Borislav Petkov <bp@alien8.de>
To: Dave Hansen <dave@sr71.net>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org, linux-mm@kvack.org,
torvalds@linux-foundation.org, akpm@linux-foundation.org,
ak@linux.intel.com, mhocko@suse.com, dave.hansen@linux.intel.com,
luto@kernel.org, stable@vger.kernel.org
Subject: Re: [PATCH 1/6] x86: fix duplicated X86_BUG(9) macro
Date: Fri, 1 Jul 2016 11:23:01 +0200 [thread overview]
Message-ID: <20160701092300.GD4593@pd.tnic> (raw)
In-Reply-To: <20160701001210.AA77B917@viggo.jf.intel.com>
On Thu, Jun 30, 2016 at 05:12:10PM -0700, Dave Hansen wrote:
>
> From: Dave Hansen <dave.hansen@linux.intel.com>
>
> epufeatures.h currently defines X86_BUG(9) twice on 32-bit:
>
> #define X86_BUG_NULL_SEG X86_BUG(9) /* Nulling a selector preserves the base */
> ...
> #ifdef CONFIG_X86_32
> #define X86_BUG_ESPFIX X86_BUG(9) /* "" IRET to 16-bit SS corrupts ESP/RSP high bits */
> #endif
>
> I think what happened was that this added the X86_BUG_ESPFIX, but
> in an #ifdef below most of the bugs:
>
> [58a5aac5] x86/entry/32: Introduce and use X86_BUG_ESPFIX instead of paravirt_enabled
>
> Then this came along and added X86_BUG_NULL_SEG, but collided
> with the earlier one that did the bug below the main block
> defining all the X86_BUG()s.
>
> [7a5d6704] x86/cpu: Probe the behavior of nulling out a segment at boot time
>
> Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
> Acked-by: Andy Lutomirski <luto@kernel.org>
> Cc: stable@vger.kernel.org
> ---
>
> b/arch/x86/include/asm/cpufeatures.h | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff -puN arch/x86/include/asm/cpufeatures.h~knl-leak-10-fix-x86-bugs-macros arch/x86/include/asm/cpufeatures.h
> --- a/arch/x86/include/asm/cpufeatures.h~knl-leak-10-fix-x86-bugs-macros 2016-06-30 17:10:41.215185869 -0700
> +++ b/arch/x86/include/asm/cpufeatures.h 2016-06-30 17:10:41.218186005 -0700
> @@ -301,10 +301,6 @@
> #define X86_BUG_FXSAVE_LEAK X86_BUG(6) /* FXSAVE leaks FOP/FIP/FOP */
> #define X86_BUG_CLFLUSH_MONITOR X86_BUG(7) /* AAI65, CLFLUSH required before MONITOR */
> #define X86_BUG_SYSRET_SS_ATTRS X86_BUG(8) /* SYSRET doesn't fix up SS attrs */
> -#define X86_BUG_NULL_SEG X86_BUG(9) /* Nulling a selector preserves the base */
> -#define X86_BUG_SWAPGS_FENCE X86_BUG(10) /* SWAPGS without input dep on GS */
> -
> -
> #ifdef CONFIG_X86_32
> /*
> * 64-bit kernels don't use X86_BUG_ESPFIX. Make the define conditional
So I'd remove the "#ifdef CONFIG_X86_32" ifdeffery too and make that bit
unconditional - so what, we have enough free bits. But I'd leave the
comment to still avoid the confusion :)
--
Regards/Gruss,
Boris.
ECO tip #101: Trim your mails when you reply.
next prev parent reply other threads:[~2016-07-01 9:23 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-01 0:12 [PATCH 0/6] [v3] Workaround for Xeon Phi PTE A/D bits erratum Dave Hansen
2016-07-01 0:12 ` Dave Hansen
2016-07-01 0:12 ` [PATCH 1/6] x86: fix duplicated X86_BUG(9) macro Dave Hansen
2016-07-01 0:12 ` Dave Hansen
2016-07-01 0:12 ` Dave Hansen
2016-07-01 9:23 ` Borislav Petkov [this message]
2016-07-01 16:30 ` Andy Lutomirski
2016-07-01 16:30 ` Andy Lutomirski
2016-07-01 16:46 ` Borislav Petkov
2016-07-03 14:36 ` Andy Lutomirski
2016-07-03 14:36 ` Andy Lutomirski
2016-07-03 18:44 ` Borislav Petkov
2016-07-01 0:12 ` [PATCH 2/6] mm, tlb: add mmu_gather->saw_unset_a_or_d Dave Hansen
2016-07-01 0:12 ` Dave Hansen
2016-07-01 0:12 ` [PATCH 3/6] mm: add force_batch_flush to mmu_gather Dave Hansen
2016-07-01 0:12 ` Dave Hansen
2016-07-01 0:12 ` [PATCH 4/6] mm: move flush in madvise_free_pte_range() Dave Hansen
2016-07-01 0:12 ` Dave Hansen
2016-07-01 0:12 ` [PATCH 5/6] mm: make tlb_flush_mmu_tlbonly() return whether it flushed Dave Hansen
2016-07-01 0:12 ` Dave Hansen
2016-07-01 0:12 ` [PATCH 6/6] x86: Fix stray A/D bit setting into non-present PTEs Dave Hansen
2016-07-01 0:12 ` Dave Hansen
2016-07-01 1:50 ` Nadav Amit
2016-07-01 1:50 ` Nadav Amit
2016-07-01 1:54 ` Dave Hansen
2016-07-01 1:54 ` Dave Hansen
2016-07-01 2:55 ` Linus Torvalds
2016-07-01 2:55 ` Linus Torvalds
2016-07-01 3:06 ` Brian Gerst
2016-07-01 3:06 ` Brian Gerst
2016-07-01 3:21 ` Linus Torvalds
2016-07-03 17:10 ` Dave Hansen
2016-07-03 17:10 ` Dave Hansen
2016-07-01 4:39 ` Dave Hansen
2016-07-01 4:39 ` Dave Hansen
2016-07-01 5:43 ` Linus Torvalds
2016-07-01 5:43 ` Linus Torvalds
2016-07-01 14:25 ` Eric W. Biederman
2016-07-01 14:25 ` Eric W. Biederman
2016-07-01 15:51 ` Dave Hansen
2016-07-01 15:51 ` Dave Hansen
2016-07-01 18:12 ` Eric W. Biederman
2016-07-01 18:12 ` Eric W. Biederman
2016-07-01 16:07 ` Linus Torvalds
2016-07-01 16:07 ` Linus Torvalds
2016-07-01 16:14 ` Dave Hansen
2016-07-01 16:14 ` Dave Hansen
2016-07-01 16:25 ` Linus Torvalds
2016-07-01 16:25 ` Linus Torvalds
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160701092300.GD4593@pd.tnic \
--to=bp@alien8.de \
--cc=ak@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=dave.hansen@linux.intel.com \
--cc=dave@sr71.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=luto@kernel.org \
--cc=mhocko@suse.com \
--cc=stable@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.