On Fri, 09 Feb 2007 20:20:27 +1100 Rusty Russell <rusty at rustcorp.com.au> 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.