/* Returns 0 (no space) on failed expansion, or available space if successful.  */
static int audit_expand(struct audit_buffer *ab, int extra)
/* Returns 0 (no space) on failed expansion, or available space if successful.  */
static int audit_expand(struct audit_buffer *ab, int extra)
{
	struct sk_buff *skb = ab->skb;
	int oldtail = skb_tailroom(skb);
	int ret = pskb_expand_head(skb, 0, extra, ab->gfp_mask);
	int newtail = skb_tailroom(skb);
	if (ret < 0) {
		audit_log_lost("out of memory in audit_expand");
		return 0;
	}
	skb->truesize += newtail - oldtail;
	return newtail;
}