mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Kenny Wottrich <kenny.wottrich@gmail.com>
To: peterz@infradead.org
Cc: andrew.cooper3@citrix.com, bp@alien8.de,
	linux-kernel@vger.kernel.org, ronan@rjp.ie, x86@kernel.org
Subject: Re: UMIP and clearcpuid=
Date: Mon, 17 Aug 2026 16:39:19 -0500	[thread overview]
Message-ID: <gNOrx0FSTPiiObNW-kXX5g@gmail.com> (raw)
In-Reply-To: <20260814132316.GZ687043@noisy.programming.kicks-ass.net>

On Fri, Aug 14, 2026 at 01:50:45PM +0200, Peter Zijlstra wrote:
> When I first found this (a few weeks ago, during holidays), the forum
> post seemed to have a little more detail, specifically there was some
> patch to 'fix' the UMIP spoofing. I cannot readily find that now.

The post in question is here:
https://cs.rin.ru/forum/viewtopic.php?p=3550884#p3550884

The relevant analysis is included in the patch in the linked gist:
https://gist.github.com/ChrisTX/bb4a26c4e66dc46f716b0150a53bea8e

> At the moment, a GDT limit of 0 is returned, to indicate that the GDT
> descriptor is bogus, since the base address is bogus.

> However, a GDT limit of 0 still implies that the GDT descriptor at the
> returned base is one byte long, since the GDT limit specifies the last byte
> of the GDT descriptor. This is specifically pointed out in the Intel Software
> Architecture manual.

> Since GDT limits should, according to the Intel Software Architecture
> manual, be a multiple of 8 bytes minus 1, a limit of 0 is also unexpected
> for that reason.

> Certain digital rights management software appears to use the GDT limit as a
> data point to lock the system to, this choice of 0 has the practical effect
> that switching UMIP on or off can make a reauthorisation necessary.

> As the GDT limit is hardcoded to be (GDT_ENTRIES * 8) - 1 anyway, we can
> just as well return GDT_SIZE - 1 and thus return the same limit regardless
> of whether UMIP is on or off, thus avoiding this spurious difference between
> both states. This also aligns with what software should expect the GDT limit
> to be according to the manual.



  reply	other threads:[~2026-08-17 21:39 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-10 19:46 Ronan Pigott
2026-06-10 20:00 ` Borislav Petkov
2026-06-10 20:41   ` Ronan Pigott
2026-06-10 23:55     ` Borislav Petkov
2026-06-11  7:53       ` Peter Zijlstra
2026-06-11 16:09         ` Borislav Petkov
2026-06-11 18:37           ` Peter Zijlstra
2026-06-12  2:21             ` Borislav Petkov
2026-06-12  6:42               ` Peter Zijlstra
2026-06-12 14:49                 ` Borislav Petkov
2026-08-14 11:50             ` Peter Zijlstra
2026-08-14 12:12               ` Peter Zijlstra
2026-08-14 12:57                 ` Andrew Cooper
2026-08-14 13:23                   ` Peter Zijlstra
2026-08-17 21:39                     ` Kenny Wottrich [this message]
2026-08-14 12:19             ` Peter Zijlstra

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=gNOrx0FSTPiiObNW-kXX5g@gmail.com \
    --to=kenny.wottrich@gmail.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=bp@alien8.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=ronan@rjp.ie \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®