mm, x86/vdso: Special IO mapping improvements
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v3 Latest7 patches 2 repliesIn review
- v26 patches 2 repliesSuperseded
- v16 patches 4 repliesSuperseded
Changes in v3 from the cover letter
- Added patch 1, which is needed in -tip to fix the build
- Fixed -EBUSY handling in vvar's .fault.
Patches in v3 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/7 | x86/vsdo: Fix build on PARAVIRT_CLOCK=y, KVM_GUEST=narch/ | +1 | 1 reply | |
| 2/7 | mm: Add a vm_special_mapping .fault methodinclude/ mm/ | +28 | 0 replies | |
| 3/7 | mm: Add vm_insert_pfn_protinclude/ mm/ | +25 | 0 replies | |
| 4/7 | x86/vdso: Track each mm's loaded vdso image as well as its basearch/ arch/ | +3 | 0 replies | |
| 5/7 | x86,vdso: Use .fault for the vdso text mappingarch/ arch/ arch/ | +19 | 0 replies | |
| 6/7 | x86,vdso: Use .fault instead of remap_pfn_range for the vvar mappingarch/ | +57 | 0 replies | |
| 7/7 | x86/vdso: Disallow vvar access to vclock IO for never-used vclocksarch/ arch/ arch/ +1 more | +21 | 0 replies |
Reviews trailers per patch
1 of 7 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Andrew Morton | Kees Cook | Borislav Petkov |
|---|---|---|---|
| Series | R-b | ||
| 1/7 | T-b | ||
| 2/7 | |||
| 3/7 | A-b | ||
| 4/7 | |||
| 5/7 | |||
| 6/7 | |||
| 7/7 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.
Cover letter [PATCH v3 0/7] mm, x86/vdso: Special IO mapping improvements
This applies on top of the earlier vdso pvclock series I sent out. Once that lands in -tip, this will apply to -tip.
This series cleans up the hack that is our vvar mapping. We currently initialize the vvar mapping as a special mapping vma backed by nothing whatsoever and then we abuse remap_pfn_range to populate it.
This cheats the mm core, probably breaks under various evil madvise workloads, and prevents handling faults in more interesting ways.
To clean it up, this series:
- Adds a special mapping .fault operation
- Adds a vm_insert_pfn_prot helper
- Uses the new .fault infrastructure in x86's vdso and vvar mappings
- Hardens the HPET mapping, mitigating an HW attack surface that bothers me
Changes from v2:
- Added patch 1, which is needed in -tip to fix the build
- Fixed -EBUSY handling in vvar's .fault.
Changes from v1:
- Lots of changelog clarification requested by akpm
- Minor tweaks to style and comments in the first two patches
Andy Lutomirski (7):
x86/vsdo: Fix build on PARAVIRT_CLOCK=y, KVM_GUEST=n
mm: Add a vm_special_mapping .fault method
mm: Add vm_insert_pfn_prot
x86/vdso: Track each mm's loaded vdso image as well as its base x86,vdso: Use .fault for the vdso text mapping
x86,vdso: Use .fault instead of remap_pfn_range for the vvar mapping x86/vdso: Disallow vvar access to vclock IO for never-used vclocks
arch/x86/entry/vdso/vdso2c.h | 7 -- arch/x86/entry/vdso/vma.c | 124 ++++++++++++++++++++------------ arch/x86/entry/vsyscall/vsyscall_gtod.c | 9 ++- arch/x86/include/asm/clocksource.h | 9 +-- arch/x86/include/asm/mmu.h | 3 +- arch/x86/include/asm/pvclock.h | 2 +- arch/x86/include/asm/vdso.h | 3 - arch/x86/include/asm/vgtod.h | 6 ++ include/linux/mm.h | 2 + include/linux/mm_types.h | 22 +++++- mm/memory.c | 25 ++++++- mm/mmap.c | 13 ++-- 12 files changed, 152 insertions(+), 73 deletions(-)
Signature · 1 line
2.5.0