All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vlastimil Babka <vbabka@suse.cz>
To: speck@linutronix.de
Subject: [MODERATED] Re: [PATCH 8/8] L1TFv8 6
Date: Thu, 21 Jun 2018 13:43:53 +0200	[thread overview]
Message-ID: <260fce1e-c5fe-cace-56a8-a83c2a41f115@suse.cz> (raw)
In-Reply-To: <4ad5c4d2-7721-729e-3af6-6c8ed84dda9f@suse.cz>

On 06/21/2018 11:02 AM, speck for Vlastimil Babka wrote:
> On 06/14/2018 12:48 AM, speck for Andi Kleen wrote:
>> +unsigned long max_swapfile_size(void)
>> +{
>> +	unsigned long pages;
>> +
>> +	pages = generic_max_swapfile_size();
>> +
>> +	if (boot_cpu_has_bug(X86_BUG_L1TF)) {
>> +		/* Limit the swap file size to MAX_PA/2 for L1TF workaround */
>> +		pages = min_t(unsigned long, l1tf_pfn_limit() + 1, pages);
> 
> Is this actually correct? IIUC l1tf_pfn_limit() is in page granularity,
> which are encoded in bits 12 to $LIMIT., but we have swap offsets in
> bits 9 to $LIMIT (after patch 2/8), i.e. 3 bits more? Same for the
> limits described in the changelog?

Yeah, I was able to verify this with some printk's, constructing a pte
with max allowed offset and printing it. In VM with 42bit limits, the
pte is 7ffffc000000000, so the unusable bits start with 38, not 41.

Also after more digging into this, I also suspect that the PAE case is
currently not mitigating. The pgtable-3level.h macros don't seem to flip
the bits. Also swap entries there use only the high pte word, whereas
most of the safe to use bits are in the low word.

  reply	other threads:[~2018-06-21 11:46 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-13 22:48 [MODERATED] [PATCH 0/8] L1TFv8 2 Andi Kleen
2018-06-13 22:48 ` [MODERATED] [PATCH 1/8] L1TFv8 0 Andi Kleen
2018-06-13 22:48 ` [MODERATED] [PATCH 2/8] L1TFv8 4 Andi Kleen
2018-06-13 22:48 ` [MODERATED] [PATCH 3/8] L1TFv8 5 Andi Kleen
2018-06-13 22:48 ` [MODERATED] [PATCH 4/8] L1TFv8 8 Andi Kleen
2018-06-13 22:48 ` [MODERATED] [PATCH 5/8] L1TFv8 3 Andi Kleen
2018-06-13 22:48 ` [MODERATED] [PATCH 6/8] L1TFv8 7 Andi Kleen
2018-06-13 22:48 ` [MODERATED] [PATCH 7/8] L1TFv8 1 Andi Kleen
2018-06-13 22:48 ` [MODERATED] [PATCH 8/8] L1TFv8 6 Andi Kleen
     [not found] ` <20180614150632.E064C61183@crypto-ml.lab.linutronix.de>
2018-06-21  9:02   ` [MODERATED] " Vlastimil Babka
2018-06-21 11:43     ` Vlastimil Babka [this message]
2018-06-21 13:17       ` Vlastimil Babka
2018-06-21 14:38         ` Michal Hocko
2018-06-21 14:38         ` Thomas Gleixner
2018-06-21 20:32         ` [MODERATED] " Andi Kleen
2018-06-22 15:46       ` Vlastimil Babka
2018-06-22 16:56         ` Andi Kleen
2018-06-25  7:04           ` Vlastimil Babka
2018-06-25 20:31             ` Andi Kleen
2018-06-26 12:01               ` Vlastimil Babka
2018-06-26 12:57                 ` Michal Hocko
2018-06-26 13:05                   ` Michal Hocko
2018-06-27  9:14                 ` Thomas Gleixner
     [not found] ` <20180613225434.1CDC8610FD@crypto-ml.lab.linutronix.de>
2018-06-27 15:51   ` [MODERATED] Re: x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation Michal Hocko
2018-06-28  8:05     ` [MODERATED] Re: [PATCH 4/8] L1TFv8 8 Vlastimil Babka
2018-06-29 12:22       ` Michal Hocko

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=260fce1e-c5fe-cace-56a8-a83c2a41f115@suse.cz \
    --to=vbabka@suse.cz \
    --cc=speck@linutronix.de \
    /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.