lkml.org 
[lkml]   [2023]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 1/7] x86/cpu: Enumerate LASS CPUID and CR4 bits
From


On 1/10/2023 12:14 PM, Sohil Mehta wrote:
> On 1/9/2023 9:51 PM, Yian Chen wrote:
>> LASS (Linear Address Space Separation) is a CPU feature to
>> prevent speculative address access in user/kernel mode.
>>
>
> Would it be better to say?
>
> LASS (Linear Address Space Separation) is a security feature that
> intends to prevent unintentional speculative address access across
> user/kernel mode.
>
>
Sure, I will revise the statement precisely.

>> LASS partitions 64-bit virtual address space into two
>> halves, lower address (LA[63]=0) and upper address
>> (LA[63]=1). It stops any data access or code execution
>>      1. from upper half address space to any lower half address
>>      2, from lower half address space to any upper half address
>> and generates #GP fault for a violation.
>>
>
> I am not sure if this is the best way to say it. The kernel already
> partitions the address space this way. LASS takes what is already the
> typical OS implementation and bakes it into the hardware architecture.
>
Yes, LASS by design matches the addressing usage in OS. I will try to
include this in the statement.
>> In Linux, this means LASS does not allow both kernel code
>> to access any user space address and user code to access
>> any kernel space address.
>>
>
> There is clearly an overlap between the protections provided by paging
> and with SMAP and SMEP. It would be useful to paraphrase some of the
> information mentioned in the spec regarding how LASS differs from them.
>
Yes, I will differentiate between LASS and SMAP more clearly.

> "With these mode-based protections, paging can prevent malicious
> software from directly reading or writing memory inappropriately. To
> enforce these protections, the processor must traverse the hierarchy of
> paging structures in memory. Unprivileged software can use timing
> information resulting from this traversal to determine details about the
> paging structures, and these details may be used to determine the layout
> of supervisor memory.
>
> Linear-address space separation (LASS) is an independent mechanism that
> enforces the same mode-based protections as paging but without
> traversing the paging structures. Because the protections enforced by
> LASS are applied before paging, “probes” by malicious software will
> provide no paging-based timing information."
>
Yes, I will also state the advantage of LASS.

>> Signed-off-by: Yian Chen <yian.chen@intel.com>
>> Reviewed-by: Tony Luck <tony.luck@intel.com>
>

Thanks,
Yian

\
 
 \ /
  Last update: 2023-03-26 23:36    [W:0.098 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site