Messages in this thread | | | Date | Thu, 05 Feb 2015 08:51:38 +0100 | From | "Michael Kerrisk (man-pages)" <> | Subject | Re: [PATCH manpages] modify_ldt.2: Clarify the lm bit's behavior |
| |
On 02/04/2015 10:53 PM, Andy Lutomirski wrote: > The lm bit should never have existed in the first place. Sigh.
Thanks, Andy. Applied in the branch.
Cheers,
Michael
> Signed-off-by: Andy Lutomirski <luto@amacapital.net> > --- > man2/modify_ldt.2 | 13 +++++++++++-- > 1 file changed, 11 insertions(+), 2 deletions(-) > > diff --git a/man2/modify_ldt.2 b/man2/modify_ldt.2 > index 1c2cf9cdef93..d6e0514973a6 100644 > --- a/man2/modify_ldt.2 > +++ b/man2/modify_ldt.2 > @@ -187,12 +187,21 @@ The normal use for > .BR modify_ldt (2) > is to run legacy 16-bit or segmented 32-bit code. > Not all kernels allow 16-bit segments to be installed, however. > +.PP > +Even on 64-bit kernels, > +.BR modify_ldt (2) > +cannot be used to create a long mode (i.e. 64-bit) code segment. The > +undocumented field "lm" in > +.IR user_desc > +is not useful, and, despite its name, does not result in a long mode segment. > .SH BUGS > On 64-bit kernels before Linux 3.19, > .\" commit e30ab185c490e9a9381385529e0fd32f0a399495 > -setting the "lm" padding bit in > +setting the "lm" bit in > .IR user_desc > -prevents the descriptor from being considered empty. > +prevents the descriptor from being considered empty. Keep in mind that the > +"lm" bit does not exist in the 32-bit headers, but these buggy kernels > +will still notice the bit even when set in a 32-bit process. > .SH SEE ALSO > .BR arch_prctl (2), > .BR set_thread_area (2), >
-- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/
| |