ppp: Remove direct skb_queue_head list pointer access.

Add a helper, __skb_peek(), and use it in ppp_mp_reconstruct().

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2018-08-11 18:43:38 -07:00
parent 0c69198d81
commit 8b69bd7d8a
2 changed files with 12 additions and 1 deletions

View File

@ -2400,7 +2400,7 @@ ppp_mp_reconstruct(struct ppp *ppp)
if (ppp->mrru == 0) /* do nothing until mrru is set */ if (ppp->mrru == 0) /* do nothing until mrru is set */
return NULL; return NULL;
head = list->next; head = __skb_peek(list);
tail = NULL; tail = NULL;
skb_queue_walk_safe(list, p, tmp) { skb_queue_walk_safe(list, p, tmp) {
again: again:

View File

@ -1592,6 +1592,17 @@ static inline struct sk_buff *skb_peek(const struct sk_buff_head *list_)
return skb; return skb;
} }
/**
* __skb_peek - peek at the head of a non-empty &sk_buff_head
* @list_: list to peek at
*
* Like skb_peek(), but the caller knows that the list is not empty.
*/
static inline struct sk_buff *__skb_peek(const struct sk_buff_head *list_)
{
return list_->next;
}
/** /**
* skb_peek_next - peek skb following the given one from a queue * skb_peek_next - peek skb following the given one from a queue
* @skb: skb to start from * @skb: skb to start from