Certainly something is very wrong with the numbers. Looking at the numbers reported we get 5/13/-17/0 which sums up to 1 which is exactly the refcount complained about. But looking at the individual numbers, the counter for CPU#0 starts with 5 not 0.
And just adding up the dev_hold and dev_put calls I underrun down to -4. So it looks a bit like some magic suddenly warps the counter and we release more often than we appear to take the reference and still end up one too high.
It is a bit too late to think about it but maybe loopback gets assigned elements from another interface and that count is off by one.
Certainly something is very wrong with the numbers. Looking at the numbers reported we get 5/13/-17/0 which sums up to 1 which is exactly the refcount complained about. But looking at the individual numbers, the counter for CPU#0 starts with 5 not 0.
And just adding up the dev_hold and dev_put calls I underrun down to -4. So it looks a bit like some magic suddenly warps the counter and we release more often than we appear to take the reference and still end up one too high.
It is a bit too late to think about it but maybe loopback gets assigned elements from another interface and that count is off by one.