lkml.org 
[lkml]   [2018]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: TLB flushes on fixmap changes
From
Date
at 12:31 PM, Linus Torvalds <torvalds@linux-foundation.org> wrote:

> On Fri, Aug 24, 2018 at 11:36 AM Nadav Amit <nadav.amit@gmail.com> wrote:
>>> Urgh.. weren't the fixmaps per cpu? Bah, I remember looking at this
>>> during PTI, but I seem to have forgotten everything again.
>>
>> [ Changed the title. Sorry for hijacking the thread. ]
>>
>> Since:
>>
>> native_set_fixmap()->set_pte_vaddr()->pgd_offset_k()
>
> The fixmaps should be entirely fixed after bootup to constant
> mappings, except for the KMAP ones, and they are indexed per-cpu.
>
> That's what my mental model is, at least.
>
> Can you actually find something that changes the fixmaps after boot
> (again, ignoring kmap)?

At least the alternatives mechanism appears to do so.

IIUC the following path is possible when adding a module:

jump_label_add_module()
->__jump_label_update()
->arch_jump_label_transform()
->__jump_label_transform()
->text_poke_bp()
->text_poke()
->set_fixmap()

And a similar path can happen when static_key_enable/disable() is called.

\
 
 \ /
  Last update: 2018-08-24 22:25    [W:0.116 / U:2.516 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site