#define __init __attribute__ ((__section__ (".init.text")))
#define __initdata __attribute__ ((__section__ (".init.data")))
#define __exitdata __attribute__ ((__section__(".exit.data")))
#define __exit_call __attribute_used__ __attribute__ ((__section__ (".exitcall.exit")))
#ifdef MODULE
#define __exit __attribute__ ((__section__(".exit.text")))
#else
#define __exit __attribute_used__ __attribute__ ((__section__(".exit.text")))
#endif
其中,__init和__exit標記函數,__initdata和__exitdata標記數據。__init宏使內建模塊中的init函數在執行完成後釋放掉,不過可裝載的模塊是不受影響的。__exit宏會使那些內建到內核的模塊省略掉cleanup函數,不過和__init一樣,對loadable模塊沒影響。