]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
Merge branch 'skb_expand_head'
authorDavid S. Miller <davem@davemloft.net>
Tue, 3 Aug 2021 10:21:39 +0000 (11:21 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 3 Aug 2021 10:21:39 +0000 (11:21 +0100)
commit07e1d6b3e0203a47128dd7d490e73ebe6dae7c4d
treedf5e158b6f812e8d1de3d432fa44629f30fe47a2
parentfa976624ae7b6226d080ad21adb306ccb640a5ed
parenta1e975e117ad657dedafed2ab64ce4ddccc9883b
Merge branch 'skb_expand_head'

Vasily Averin says:

====================
skbuff: introduce skb_expand_head()

currently if skb does not have enough headroom skb_realloc_headrom is called.
It is not optimal because it creates new skb.

this patch set introduces new helper skb_expand_head()
Unlike skb_realloc_headroom, it does not allocate a new skb if possible;
copies skb->sk on new skb when as needed and frees original skb in case of failures.

This helps to simplify ip[6]_finish_output2(), ip6_xmit() and few other
functions in vrf, ax25 and bpf.

There are few other cases where this helper can be used
but it requires an additional investigations.

v3 changes:
 - ax25 compilation warning fixed
 - v5.14-rc4 rebase
 - now it does not depend on non-committed pathces

v2 changes:
 - helper's name was changed to skb_expand_head
 - fixed few mistakes inside skb_expand_head():
    skb_set_owner_w should set sk on nskb
    kfree was replaced by kfree_skb()
    improved warning message
 - added minor refactoring in changed functions in vrf and bpf patches
 - removed kfree_skb() in ax25_rt_build_path caller ax25_ip_xmit
====================

Signed-off-by: David S. Miller <davem@davemloft.net>