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  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 26 Oct 2017 08:05:38 -0500
From:   Tom Lendacky <thomas.lendacky@....com>
To:     Dave Hansen <dave.hansen@...el.com>, arnd@...db.de,
        aryabinin@...tuozzo.com, dvyukov@...gle.com, mingo@...nel.org,
        pbonzini@...hat.com, peterz@...radead.org,
        torvalds@...ux-foundation.org, toshi.kani@....com,
        matt@...eblueprint.co.uk, corbet@....net, hpa@...or.com,
        konrad.wilk@...cle.com, dyoung@...hat.com, tglx@...utronix.de,
        linux-kernel@...r.kernel.org, riel@...hat.com, bp@...e.de,
        lwoodman@...hat.com, glider@...gle.com, luto@...nel.org,
        mst@...hat.com, brijesh.singh@....com, rkrcmar@...hat.com,
        bp@...en8.de, linux-tip-commits@...r.kernel.org
Subject: Re: [tip:x86/mm] x86/mm: Add support for early encryption/decryption
 of memory

On 10/25/2017 12:34 PM, Dave Hansen wrote:
> On 07/18/2017 03:51 AM, tip-bot for Tom Lendacky wrote:
>> +/*
>> + * This routine does not change the underlying encryption setting of the
>> + * page(s) that map this memory. It assumes that eventually the memory is
>> + * meant to be accessed as either encrypted or decrypted but the contents
>> + * are currently not in the desired state.
>> + *
>> + * This routine follows the steps outlined in the AMD64 Architecture
>> + * Programmer's Manual Volume 2, Section 7.10.8 Encrypt-in-Place.
>> + */
>> +static void __init __sme_early_enc_dec(resource_size_t paddr,
>> +				       unsigned long size, bool enc)
>> +{
>> +	void *src, *dst;
>> +	size_t len;
>> +
>> +	if (!sme_me_mask)
>> +		return;
>> +
>> +	local_flush_tlb();
>> +	wbinvd();
> 
> What is this TLB flush for?  WBINVD is mentioned in "Volume 2, Section
> 7.10.8", but TLB flushes are not.  Is it OK that this does not flush
> global pages?

The local_flush_tlb() is not needed and can be removed. I had that in
there from early development and testing and just missed removing it.
I can queue up a patch to delete it and remove the ambiguity with this
routine and the APM document.

Thanks,
Tom

> 

Powered by blists - more mailing lists