ladybird/Base/usr/share/man/man1
Andreas Kling f598bbbb1d Kernel: Prevent executing I/O instructions in userspace
All threads were running with iomapbase=0 in their TSS, which the CPU
interprets as "there's an I/O permission bitmap starting at offset 0
into my TSS".

Because of that, any bits that were 1 inside the TSS would allow the
thread to execute I/O instructions on the port with that bit index.

Fix this by always setting the iomapbase to sizeof(TSS32), and also
setting the TSS descriptor's limit to sizeof(TSS32), effectively making
the I/O permissions bitmap zero-length.

This should make it no longer possible to do I/O from userspace. :^)
2020-01-01 17:31:41 +01:00
..
avol.md Docs: Add avol(1) 2019-11-22 21:52:52 +01:00
cal.md Docs: Add cal(1) man page 2019-12-24 11:48:16 +01:00
crash.md Kernel: Prevent executing I/O instructions in userspace 2020-01-01 17:31:41 +01:00
echo.md Base: Write some initial man pages 2019-09-28 18:29:42 +02:00
keymap.md Base: Add man page for keymap(1) 2019-12-30 14:02:00 +01:00
man.md Help+man.md: Add man sections 2019-09-30 21:38:39 +02:00
md.md Base: Fix minor typos in man pages 2019-09-28 23:06:22 +02:00
mkdir.md Base: Add some "See also" links to the man pages 2019-10-03 08:23:54 +02:00
modload.md Base: Describe kernel modules, syscalls, and programs 2019-12-24 11:52:01 +01:00
modunload.md Base: Describe kernel modules, syscalls, and programs 2019-12-24 11:52:01 +01:00
syscall.md Base: Remove misplaced backtick in syscall(1) 2019-12-30 14:15:18 +01:00
uname.md Docs: Add uname(1) and uname(2) man pages 2019-11-17 19:48:11 +01:00