ab->ctx   = ctx; nlh = (struct nlmsghdr *)skb_put(ab->skb, NLMSG_SPACE(0)); nlh->nlmsg_type = type; nlh->nlmsg_flags = 0; nlh->nlmsg_pid = 0; nlh->nlmsg_seq = 0; 
static struct audit_buffer * audit_buffer_alloc(int gfp_mask){	unsigned long flags;	struct audit_buffer *ab = NULL;	spin_lock_irqsave(&audit_freelist_lock, flags);	if (!list_empty(&audit_freelist)) {		ab = list_entry(audit_freelist.next,				struct audit_buffer, list);		list_del(&ab->list);		--audit_freelist_count;	}	spin_unlock_irqrestore(&audit_freelist_lock, flags);	if (!ab) {		ab = kmalloc(sizeof(*ab), gfp_mask);		if (!ab)			goto err;	}	atomic_inc(&audit_backlog);	ab->skb = alloc_skb(AUDIT_BUFSIZ, gfp_mask);	if (!ab->skb)		goto err;	return ab;err:	audit_buffer_free(ab);	return NULL;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/c04049939f88b29e235d2da217bce6e8ead44f32/audit.c/buggy/kernel/audit.c