Re: Assignment of GDT entries

From: Zachary Amsden
Date: Thu Sep 14 2006 - 02:28:49 EST


Albert Cahalan wrote:
Eeeeeew.

So if I grabbed the first two slots before glibc got to
mess with them, glibc wouldn't break horribly?
If I grabbed one slot and glibc grabbed another, Wine
would be OK with the third instead of the second?

Glibc should allocate a slot just the same way, just like wine does as well. Glibc just usually gets its slot allocated first.


So basically it's not allowed to just grab the 3rd slot?

You can, but you should be prepared for it to fail as well.


What if I want to find out what is already in use?
Am I supposed to iterate over all 8191 possible
GDT entries? How do I even tell how many slots
are available without using them all up?

There are only 32 possible GDT entries in 32-bit i386 Linux, and only three of them are usable for userspace. You can't find out which slots are in use, but you can cause one to be allocated and returned to you. This seems like a perfectly reasonable API to me, why do you think it is so ugly?

Zach
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/