Re: [uml-devel] [PATCH 8/10] UML - Maintain own LDT entries

From: Blaisorblade
Date: Wed Nov 02 2005 - 14:46:29 EST


On Monday 31 October 2005 05:39, Jeff Dike wrote:
> From: Bodo Stroesser <bstroesser@xxxxxxxxxxxxxxxxxxx>
>
> Patch imlements full LDT handling in SKAS:
> * UML holds it's own LDT table, used to deliver data on
> modify_ldt(READ)
> * UML disables the default_ldt, inherited from the host (SKAS3)
> or resets LDT entries, set by host's clib and inherited in
> SKAS0
> * A new global variable skas_needs_stub is inserted, that
> can be used to decide, whether stub-pages must be supported
> or not.
> * Uses the syscall-stub to replace missing PTRACE_LDT (therefore,
> write_ldt_entry needs to be modified)
Two complaints against this patch (to be fixed afterwards, so I'm not CC'ing
akpm):

*) It reverts my cleanup and consolidation of ldt.c wrt. SKAS vs TT.

Or at least so I think (I must still give a proper look afterwards, and I'll
post patches). Actually it seems that this is done on purpose, but I don't
agree too much on this. I will see.

*) Doesn't compile on old GCC's - it uses anonymous unions:
(it's asm-um/ldt-i386.h).
> +
> +struct ldt_entry {
> + __u32 a;
> + __u32 b;
> +};

> +typedef struct uml_ldt {
> + int entry_count;
> + struct semaphore semaphore;
> + union {
> + struct ldt_entry * pages[LDT_PAGES_MAX];
> + struct ldt_entry entries[LDT_DIRECT_ENTRIES];
> + };
> +} uml_ldt_t;

Suggestions for almost free replacement of anonymous union:
> Index: 2.6.14-akpm/include/asm-um/ldt.h
> ===================================================================
> --- 2.6.14-akpm.orig/include/asm-um/ldt.h 2005-08-28 19:41:01.000000000
> -0400 +++ 2.6.14-akpm/include/asm-um/ldt.h 2005-10-28 17:31:07.000000000
AAAAAAAAAAAARGH!!!!!!!!!!!!!! This is supposed to be a _SYMLINK_!

--
Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!".
Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894)
http://www.user-mode-linux.org/~blaisorblade





___________________________________
Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB
http://mail.yahoo.it
-
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/