kernel: atm: pppoatm fix vc-mux connection failures
authorKevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Mon, 18 Jun 2018 09:08:05 +0000 (09:08 +0000)
committerJohn Crispin <john@phrozen.org>
Mon, 18 Jun 2018 13:27:15 +0000 (15:27 +0200)
commitd600de3ddde269bf0b324735f8f12278f82d9b37
tree0d857704734e02eed2e9ab68d79fe85ab755ee6f
parent0276e1f7608a2b5252aee0c92c9834a150582ffe
kernel: atm: pppoatm fix vc-mux connection failures

Backport a hot off the press upstream kernel ATM fix:

Preserve value of skb->truesize when accounting to vcc

"There's a hack in pskb_expand_head() to avoid adjusting skb->truesize
for certain skbs. Ideally it would cover ATM too. It doesn't. Just
stashing the accounted value and using it in atm_raw_pop() is probably
the easiest way to cope."

The issue was exposed by upstream with:

commit 14afee4b6092fde451ee17604e5f5c89da33e71e
Author: Reshetova, Elena <elena.reshetova@intel.com>
Date:   Fri Jun 30 13:08:00 2017 +0300

    net: convert sock.sk_wmem_alloc from atomic_t to refcount_t

But an earlier commit left the ticking timebomb:

158f323b9868 ("net: adjust skb->truesize in pskb_expand_head()

Sincerest thanks to Mathias Kresin <dev@kresin.me> for debugging
assistance and to David Woodhouse <dwmw2@infradead.org> for further
guidance, cajoling & patience in interpreting the debug I was giving him
and producing a fix!

Fixes FS#1567

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
target/linux/generic/backport-4.14/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch [new file with mode: 0644]