Skip to content

Xen iopl fixes

Andy Lutomirski lkml stable 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v4 Latest3 patches 1 replyIn review

Changes in v4 from the cover letter

- Add Jan's R-b.
- No longer embargoed

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3selftests/x86: Add a iopl testtools/testing/selftests/x86/Makefile tools/testing/selftests/x86/iopl.c+136 -10 replies
2/3x86/iopl/64: Properly context-switch IOPL on Xen PVarch/x86/include/asm/xen/hypervisor.h arch/x86/kernel/process_64.c arch/x86/xen/enlighten.c+15 -11 reply
3/3x86/iopl: Fix iopl capability check on Xen PVarch/x86/kernel/ioport.c+9 -30 replies

Reviews trailers per patch

None of the 3 patches has a Reviewed-by or Acked-by.

PatchJan Beulich
1/3
2/3Reviewewd-by
3/3Reviewewd-by

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [PATCH v4 0/3] Xen iopl fixes

Hi all-

For those who are seeing this for the first time: any 64-bit Xen PV domain with IO port access privileges (in practice, this means dom0 AFAIK) and any user programs that use iopl(3) (various old X drivers, presumably) is probably vulnerable to privilege escalations by unprivileged programs running in the same PV domain.

There's a long public description of the issue here:

http://xenbits.xen.org/xsa/advisory-171.html

Changes from v3:
- Add Jan's R-b.
- No longer embargoed

Changes from v2: Pretend v2 never happened...

Changes from v1: Use xen/hypervisor.h instead of xen-ops.h (Jan)

Andy Lutomirski (3):
selftests/x86: Add a iopl test
x86/iopl/64: Properly context-switch IOPL on Xen PV x86/iopl: Fix iopl capability check on Xen PV

 arch/x86/include/asm/xen/hypervisor.h |   2 +
 arch/x86/kernel/ioport.c              |  12 ++-
 arch/x86/kernel/process_64.c          |  12 +++
 arch/x86/xen/enlighten.c              |   2 +-
 tools/testing/selftests/x86/Makefile  |   2 +-
 tools/testing/selftests/x86/iopl.c    | 135 ++++++++++++++++++++++++++++++++++
 6 files changed, 160 insertions(+), 5 deletions(-)
 create mode 100644 tools/testing/selftests/x86/iopl.c
Signature · 1 line
2.5.0