From patchwork Wed May 29 21:09:03 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Davidlohr Bueso X-Patchwork-Id: 247400 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id E29532C0335 for ; Thu, 30 May 2013 07:09:18 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967031Ab3E2VIv (ORCPT ); Wed, 29 May 2013 17:08:51 -0400 Received: from g1t0028.austin.hp.com ([15.216.28.35]:33613 "EHLO g1t0028.austin.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966887Ab3E2VIs (ORCPT ); Wed, 29 May 2013 17:08:48 -0400 Received: from g1t0038.austin.hp.com (g1t0038.austin.hp.com [16.236.32.44]) by g1t0028.austin.hp.com (Postfix) with ESMTP id 66E5E1C1B0; Wed, 29 May 2013 21:08:47 +0000 (UTC) Received: from [16.108.158.180] (unknown [16.108.158.180]) by g1t0038.austin.hp.com (Postfix) with ESMTP id E25CB3015D; Wed, 29 May 2013 21:08:46 +0000 (UTC) Message-ID: <1369861743.4188.33.camel@buesod1.americas.hpqcorp.net> Subject: [PATCH] net: skbuff: use _RET_IP_ From: Davidlohr Bueso To: "David S. Miller" Cc: Eric Dumazet , netdev@vger.kernel.org, LKML Date: Wed, 29 May 2013 14:09:03 -0700 X-Mailer: Evolution 3.4.4 (3.4.4-2.fc17) Mime-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Use the already defined macro to pass the function return address. Signed-off-by: Davidlohr Bueso --- net/core/skbuff.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/net/core/skbuff.c b/net/core/skbuff.c index af9185d..0d06850 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -116,22 +116,22 @@ static const struct pipe_buf_operations sock_pipe_buf_ops = { * Keep out of line to prevent kernel bloat. * __builtin_return_address is not used because it is not always reliable. */ -static void skb_panic(struct sk_buff *skb, unsigned int sz, void *addr, +static void skb_panic(struct sk_buff *skb, unsigned int sz, unsigned long addr, const char msg[]) { - pr_emerg("%s: text:%p len:%d put:%d head:%p data:%p tail:%#lx end:%#lx dev:%s\n", + pr_emerg("%s: text:0x%lx len:%d put:%d head:%p data:%p tail:%#lx end:%#lx dev:%s\n", msg, addr, skb->len, sz, skb->head, skb->data, (unsigned long)skb->tail, (unsigned long)skb->end, skb->dev ? skb->dev->name : ""); BUG(); } -static void skb_over_panic(struct sk_buff *skb, unsigned int sz, void *addr) +static void skb_over_panic(struct sk_buff *skb, unsigned int sz, unsigned long addr) { skb_panic(skb, sz, addr, __func__); } -static void skb_under_panic(struct sk_buff *skb, unsigned int sz, void *addr) +static void skb_under_panic(struct sk_buff *skb, unsigned int sz, unsigned long addr) { skb_panic(skb, sz, addr, __func__); } @@ -646,7 +646,7 @@ void kfree_skb(struct sk_buff *skb) smp_rmb(); else if (likely(!atomic_dec_and_test(&skb->users))) return; - trace_kfree_skb(skb, __builtin_return_address(0)); + trace_kfree_skb(skb, (void *) _RET_IP_); __kfree_skb(skb); } EXPORT_SYMBOL(kfree_skb); @@ -1279,7 +1279,7 @@ unsigned char *skb_put(struct sk_buff *skb, unsigned int len) skb->tail += len; skb->len += len; if (unlikely(skb->tail > skb->end)) - skb_over_panic(skb, len, __builtin_return_address(0)); + skb_over_panic(skb, len, _RET_IP_); return tmp; } EXPORT_SYMBOL(skb_put); @@ -1298,7 +1298,7 @@ unsigned char *skb_push(struct sk_buff *skb, unsigned int len) skb->data -= len; skb->len += len; if (unlikely(skb->datahead)) - skb_under_panic(skb, len, __builtin_return_address(0)); + skb_under_panic(skb, len, _RET_IP_); return skb->data; } EXPORT_SYMBOL(skb_push);