if (thread) { char *p = (char *)thread; memzero(p+KERNEL_STACK_SIZE, KERNEL_STACK_SIZE); }
if (thread) memzero(thread, THREAD_SIZE);
struct thread_info *alloc_thread_info(struct task_struct *task){	struct thread_info *thread = NULL;	if (EXTRA_TASK_STRUCT) {		unsigned long *p = thread_info_head;		if (p) {			thread_info_head = (unsigned long *)p[0];			nr_thread_info -= 1;		}		thread = (struct thread_info *)p;	}	if (!thread)		thread = ll_alloc_task_struct();#ifdef CONFIG_MAGIC_SYSRQ	/*	 * The stack must be cleared if you want SYSRQ-T to	 * give sensible stack usage information	 */	if (thread) {		char *p = (char *)thread;		memzero(p+KERNEL_STACK_SIZE, KERNEL_STACK_SIZE);	}#endif	return thread;}