Fork us on GitHub Follow us on Facebook Follow us on Twitter

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#727 closed defect (invalid)

pt_mapping_remove needs TLB shootdown before freeing frames

Reported by: Jiří Zárevúcky Owned by:
Priority: major Milestone: 0.7.2
Component: helenos/unspecified Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:


pt_mapping_remove frees page table frames without any synchronization. This is incorrect on SMP systems. On some platfroms, intermediate page table addresses may be cached in TLB. On all platforms, a concurrent page table walk on another CPU could access page table contents after the frame has been recycled.

To solve this issue, the function needs to perform TLB shootdown after the empty page table is removed from the tree, but before it is freed.

Change History (2)

comment:1 Changed 4 years ago by Jiří Zárevúcky

Resolution: invalid
Status: newclosed

Nope, I just misunderstood how TLB shootdown works. Ignore this.

comment:2 Changed 4 years ago by Jakub Jermář

Milestone: 0.7.2
Note: See TracTickets for help on using tickets.