Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 352406
b: refs/heads/master
c: f05de73
h: refs/heads/master
v: v3
  • Loading branch information
Jean Sacren authored and David S. Miller committed Feb 12, 2013
1 parent 04a74b2 commit cd2e2ec
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 30 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7e307c67c94619fa53b22735673fbf99b427e760
refs/heads/master: f05de73bf82fbbc00265c06d12efb7273f7dc54a
48 changes: 19 additions & 29 deletions trunk/net/core/skbuff.c
Original file line number Diff line number Diff line change
Expand Up @@ -104,47 +104,37 @@ static const struct pipe_buf_operations sock_pipe_buf_ops = {
.get = sock_pipe_buf_get,
};

/*
* Keep out-of-line to prevent kernel bloat.
* __builtin_return_address is not used because it is not always
* reliable.
*/

/**
* skb_over_panic - private function
* @skb: buffer
* @sz: size
* @here: address
*
* Out of line support code for skb_put(). Not user callable.
* skb_panic - private function for out-of-line support
* @skb: buffer
* @sz: size
* @addr: address
* @panic: skb_over_panic or skb_under_panic
*
* Out-of-line support for skb_put() and skb_push().
* Called via the wrapper skb_over_panic() or skb_under_panic().
* Keep out of line to prevent kernel bloat.
* __builtin_return_address is not used because it is not always reliable.
*/
static void skb_over_panic(struct sk_buff *skb, int sz, void *here)
static void skb_panic(struct sk_buff *skb, unsigned int sz, void *addr,
const char panic[])
{
pr_emerg("%s: text:%p len:%d put:%d head:%p data:%p tail:%#lx end:%#lx dev:%s\n",
__func__, here, skb->len, sz, skb->head, skb->data,
panic, addr, skb->len, sz, skb->head, skb->data,
(unsigned long)skb->tail, (unsigned long)skb->end,
skb->dev ? skb->dev->name : "<NULL>");
BUG();
}

/**
* skb_under_panic - private function
* @skb: buffer
* @sz: size
* @here: address
*
* Out of line support code for skb_push(). Not user callable.
*/

static void skb_under_panic(struct sk_buff *skb, int sz, void *here)
static void skb_over_panic(struct sk_buff *skb, unsigned int sz, void *addr)
{
pr_emerg("%s: text:%p len:%d put:%d head:%p data:%p tail:%#lx end:%#lx dev:%s\n",
__func__, here, skb->len, sz, skb->head, skb->data,
(unsigned long)skb->tail, (unsigned long)skb->end,
skb->dev ? skb->dev->name : "<NULL>");
BUG();
skb_panic(skb, sz, addr, __func__);
}

static void skb_under_panic(struct sk_buff *skb, unsigned int sz, void *addr)
{
skb_panic(skb, sz, addr, __func__);
}

/*
* kmalloc_reserve is a wrapper around kmalloc_node_track_caller that tells
Expand Down

0 comments on commit cd2e2ec

Please sign in to comment.