Re: [PATCH 6/10] lguest code: the little linux hypervisor.

From: Zachary Amsden
Date: Fri Feb 09 2007 - 06:14:14 EST


Rusty Russell wrote:
On Fri, 2007-02-09 at 01:35 -0800, Andrew Morton wrote:
On Fri, 09 Feb 2007 20:20:27 +1100 Rusty Russell <rusty@xxxxxxxxxxxxxxx> wrote:

+#define log(...) \
+ do { \
+ mm_segment_t oldfs = get_fs(); \
+ char buf[100]; \
+ sprintf(buf, "lguest:" __VA_ARGS__); \
+ set_fs(KERNEL_DS); \
+ sys_write(1, buf, strlen(buf)); \
+ set_fs(oldfs); \
+ } while(0)
Due to gcc shortcomings, each instance of this will chew an additional 100
bytes of stack. Unless they fixed it recently. Is a bit of a timebomb. I
guess ksaprintf() could be used.

It also looks a bit, umm, innovative.

It's also unused 8)

It's an extremely useful macro for doing grossly invasive logging of the
guest. I'll drop it if you prefer.

Yes, it is a bit, umm, innovative. If it is going to be kept, even if just for devel logging, you should disable interrupts around it. Changing segments is not a normal thing to do.

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/