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 19:29:34 +0000 (21:29 +0200)
commit8af649756f92d956a4c418bbd1817954cffa4ef5
treebc0f4ca8c33db6fdda85e2a4012a93e6b874a90a
parentb6c134f254fcc60d0474e037af5e62c94931d743
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>
(cherry picked from commit d600de3ddde269bf0b324735f8f12278f82d9b37)
target/linux/generic/backport-4.14/080-net-convert-sock.sk_wmem_alloc-from-atomic_t-to-refc.patch [new file with mode: 0644]