On Tue, Apr 23, 2019 at 11:38:16PM +0200, Borislav Petkov wrote:
If that is all the changes it would need, then I guess that's ok. Btw, those rst-conversion patches don't really show what got changed. Dunno if git can even show that properly. I diffed the two files by hand to see what got changed, see end of mail.
That is not a happy diff; that table has gotten waay worse to read due to all that extra table crap.
--- mm.old 2019-04-23 23:18:55.954335784 +0200 +++ mm.new 2019-04-23 23:18:48.122335821 +0200 @@ -18,51 +18,68 @@ Notes: notation than "16 EB", which few will recognize at first sight as 16 exabytes. It also shows it nicely how incredibly large 64-bit address space is.
-========================================================================================================================
- Start addr | Offset | End addr | Size | VM area description
-========================================================================================================================
| | | |
- 0000000000000000 | 0 | 00007fffffffffff | 128 TB | user-space virtual memory, different per mm
-__________________|____________|__________________|_________|___________________________________________________________
| | | |
- 0000800000000000 | +128 TB | ffff7fffffffffff | ~16M TB | ... huge, almost 64 bits wide hole of non-canonical
| | | | virtual memory addresses up to the -128 TB
| | | | starting offset of kernel mappings.
-__________________|____________|__________________|_________|___________________________________________________________
|
| Kernel-space virtual memory, shared between all processes:
-____________________________________________________________|___________________________________________________________
| | | |
- ffff800000000000 | -128 TB | ffff87ffffffffff | 8 TB | ... guard hole, also reserved for hypervisor
- ffff880000000000 | -120 TB | ffff887fffffffff | 0.5 TB | LDT remap for PTI
- ffff888000000000 | -119.5 TB | ffffc87fffffffff | 64 TB | direct mapping of all physical memory (page_offset_base)
- ffffc88000000000 | -55.5 TB | ffffc8ffffffffff | 0.5 TB | ... unused hole
- ffffc90000000000 | -55 TB | ffffe8ffffffffff | 32 TB | vmalloc/ioremap space (vmalloc_base)
- ffffe90000000000 | -23 TB | ffffe9ffffffffff | 1 TB | ... unused hole
- ffffea0000000000 | -22 TB | ffffeaffffffffff | 1 TB | virtual memory map (vmemmap_base)
- ffffeb0000000000 | -21 TB | ffffebffffffffff | 1 TB | ... unused hole
- ffffec0000000000 | -20 TB | fffffbffffffffff | 16 TB | KASAN shadow memory
-__________________|____________|__________________|_________|____________________________________________________________
|
| Identical layout to the 56-bit one from here on:
-____________________________________________________________|____________________________________________________________
| | | |
- fffffc0000000000 | -4 TB | fffffdffffffffff | 2 TB | ... unused hole
| | | | vaddr_end for KASLR
- fffffe0000000000 | -2 TB | fffffe7fffffffff | 0.5 TB | cpu_entry_area mapping
- fffffe8000000000 | -1.5 TB | fffffeffffffffff | 0.5 TB | ... unused hole
- ffffff0000000000 | -1 TB | ffffff7fffffffff | 0.5 TB | %esp fixup stacks
- ffffff8000000000 | -512 GB | ffffffeeffffffff | 444 GB | ... unused hole
- ffffffef00000000 | -68 GB | fffffffeffffffff | 64 GB | EFI region mapping space
- ffffffff00000000 | -4 GB | ffffffff7fffffff | 2 GB | ... unused hole
- ffffffff80000000 | -2 GB | ffffffff9fffffff | 512 MB | kernel text mapping, mapped to physical address 0
- ffffffff80000000 |-2048 MB | | |
- ffffffffa0000000 |-1536 MB | fffffffffeffffff | 1520 MB | module mapping space
- ffffffffff000000 | -16 MB | | |
- FIXADDR_START | ~-11 MB | ffffffffff5fffff | ~0.5 MB | kernel-internal fixmap range, variable size and offset
- ffffffffff600000 | -10 MB | ffffffffff600fff | 4 kB | legacy vsyscall ABI
- ffffffffffe00000 | -2 MB | ffffffffffffffff | 2 MB | ... unused hole
-__________________|____________|__________________|_________|___________________________________________________________ ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +| Start addr | Offset | End addr | Size | VM area description | ++=================+============+==================+=========+===========================================================+ +| | | | | | +|0000000000000000 | 0 | 00007fffffffffff | 128 TB | user-space virtual memory, different per mm | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +| | | | | | +|0000800000000000 | +128 TB | ffff7fffffffffff | ~16M TB | ... huge, almost 64 bits wide hole of non-canonical | +| | | | | virtual memory addresses up to the -128 TB | +| | | | | starting offset of kernel mappings. | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +| **Kernel-space virtual memory, shared between all processes:** | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffff800000000000 | -128 TB | ffff87ffffffffff | 8 TB | ... guard hole, also reserved for hypervisor | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffff880000000000 | -120 TB | ffff887fffffffff | 0.5 TB | LDT remap for PTI | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffff888000000000 | -119.5 TB | ffffc87fffffffff | 64 TB | direct mapping of all physical memory (page_offset_base) | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffc88000000000 | -55.5 TB | ffffc8ffffffffff | 0.5 TB | ... unused hole | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffc90000000000 | -55 TB | ffffe8ffffffffff | 32 TB | vmalloc/ioremap space (vmalloc_base) | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffe90000000000 | -23 TB | ffffe9ffffffffff | 1 TB | ... unused hole | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffea0000000000 | -22 TB | ffffeaffffffffff | 1 TB | virtual memory map (vmemmap_base) | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffeb0000000000 | -21 TB | ffffebffffffffff | 1 TB | ... unused hole | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffec0000000000 | -20 TB | fffffbffffffffff | 16 TB | KASAN shadow memory | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +| **Identical layout to the 56-bit one from here on:** | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|fffffc0000000000 | -4 TB | fffffdffffffffff | 2 TB | ... unused hole | +| | | | | vaddr_end for KASLR | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|fffffe0000000000 | -2 TB | fffffe7fffffffff | 0.5 TB | cpu_entry_area mapping | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|fffffe8000000000 | -1.5 TB | fffffeffffffffff | 0.5 TB | ... unused hole | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffff0000000000 | -1 TB | ffffff7fffffffff | 0.5 TB | %esp fixup stacks | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffff8000000000 | -512 GB | ffffffeeffffffff | 444 GB | ... unused hole | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffffef00000000 | -68 GB | fffffffeffffffff | 64 GB | EFI region mapping space | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffffff00000000 | -4 GB | ffffffff7fffffff | 2 GB | ... unused hole | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffffff80000000 | -2 GB | ffffffff9fffffff | 512 MB | kernel text mapping, mapped to physical address 0 | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffffff80000000 |-2048 MB | | | | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffffffa0000000 |-1536 MB | fffffffffeffffff | 1520 MB | module mapping space | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffffffff000000 | -16 MB | | | | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +| FIXADDR_START | ~-11 MB | ffffffffff5fffff | ~0.5 MB | kernel-internal fixmap range, variable size and offset | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffffffff600000 | -10 MB | ffffffffff600fff | 4 kB | legacy vsyscall ABI | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+ +|ffffffffffe00000 | -2 MB | ffffffffffffffff | 2 MB | ... unused hole | ++-----------------+------------+------------------+---------+-----------------------------------------------------------+