From ce4133177a2922c502d7feb78a1c169399c5560a Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Mon, 28 Jan 2008 20:47:09 -0800 Subject: [PATCH] --- yaml --- r: 81856 b: refs/heads/master c: 406a1d868001423c85a3165288e566e65f424fe6 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/kernel/audit.c | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 826162ca4a99..4e221ca0db6c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 29ffe1a5c52dae13b6efead97aab9b058f38fce4 +refs/heads/master: 406a1d868001423c85a3165288e566e65f424fe6 diff --git a/trunk/kernel/audit.c b/trunk/kernel/audit.c index f93c2713017d..801c946dd24b 100644 --- a/trunk/kernel/audit.c +++ b/trunk/kernel/audit.c @@ -1200,13 +1200,17 @@ struct audit_buffer *audit_log_start(struct audit_context *ctx, gfp_t gfp_mask, static inline int audit_expand(struct audit_buffer *ab, int extra) { struct sk_buff *skb = ab->skb; - int ret = pskb_expand_head(skb, skb_headroom(skb), extra, - ab->gfp_mask); + 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; } - return skb_tailroom(skb); + + skb->truesize += newtail - oldtail; + return newtail; } /*