mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-24 07:31:41 +00:00
net: convert sk_buff.users from atomic_t to refcount_t
refcount_t type and corresponding API should be used instead of atomic_t when the variable is used as a reference counter. This allows to avoid accidental refcounter overflows that might lead to use-after-free situations. Signed-off-by: Elena Reshetova <elena.reshetova@intel.com> Signed-off-by: Hans Liljestrand <ishkamiel@gmail.com> Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: David Windsor <dwindsor@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
53869cebce
commit
633547973f
21 changed files with 67 additions and 67 deletions
|
@ -277,7 +277,7 @@ static void zap_completion_queue(void)
|
|||
struct sk_buff *skb = clist;
|
||||
clist = clist->next;
|
||||
if (!skb_irq_freeable(skb)) {
|
||||
atomic_inc(&skb->users);
|
||||
refcount_inc(&skb->users);
|
||||
dev_kfree_skb_any(skb); /* put this one back */
|
||||
} else {
|
||||
__kfree_skb(skb);
|
||||
|
@ -309,7 +309,7 @@ repeat:
|
|||
return NULL;
|
||||
}
|
||||
|
||||
atomic_set(&skb->users, 1);
|
||||
refcount_set(&skb->users, 1);
|
||||
skb_reserve(skb, reserve);
|
||||
return skb;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue