static struct sk_buff *
clean_clone_or_copy(struct sk_buff *skb) {
if (skb != NULL)
- SKB_CB(skb)->tracked = 0;
+ M_FLAG_CLR(skb, M_SKB_TRACKED);
return skb;
}
"ERROR: NULL skb received. Skipping.");
return NULL;
}
- if (SKB_CB(skb)->tracked) {
+ if (M_FLAG_GET(skb, M_SKB_TRACKED)) {
skb_print_message(0 /* show_counter */,
skb, func1, line1, func2, line2,
"ERROR: Already tracked skb received. Skipping.");
}
atomic_inc(&skb_total_counter);
atomic_inc(&skb_refs_counter);
- SKB_CB(skb)->tracked = 1;
+ M_FLAG_SET(skb, M_SKB_TRACKED);
print_skb_trackchange_message(skb, users_adjustment,
func1, line1, func2, line2,
" is now ** TRACKED **");
"ERROR: NULL skb received. No changes made.");
return NULL;
}
- if (!SKB_CB(skb)->tracked) {
+ if (!M_FLAG_GET(skb, M_SKB_TRACKED)) {
skb_print_message(0 /* show_counter */,
skb, func1, line1, func2, line2,
"ERROR: Untracked skb received. No changes made.");
}
atomic_dec(&skb_total_counter);
atomic_dec(&skb_refs_counter);
- SKB_CB(skb)->tracked = 0;
+ M_FLAG_CLR(skb, M_SKB_TRACKED);
#ifdef IEEE80211_DEBUG_REFCNT_SKBDEST
/* Uninstall our debug destructor, restoring any original... */
if (skb->destructor == skb_destructor) {
dump_stack();
return;
}
- if (!SKB_CB(skb)->tracked) {
+ if (!M_FLAG_GET(skb, M_SKB_TRACKED)) {
skb_print_message(0 /* show_counter */,
skb, func1, line1, func2, line2,
"ERROR: Untracked skb received. Probable duplicate free error!");
dump_stack();
return NULL;
}
- if (!SKB_CB(skb)->tracked) {
+ if (!M_FLAG_GET(skb, M_SKB_TRACKED)) {
skb_print_message(0 /* show_counter */,
skb, func1, line1, func2, line2,
"ERROR: Untracked skb received. Probable use after free! "