lkml.org 
[lkml]   [2017]   [Aug]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [kernel-hardening] [PATCH v5 04/10] arm64: Add __flush_tlb_one()
    On Wed, Aug 23, 2017 at 10:58:42AM -0600, Tycho Andersen wrote:
    > Hi Mark,
    >
    > On Mon, Aug 14, 2017 at 05:50:47PM +0100, Mark Rutland wrote:
    > > That said, is there any reason not to use flush_tlb_kernel_range()
    > > directly?
    >
    > So it turns out that there is a difference between __flush_tlb_one() and
    > flush_tlb_kernel_range() on x86: flush_tlb_kernel_range() flushes all the TLBs
    > via on_each_cpu(), where as __flush_tlb_one() only flushes the local TLB (which
    > I think is enough here).

    That sounds suspicious; I don't think that __flush_tlb_one() is
    sufficient.

    If you only do local TLB maintenance, then the page is left accessible
    to other CPUs via the (stale) kernel mappings. i.e. the page isn't
    exclusively mapped by userspace.

    Thanks,
    Mark.

    \
     
     \ /
      Last update: 2017-08-23 19:06    [W:4.235 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site