https://github.com/torvalds/linux
Revision 61a6bd83abf2f14b2a917b6a0279c88d299267af authored by Joerg Roedel on 14 September 2018, 10:59:14 UTC, committed by Thomas Gleixner on 14 September 2018, 15:08:45 UTC
This reverts commit 1f40a46cf47c12d93a5ad9dccd82bd36ff8f956a.

It turned out that this patch is not sufficient to enable PTI on 32 bit
systems with legacy 2-level page-tables. In this paging mode the huge-page
PTEs are in the top-level page-table directory, where also the mirroring to
the user-space page-table happens. So every huge PTE exits twice, in the
kernel and in the user page-table.

That means that accessed/dirty bits need to be fetched from two PTEs in
this mode to be safe, but this is not trivial to implement because it needs
changes to generic code just for the sake of enabling PTI with 32-bit
legacy paging. As all systems that need PTI should support PAE anyway,
remove support for PTI when 32-bit legacy paging is used.

Fixes: 7757d607c6b3 ('x86/pti: Allow CONFIG_PAGE_TABLE_ISOLATION for x86_32')
Reported-by: Meelis Roos <mroos@linux.ee>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: hpa@zytor.com
Cc: linux-mm@kvack.org
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Link: https://lkml.kernel.org/r/1536922754-31379-1-git-send-email-joro@8bytes.org

1 parent cf40361
History
Tip revision: 61a6bd83abf2f14b2a917b6a0279c88d299267af authored by Joerg Roedel on 14 September 2018, 10:59:14 UTC
Revert "x86/mm/legacy: Populate the user page-table with user pgd's"
Tip revision: 61a6bd8
File Mode Size
9p
adfs
affs
afs
autofs
befs
bfs
btrfs
cachefiles
ceph
cifs
coda
configfs
cramfs
crypto
debugfs
devpts
dlm
ecryptfs
efivarfs
efs
exofs
exportfs
ext2
ext4
f2fs
fat
freevxfs
fscache
fuse
gfs2
hfs
hfsplus
hostfs
hpfs
hugetlbfs
isofs
jbd2
jffs2
jfs
kernfs
lockd
minix
nfs
nfs_common
nfsd
nilfs2
nls
notify
ntfs
ocfs2
omfs
openpromfs
orangefs
overlayfs
proc
pstore
qnx4
qnx6
quota
ramfs
reiserfs
romfs
squashfs
sysfs
sysv
tracefs
ubifs
udf
ufs
xfs
Kconfig -rw-r--r-- 7.4 KB
Kconfig.binfmt -rw-r--r-- 7.2 KB
Makefile -rw-r--r-- 4.2 KB
aio.c -rw-r--r-- 54.4 KB
anon_inodes.c -rw-r--r-- 4.5 KB
attr.c -rw-r--r-- 9.7 KB
bad_inode.c -rw-r--r-- 5.3 KB
binfmt_aout.c -rw-r--r-- 10.8 KB
binfmt_elf.c -rw-r--r-- 63.7 KB
binfmt_elf_fdpic.c -rw-r--r-- 47.3 KB
binfmt_em86.c -rw-r--r-- 2.8 KB
binfmt_flat.c -rw-r--r-- 27.7 KB
binfmt_misc.c -rw-r--r-- 18.3 KB
binfmt_script.c -rw-r--r-- 3.0 KB
block_dev.c -rw-r--r-- 53.8 KB
buffer.c -rw-r--r-- 89.9 KB
char_dev.c -rw-r--r-- 16.6 KB
compat.c -rw-r--r-- 3.4 KB
compat_binfmt_elf.c -rw-r--r-- 3.4 KB
compat_ioctl.c -rw-r--r-- 41.1 KB
coredump.c -rw-r--r-- 21.2 KB
d_path.c -rw-r--r-- 11.2 KB
dax.c -rw-r--r-- 49.3 KB
dcache.c -rw-r--r-- 81.7 KB
dcookies.c -rw-r--r-- 7.0 KB
direct-io.c -rw-r--r-- 40.8 KB
drop_caches.c -rw-r--r-- 1.6 KB
eventfd.c -rw-r--r-- 10.8 KB
eventpoll.c -rw-r--r-- 62.8 KB
exec.c -rw-r--r-- 47.0 KB
fcntl.c -rw-r--r-- 23.3 KB
fhandle.c -rw-r--r-- 6.8 KB
file.c -rw-r--r-- 23.4 KB
file_table.c -rw-r--r-- 10.0 KB
filesystems.c -rw-r--r-- 6.2 KB
fs-writeback.c -rw-r--r-- 70.7 KB
fs_pin.c -rw-r--r-- 2.0 KB
fs_struct.c -rw-r--r-- 3.3 KB
inode.c -rw-r--r-- 56.6 KB
internal.h -rw-r--r-- 5.0 KB
ioctl.c -rw-r--r-- 17.5 KB
iomap.c -rw-r--r-- 52.1 KB
libfs.c -rw-r--r-- 31.8 KB
locks.c -rw-r--r-- 73.1 KB
mbcache.c -rw-r--r-- 12.0 KB
mount.h -rw-r--r-- 3.9 KB
mpage.c -rw-r--r-- 21.1 KB
namei.c -rw-r--r-- 123.0 KB
namespace.c -rw-r--r-- 84.3 KB
no-block.c -rw-r--r-- 688 bytes
nsfs.c -rw-r--r-- 6.2 KB
open.c -rw-r--r-- 28.4 KB
pipe.c -rw-r--r-- 26.9 KB
pnode.c -rw-r--r-- 15.3 KB
pnode.h -rw-r--r-- 1.9 KB
posix_acl.c -rw-r--r-- 21.4 KB
proc_namespace.c -rw-r--r-- 7.8 KB
read_write.c -rw-r--r-- 47.7 KB
readdir.c -rw-r--r-- 11.4 KB
select.c -rw-r--r-- 34.6 KB
seq_file.c -rw-r--r-- 24.4 KB
signalfd.c -rw-r--r-- 9.0 KB
splice.c -rw-r--r-- 39.6 KB
stack.c -rw-r--r-- 2.5 KB
stat.c -rw-r--r-- 19.3 KB
statfs.c -rw-r--r-- 9.7 KB
super.c -rw-r--r-- 40.4 KB
sync.c -rw-r--r-- 9.9 KB
timerfd.c -rw-r--r-- 13.4 KB
userfaultfd.c -rw-r--r-- 49.8 KB
utimes.c -rw-r--r-- 7.5 KB
xattr.c -rw-r--r-- 23.4 KB

back to top