|
@@ -28,6 +28,13 @@ struct user_desc {
|
|
|
unsigned int seg_not_present:1;
|
|
|
unsigned int useable:1;
|
|
|
#ifdef __x86_64__
|
|
|
+ /*
|
|
|
+ * Because this bit is not present in 32-bit user code, user
|
|
|
+ * programs can pass uninitialized values here. Therefore, in
|
|
|
+ * any context in which a user_desc comes from a 32-bit program,
|
|
|
+ * the kernel must act as though lm == 0, regardless of the
|
|
|
+ * actual value.
|
|
|
+ */
|
|
|
unsigned int lm:1;
|
|
|
#endif
|
|
|
};
|